Alterator/module/testing: различия между версиями
Ilis (обсуждение | вклад) Нет описания правки |
|||
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
===Тестирование модулей=== | <onlyinclude> | ||
Тестирование | === Тестирование модулей === | ||
Тестирование бэкендов отличается от тестирования обычных библиотек тем, что во время выполнения теста зачастую требуется менять конфигурацию отдельных системных компонент, поэтому всё тестирование модулей alterator происходит в виртуальной среде. | |||
Стандартное правило {{term|check-module}}: | |||
# создаёт виртуальную среду, устанавливает необходимые пакеты | # создаёт виртуальную среду, устанавливает необходимые пакеты | ||
# копирует в эту среду содержимое вашего проекта | # копирует в эту среду содержимое вашего проекта | ||
# запускает некий, указанный вами, скрипт, который и производит тестирование. | # запускает некий, указанный вами, скрипт, который и производит тестирование. | ||
Поведение правила контролируется следующими переменными make: | Поведение правила контролируется следующими переменными {{prg|make}}: | ||
{| class="standard" | {| class="standard" | ||
! | !Переменная | ||
! | !Значение по умолчанию | ||
! | !Описание | ||
|- | |- | ||
|TEST_CONSTRUCTOR | |{{term|TEST_CONSTRUCTOR}} | ||
|/usr/share/alterator/build/unittest | |{{path|/usr/share/alterator/build/unittest}} | ||
| | |скрипт — конструктор виртуальной среды | ||
|- | |- | ||
|TEST_ENVIRONMENT | |{{term|TEST_ENVIRONMENT}} | ||
|hasher | |{{prg|hasher}} | ||
|вид виртуальной среды, на данный момент поддерживается только hasher | |вид виртуальной среды, на данный момент поддерживается только {{prg|hasher}} | ||
|- | |- | ||
|TEST_REQUIRES | |{{term|TEST_REQUIRES}} | ||
| | | | ||
|список пакетов устанавливаемых в виртуальную среду в дополнение к стандартным | |список пакетов устанавливаемых в виртуальную среду в дополнение к стандартным | ||
|- | |- | ||
|TEST_PROGRAM | |{{term|TEST_PROGRAM}} | ||
|./runtests | |{{path|./runtests}} | ||
|программа запускающая unit-тесты | |программа запускающая unit-тесты | ||
|- | |- | ||
|HASHER_WORKDIR | |{{term|HASHER_WORKDIR}} | ||
|$TMPDIR | |{{path|$TMPDIR}} | ||
|рабочий каталог hasher | |рабочий каталог {{prg|hasher}} | ||
|} | |} | ||
Как видно, вы можете использовать ту систему юнит-тестов, которая вам удобна. Для | Как видно, вы можете использовать ту систему юнит-тестов, которая вам удобна. Для бэкендов на shell рекомендуется использовать библиотеку {{prg|shell-unittest}} из {{prg|libshell}}. | ||
Пример Makefile из пакета alterator-control: | Пример {{path|Makefile}} из пакета {{prg|alterator-control}}: | ||
<pre> | <pre> | ||
NAME=control | NAME=control | ||
Строка 42: | Строка 44: | ||
all: | all: | ||
clean: clean-po | clean: | ||
install: install-module | clean-po | ||
check: check-module | install: | ||
install-module | |||
check: | |||
check-module | |||
include /usr/share/alterator/build/module.mak | include /usr/share/alterator/build/module.mak | ||
</pre> | </pre> | ||
</onlyinclude> | |||
{{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