Желаемые возможности (Delta)
Что надо от Дельты:
- IOI задачи 2010-... существенно иначе осуществляют тестирование:
- На тестирование отсылается один или несколько модулей (одной или даже разных программ), например:
- где нужно скомпилировать два модуля в два exe-файла и обеспечить их взаимодействие
- Тесты разбиты на группы, баллы считаются только за всю группу целиком (баллов может быть меньше чем тестов в группе)
- В разархивированном виде тесты достигают до 600-700 Мб, не хватает времени на тестирование
Поэтому желательно
- добавить в task.cfg
CompileScript = имя (лежит в каталоге задачи в подкаталоге языка: /lib/cpp/, /lib/ppw/ и т.д.)
ExecScript = имя (лежит в каталоге задачи или создаётся с помощью 'CompileScript',
запускается limiter'ом вместо решения)
CheckTime = N секунд
- параметр - время тестирования задачи
(изменять ограничения на время работы чекера)
Time_Limit_Group=T1 t2 .. tG
- Ti - время на 1 тест в i-й группе
GroupChecker = имя (в каталоге задачи)
- чекер для группы (см. ниже)
Hidden = ( none | in | out | both )
- какие файлы скрывать в отображаемом условии (none по умолчанию)
- групповое тестирование (если есть GroupChecker)
- запуск специального группового чекера после окончания проверки группы тестов
общая оценка за группу тестов - может не коррелировать с количеством тестов
(например тестов в группе 30, а баллов за группу = 18)
- надо игнорировать баллы за один тест внутри группы
- обеспечить передачу информации от чекера по тесту к чекеру группы
- в спецкаталог /GroupResult
- скопировать результаты тестирования по тестам
- сформировать список_этих_файлов(list.txt?)
- формат запуска чекера группы
имя <номер_группы> <список_этих_файлов (list.txt?)> <балл_за_последний_тест_группы_в_task.cfg>
- номер группы тестов должен быть доступен чекеру теста
- опциональным пятым параметром?
- в протокол по тестам пишем номер группы и номер теста внутри группы
0 - за все тесты кроме последнего в группе
баллы за группу (получаем от чекера группы) - последнему тесту в группе
- для отображаемого условия на сайте (таблица по task.cfg в правом верхнем углу)
- отображать всё необходимое
- скрывать названия файлов по параметру Hidden
- обеспечить отсылку больших (до 5 Мб?) файлов со страницы задачи
- Задачи с открытыми тестами:
- при отсутствии решения для теста Delta выдаёт ошибку (даже если чекер проверяет отсутствие входного файла)