Просмотр источника
h1. Желаемые возможности (Delta)
Что надо от Дельты: \- IOI задачи 2010-... существенно иначе осуществляют тестирование: # На тестирование отсылается один или несколько модулей (одной или даже разных программ), например: #* где нужно скомпилировать два модуля в два exe-файла и обеспечить их взаимодействие # Тесты разбиты на группы: #- баллы считаются только за всю группу целиком #-- баллов может быть меньше чем тестов в группе #-- требуется запускать после группы тестов дополнительный чекер с информацией, связанной с группой #- в разных группах может быть разное время на тест # Не хватает времени на тестирование: #- в разархивированном виде тесты достигают до 600-700 Мб #- количество тестов может быть очень большим (до 401) #- ограничение по времени на тест также может быть большим (до 20 секунд в оригинальном контесте) # В некоторых случаях имена входных/выходных файлов должны быть скрыты от участника Поэтому желательно \- добавить в task.cfg CompileScript = имя (лежит в каталоге задачи в подкаталоге языка: /lib/cpp/, /lib/ppw/ и т.д.) ExecScript = имя (лежит в каталоге задачи или создаётся с помощью 'CompileScript', запускается limiter'ом вместо решения) CheckTime = N секунд - параметр - время тестирования задачи (изменять ограничения на время работы чекера) Time_Limit_Group=T1 t2 .. tG - T{*}i* \- время на 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 выдаёт ошибку (даже если чекер проверяет отсутствие входного файла) *** Пример: задача [Mazes (IOI 2010)|http://dl.gsu.by/task.jsp?nid=1131091&cid=168]. Для архива без тестов 6-9 выдаётся сообщение {code} Ошибка чекера на 9-ом тесте. Причина выхода: Runtime Error 1:Invalid function number {code} При этом для каждого из тестов 6-9 выдаётся сообщение {code} Ошибка чекера {code} |