taker-specs

Документация для проекта taker

This project is maintained by taker-project

Формат файла для тестов (чекера, валидатора, ручных тестов)

Общее описание

Такие файлы выглядят следующим образом:

Test <name>
Section1:
<contents>
Section2:
<contents>
Section3:
<contents>

Test <name>
Section1:
<contents>
...

Верхняя строка Test <name> обозначает имя теста. Если отсутствует, берется ближайший порядковый номер. Слово `Test` регистронезависимо. `` должен состоять из латинских букв, цифр, символов `-`, `_` и `.`.

Section1, Section2, Section3— названия секций, для каждого файла тестов они различаются. Часть секций могут быть необязательными, присутствие других секций строго обязательно. Названия секций регистронезависимы, между названием секции и двоеточием могут быть пробелы, пробелы могут быть и в конце.

Разные тесты должны обязательно разделяться переводом строки.

Содержимое секций <contents> является обычным текстом, состоящим из строк. Если в начале строки содержимого встречается символ !, то он игнорируется (это сделано для того, чтобы разрешить похожие на названия секций строки в содержимом).

Тесты чекера

Тесты чекера должны содержать следующие секции:

Пример:

Test
Input:
5
Output:
2 3
Answer:
3 2
Verdict:
ok
Comment:
Простой тест

Test hello1
Input:
5
Output:
hello
Answer:
3 2
Verdict:
wa:~ expected int32, found .*\.

Test hello2
Input:
5
Output:
!Input:
Answer:
!!
Verdict:
fail: fail Jury has worse answer.
Please make the contest unrated

Тесты валидатора

Ручные тесты