Alterator/module/testing: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
 
(не показано 8 промежуточных версий 2 участников)
Строка 1: Строка 1:
===Тестирование модулей===
<onlyinclude>
Тестирование бакендов &mdash; отличается тем, что во время выполнения теста зачастую требуется менять конфигурацию отдельных системных компонент, поэтому всё тестирование модулей alterator происходит в виртуальной среде. Стандартное правило check-module:
=== Тестирование модулей ===
Тестирование бэкендов отличается от тестирования обычных библиотек тем, что во время выполнения теста зачастую требуется менять конфигурацию отдельных системных компонент, поэтому всё тестирование модулей 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 рекомендуется использовать библиотеку '''shell-unittest''' из '''libshell'''.
Как видно, вы можете использовать ту систему юнит-тестов, которая вам удобна. Для бэкендов на 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}}

Текущая версия от 09:53, 2 декабря 2008

Тестирование модулей

Тестирование бэкендов отличается от тестирования обычных библиотек тем, что во время выполнения теста зачастую требуется менять конфигурацию отдельных системных компонент, поэтому всё тестирование модулей alterator происходит в виртуальной среде.

Стандартное правило check-module:

  1. создаёт виртуальную среду, устанавливает необходимые пакеты
  2. копирует в эту среду содержимое вашего проекта
  3. запускает некий, указанный вами, скрипт, который и производит тестирование.

Поведение правила контролируется следующими переменными 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