DANDROZAVR's blog

By DANDROZAVR, history, 4 years ago, In Russian

Предисловие: Нужно подготовить задачу на открытые тесты(каждый тест оценивается в какое-то количество балов), и хотелось бы на сервисе Яндекса. Нашел вариант с компилятором Make2 + компилированием с помощью Makefile, doit.sh, select_file.py(вот это все для отправки готовых ответов в виде архива => разархивирования архива) и постпроцессинга с выставлением балов файлом postprocessor_sum_points.py(пишу название для тех, кто шарит :)

А теперь к проблеме. Чтобы я не делал, чекер, использующий testlib всегда выдает одну и туже комбинацию Crash(Exitcode 7) + оценка баллов:

Заглянув в документацию testlib.h, можно увидеть это:

Вопрос 1: Я не совсем понимаю, в каких случаях возникает этот exitcode. Это же не сама ошибка в программе(ведь тогда бы было что-то вроде SISGEV), но тогда что это и почему нет никаких пояснений?

Вопрос 2: Я создал такой же чекер и решение на полигоне, но на нем получил славный OK. Как вообще могут различаться вердикты то?

Вопрос 3: Я перед глазами вижу задачу, в которой тоже получаю Crash + Exitcode 7, отправляя решения вj вкладке "Тесты и решения"(как админ задачи), но никаких проблем при работе в контесте с этой задачей(полный балл и Exitcode 0).

Был бы очень признателен хоть каким-то намекам в том, что делать или что проверить. Еще хотелось бы понять про этот таинственный Exitcode 7. Код чекера

P.S. Не совсем представляю черную магию, которая не дает мне засылать архивы в задачу или загружать их в локальное пространство задачи(в первом случае кнопка "отправить" блокируется, во втором — архив таинственным образом превращается в последний текстовый файл из архива; с этим можно смириться, отправляя архив в контесте, но, как уже выяснено выше, это не всегда дает одинаковый вердикт).

Так выглядят вердикты тестов: Вердикты тестов

Лог тестов: Лог тестов

UPD: Решается обычным костылем "#define POINTS_EXIT_CODE 0". Видимо, все чекеры testlib с points-checker возвращаются с такими бЕдами. Надеюсь, кому-то поможет)

  • Vote: I like it
  • +39
  • Vote: I do not like it