SourceForge.net Logo
prevtopnext
Система тестирования 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)

Кроме того, путь можно задавать просто как параметр без всякого имени.
itr package.itd.xml
format

Этот параметр задаёт формат вывода программы.

В настоящий момент поддерживаются следующие форматы:

  • default
  • silence
  • result
Описание каждого формата, смотрите ниже.

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


prevtopnext

SourceForge.net Logo