Alt-test
Материал из ALT Linux Wiki
(Различия между версиями)
(→Комментарии в выводе) |
(→Комментарии в выводе) |
||
Строка 93: | Строка 93: | ||
append_comment "Комментарий" | append_comment "Комментарий" | ||
- | Имена вызываемых файлов с тестами выводятся в комментариях {{Since|1. | + | Имена вызываемых файлов с тестами выводятся в комментариях {{Since|1.1.1}}. |
= Советы и секреты = | = Советы и секреты = |
Версия 13:20, 7 ноября 2013
alt-test — инфраструктура тестирования ALT Linux на базе Tapper.
Программа распространяется под условиями лицензии GPLv3.
Использование:
alt-test [параметры] [тест1 ...]
Параметр | Описание |
---|---|
-l | Показать список доступных модулей тестирования |
-h | Справка по использованию |
-v | Показывать полный ход тестирования |
--version | Версия программы |
Тесты расположены в /usr/lib/alt-test.
Примечание:
С программой тестирования поставляются два теста: altlinux и selftest. Первый позволяет проверить, является ли текущая система дистрибутивом ALT Linux, вторая — показать заведомо непроходимые тесты
Содержание |
Пример запуска тестирования
alt-test altlinux alt-test -v selftest
Написание тестов
Файл теста имеет расширение .t и является скриптом на shell. Начинается со строки указания интерпретатора:
#!/bin/sh
Затем подключаются функции проверки:
. alt-test-functions
После этого следует одна или несколько проверок и заканчивается файл описания теста вызовом функции
test_end
Пример
#!/bin/sh . alt-test-functions test_file /etc/hosts test_exec ls test_package coreutils test_end
Проверки
Проверка | Описание |
---|---|
test_file <имя файла> [<описание при неудаче>] | проверить, существует ли файл |
test_exec <имя программы> [<описание при неудаче>] | проверить, существует ли исполняемая программа и доступна ли она для запуска |
test_package <имя пакета> [<описание при неудаче>] | проверить, установлен ли пакет в системе или существует на диске |
Переменные среды окружения
Переменная | Описание |
---|---|
TESTED_PACKAGE_SOURCE | Путь к файлу с образом ISO, где проверять наличие пакетов с версии 1.1.0 |
Полезные функции
Функция | Описание |
---|---|
get_package_version <имя пакета> | Получить версию и релиз установленного или существующего на диске пакета с версии 1.1.0 |
Универсальная проверка
<вызов программы> ok $? "<описание при неудаче>"
Комментарии в выводе
append_comment "Комментарий"
Имена вызываемых файлов с тестами выводятся в комментариях с версии 1.1.1 .
Советы и секреты
Потоковая обработка
Так как результаты тестов накапливаются в переменной $TAP, то при потоковой обработке избегайте использования subshell (например, в конвейерах):
Неправильно:
find /usr/share/applications -name \*.desktop | while read desktop_file; do test_desktop_l10n "$desktop_file" done
Правильно:
out="$(mktemp)" find /usr/share/applications -name \*.desktop > $out while read -r desktop_file; do test_desktop_l10n "$desktop_file" done < $out rm -f $out