|
Этот тест предназначен для тестирования программ, которые помимо того что выводят что-то на стандартный поток вывода, меняют ещё какие то файлы в той директории, в которой они запускаются.
Для таких программ используется следующий подход:
<exec_check_directory> <spec> <sname>short_name_of_test</sname> <fname>full name of test</fname> <descr>description of test</descr> </spec> <cmd>command line for test</cmd> <out>test result base path</out> <in>name of file to send to input</in> <input>text to send to input</input> <res>test return code to compare with</res> <path>test path</path> <main>test main result file</main> </exec_check_directory> |
cmd |
Командная строка для запуска теста. Результат запуска этой командной строки будет сравниваться с эталонным. Система запускает тест, не добавляя к этой строке ничего (только заменяя переменные) из поддиректории "r" директории указанной в параметре "path" в которую перед этим копируется содержимое поддиректории "t" директории указанной в параметре "path". |
out |
Базовое название файла, в котором будет сохраняться результат теста. По умолчанию - output.txt Предполагается, что имеет расширение. Если файл имеет вид [имя_файла].[последнее_расширение] то
При использовании к имени файла автоматически добавляется путь к файлу, в котором лежит описание теста и путь, заданный в параметре "path", так что %test_dir% использовать не надо. |
in |
Имя файла, содержимое которого будет подаваться на стандартный вход тестируемой программы. Если поля in и input (смотри далее) пустые, то на стандартный вход программы ничего не подаётся. При использовании к имени файла автоматически добавляется путь к файлу в котором лежит описание теста и путь заданный в параметре path, так что %test_dir% использовать не надо. |
input |
Текст, который будет подаваться на вход тестируемой программы. Имеет смысл только если поле in (смотри предыдущее описание) пустое. В случае если это не так (в поле in задано имя файла с входными данными), на вход будет подаваться всё-таки содержимое файла, а содержимое поля input будет просто проигнорировано. Если поля in и input (смотри выше) пустые, то на стандартный вход программы ничего не подаётся. |
res |
Ожидаемый код возврата программы. По умолчанию - 0. В случае если тестируемая программа возвращает другой код, выдаётся предупреждение. |
path |
Путь до тестовой директории, в которой содержатся директории с эталонными данными "до запуска" ("t") и "после запуска" ("e"). Задаётся относительно директории, в которой лежит файл с описанием теста. |
main |
Используется в основном для gui-тестов Указывает, какой из файлов в директории после теста самый главный (соответственно какой файл первым показывать для сравнения) Это удобно, например, в некоторых случаях при тестировании отчётов, которые выдаются не на стандартный поток вывода, а в какой то файл рядом в директории. Задаётся относительно директории, из которой запускается команда. |
spec | Идентификационная информация о тесте (имена, описание) |
sname | Короткое название теста. Используется для вывода в ГУИ-среде и для указания пути к тесту в консольном варианте . Без перевода строк. Желательно покороче, и без пробелов. |
fname | Полное название теста. Используется для вывода в консольном варианте системы . Без перевода строк. Предполагается, что должно поместиться в одну строку/экран. То есть желательно уложиться до 60 символов. |
descr | Полное описание текста. Вот здесь можно писать что угодно, любой длинны и с любыми переводами каретки. В консольном и ГУИ варианте это описание можно посмотреть только специальной командой. |
|