Alterator/module/testing: различия между версиями
Ilis (обсуждение | вклад) (→Тестирование модулей: вроде Makefile с табуляциями должен быть?) |
Ilis (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
<onlyinclude> | |||
=== Тестирование модулей === | === Тестирование модулей === | ||
Тестирование бэкендов отличается от тестирования обычных библиотек тем, что во время выполнения теста зачастую требуется менять конфигурацию отдельных системных компонент, поэтому всё тестирование модулей alterator происходит в виртуальной среде. | Тестирование бэкендов отличается от тестирования обычных библиотек тем, что во время выполнения теста зачастую требуется менять конфигурацию отдельных системных компонент, поэтому всё тестирование модулей alterator происходит в виртуальной среде. | ||
Строка 52: | Строка 53: | ||
include /usr/share/alterator/build/module.mak | include /usr/share/alterator/build/module.mak | ||
</pre> | </pre> | ||
</onlyinclude> | |||
{{Alterator-nav}} | |||
{{Alterator modules-nav}} |
Текущая версия от 12:53, 2 декабря 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