Система тестирования izh_test
itr - программа для запуска тестов с консоли
Консольная утилита для запуска тестов (izh_test runner).
itr.exe Ver 1.2
Copyright (C) 2006 IzhSoft
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license
Usage: itr [OPTIONS]
-h, --help Display this help and exit.
--path=name Read tests from file .
--format=# Use output format #.
--test=name Use test by path .
-p, --print Print readable tests paths and exit.
--result_pos=# Use test result with position #.
-c, --clean Clean test results and exit.
-e, --erase Erase test results+etalons and exit.
-f, --fix Fix test result and exit.
-g, --gui Run gui tool to work with the tests.
-i, --ttimer Use test timer (for debugging).
-s, --skip_pwd Skip current directory in output (for debugging).
|
Опции:
help |
При запуске с этой опцией itr просто выводит короткую справку.
|
path |
Этот параметр указывает путь к файлу-описателю теста (izh_test descriptor)
Кроме того, путь можно задавать просто как параметр без всякого имени.
|
format |
Этот параметр задаёт формат вывода программы.
В настоящий момент поддерживаются следующие форматы:
Описание каждого формата, смотрите ниже.
|
test |
Опция позволяет указать путь до конкретного теста в дереве тестов.
|
print |
Опция позволяет распечатать все пути тестов для данного
пакета
.
|
result_pos |
Опция позволяет указать конкретный
результат теста
.
|
clean |
Опция позволяет почистить конкретный
результат теста
(удалить файл-результат и файл-разницу)
|
erase |
Опция позволяет полностью удалить конкретный
результат теста
(удалить файл-результат, файл-разницу и файл-эталон)
|
fix |
Опция позволяет исправить конкретный
результат теста
в соответствии с файлом-результатом
(т.е. просто копирует файл-результат вместо файла эталона)
|
gui |
Опция позволяет запустить
gui-утилиту
для работы с тестами
|
ttimer |
Опция заставляет использовать тестовую функцию времени
(используется только для отладки самого itr)
|
skip_pwd |
Опция указывает, что в выводе должны быть только
детерминированные пути (используется только для отладки самого itr)
|
Предположим, мы имеем следующий тест в файле с именем package.itd.xml:
<package>
<spec>
<sname>test short name for package</sname>
<fname>test full name for package</fname>
<descr>test descr for package</descr>
</spec>
<tests>
<empty_test>
<spec>
<sname>test short name 1</sname>
<fname>test full name 1</fname>
<descr>test descr 1</descr>
</spec>
</empty_test>
<fail>
<spec>
<sname>fail short name 1</sname>
<fname>fail full name 1</fname>
<descr>fail descr 1</descr>
</spec>
</fail>
<empty_test>
<spec>
<sname>test short name 2</sname>
<fname>test full name 2</fname>
<descr>test descr 2</descr>
</spec>
</empty_test>
<package>
<spec>
<sname>test short name for package 2</sname>
<fname>test full name for package 2</fname>
<descr>test descr for package 2</descr>
</spec>
<tests>
<empty_test>
<spec>
<sname>test short name 1 2</sname>
<fname>test full name 1 2</fname>
<descr>test descr 1 2</descr>
</spec>
</empty_test>
<empty_test>
<spec>
<sname>test short name 2 2</sname>
<fname>test full name 2 2</fname>
<descr>test descr 2 2</descr>
</spec>
</empty_test>
</tests>
</package>
</tests>
</package> |
По умолчанию itr будет описывать результат каждого теста :
>itr package.itd.xml
<------------------------------------------------------------------------------
- test full name for package 08:17:41,00
test full name 1 08:17:41,01 [ok]
fail full name 1 08:17:41,01 [fail]
test full name 2 08:17:41,01 [ok]
<------------------------------------------------------------------------------
- test full name for package 2 08:17:41,01
test full name 1 2 08:17:41,01 [ok]
test full name 2 2 08:17:41,01 [ok]
>--------------------------------------------------------------------------[ok]
>------------------------------------------------------------------------[fail]
|
Того же самого можно добиться, запустив тесты в формате default:
>itr package.itd.xml --format=default
<------------------------------------------------------------------------------
- test full name for package 08:17:41,00
test full name 1 08:17:41,01 [ok]
fail full name 1 08:17:41,01 [fail]
test full name 2 08:17:41,01 [ok]
<------------------------------------------------------------------------------
- test full name for package 2 08:17:41,01
test full name 1 2 08:17:41,01 [ok]
test full name 2 2 08:17:41,01 [ok]
>--------------------------------------------------------------------------[ok]
>------------------------------------------------------------------------[fail]
|
При запуске с форматом silence не выведется вообще ничего:
>itr package.itd.xml --format=silence
|
Однако результат тестирования можно узнать по коду возврата программы..
Тесты считаются пройденными успешно, если код возврата программы равен нулю.
Таким образом, формат silence удобно использовать из скриптов и пакетных файлов.
При запуске с форматом result распечатается просто конечный результат
тестирования, без разбивки на тесты:
>itr package.itd.xml --format=result
|test full name for package| - [fail]
|
Запуск с параметром --print позволяет увидеть список тестов, не запуская их:
>itr package.itd.xml --print
/test short name for package
/test short name for package/test short name 1
/test short name for package/fail short name 1
/test short name for package/test short name 2
/test short name for package/test short name for package 2
/test short name for package/test short name for package 2/test short name 1 2
/test short name for package/test short name for package 2/test short name 2 2
|
Опцию --print можно комбинировать с опцией --test:
>itr package.itd.xml --print --test="/test short name for package/test short name for package 2"
/test short name for package/test short name for package 2
/test short name for package/test short name for package 2/test short name 1 2
/test short name for package/test short name for package 2/test short name 2 2
|
Также опцию --test можно использовать просто для выполнения тестов:
>itr package.itd.xml --test="/test short name for package/test short name for package 2"
<------------------------------------------------------------------------------
- test full name for package 2 08:11:41,00
test full name 1 2 08:11:41,00 [ok]
test full name 2 2 08:11:41,01 [ok]
>--------------------------------------------------------------------------[ok]
|
Всеми остальными опциями не очень удобно пользоваться в консольном режиме,
они используются в основном для отладки. В случае их надобности рекомендуется запускать:
itr package.itd.xml --gui |