Alterator/module/testing
Материал из ALT Linux Wiki
(Различия между версиями)
(→Тестирование модулей) |
Ilis (обсуждение | вклад) (→Тестирование модулей) |
||
Строка 1: | Строка 1: | ||
- | ===Тестирование модулей=== | + | === Тестирование модулей === |
- | Тестирование | + | Тестирование бэкендов отличается от тестирования обычных библиотек тем, что во время выполнения теста зачастую требуется менять конфигурацию отдельных системных компонент, поэтому всё тестирование модулей alterator происходит в виртуальной среде. |
+ | |||
+ | Стандартное правило '''check-module''': | ||
# создаёт виртуальную среду, устанавливает необходимые пакеты | # создаёт виртуальную среду, устанавливает необходимые пакеты | ||
# копирует в эту среду содержимое вашего проекта | # копирует в эту среду содержимое вашего проекта | ||
Строка 7: | Строка 9: | ||
Поведение правила контролируется следующими переменными make: | Поведение правила контролируется следующими переменными make: | ||
{| class="standard" | {| class="standard" | ||
- | ! | + | !Переменная |
- | ! | + | !Значение по умолчанию |
- | ! | + | !Описание |
|- | |- | ||
- | |TEST_CONSTRUCTOR | + | |<tt>TEST_CONSTRUCTOR</tt> |
- | |/usr/share/alterator/build/unittest | + | |<tt>/usr/share/alterator/build/unittest</tt> |
- | | | + | |скрипт — конструктор виртуальной среды |
|- | |- | ||
- | |TEST_ENVIRONMENT | + | |<tt>TEST_ENVIRONMENT</tt> |
- | |hasher | + | |<tt>hasher</tt> |
|вид виртуальной среды, на данный момент поддерживается только hasher | |вид виртуальной среды, на данный момент поддерживается только hasher | ||
|- | |- | ||
- | |TEST_REQUIRES | + | |<tt>TEST_REQUIRES</tt> |
| | | | ||
|список пакетов устанавливаемых в виртуальную среду в дополнение к стандартным | |список пакетов устанавливаемых в виртуальную среду в дополнение к стандартным | ||
|- | |- | ||
- | |TEST_PROGRAM | + | |<tt>TEST_PROGRAM</tt> |
- | |./runtests | + | |<tt>./runtests</tt> |
|программа запускающая unit-тесты | |программа запускающая unit-тесты | ||
|- | |- | ||
- | |HASHER_WORKDIR | + | |<tt>HASHER_WORKDIR</tt> |
- | |$TMPDIR | + | |<tt>$TMPDIR</tt> |
|рабочий каталог hasher | |рабочий каталог hasher | ||
- | |||
|} | |} | ||
- | Как видно, вы можете использовать ту систему юнит-тестов, которая вам удобна. Для | + | Как видно, вы можете использовать ту систему юнит-тестов, которая вам удобна. Для бэкендов на shell рекомендуется использовать библиотеку '''shell-unittest''' из '''libshell'''. |
Пример Makefile из пакета alterator-control: | Пример Makefile из пакета alterator-control: |
Версия 10:21, 18 ноября 2008
Тестирование модулей
Тестирование бэкендов отличается от тестирования обычных библиотек тем, что во время выполнения теста зачастую требуется менять конфигурацию отдельных системных компонент, поэтому всё тестирование модулей alterator происходит в виртуальной среде.
Стандартное правило check-module:
- создаёт виртуальную среду, устанавливает необходимые пакеты
- копирует в эту среду содержимое вашего проекта
- запускает некий, указанный вами, скрипт, который и производит тестирование.
Поведение правила контролируется следующими переменными make:
Переменная | Значение по умолчанию | Описание |
---|---|---|
TEST_CONSTRUCTOR | /usr/share/alterator/build/unittest | скрипт — конструктор виртуальной среды |
TEST_ENVIRONMENT | hasher | вид виртуальной среды, на данный момент поддерживается только hasher |
TEST_REQUIRES | список пакетов устанавливаемых в виртуальную среду в дополнение к стандартным | |
TEST_PROGRAM | ./runtests | программа запускающая unit-тесты |
HASHER_WORKDIR | $TMPDIR | рабочий каталог hasher |
Как видно, вы можете использовать ту систему юнит-тестов, которая вам удобна. Для бэкендов на shell рекомендуется использовать библиотеку shell-unittest из libshell.
Пример Makefile из пакета alterator-control:
NAME=control TEST_REQUIRES=control all: clean: clean-po install: install-module check: check-module include /usr/share/alterator/build/module.mak