Добрый день!
Можно ли сделать так, чтобы сдающие видели только вывод stderr (в случае когда задача сдана неуспешно)?
Подробности: студенты сдают некий код, который, кроме прохождения тестов, еще и проверяется валгриндом (выбран компилятор gcc-vg). Это часто приводит к тому, что студенты не могут разобраться в причинах Runtime Error, приходится отвлекаться и разбираться, где конкретно происходит некорректная работа с памятью. Поэтому хотелось бы, чтобы они сами видели вывод valgrind. А он пишет в stderr, так что по идее вывода stderr было бы достаточно.
Я могу полностью открыть протокол тестирования - тогда будет видно, где valgrind нашел проблемы.
Но тогда вместе с этим студенты видят входные данные и эталонный ответ, когда получают обычный Wrong Answer. Этого нужно избежать.
Некоторые настройки (если нужны доп настройки, посмотрю и отпишу дополнительно):
Scoring system: ACM
Версия еджадж: version 2.3.29+ (SVN r7685)
Печать только stderr
Re: Печать только stderr
В качестве возможного решения можно готовить архивы рабочих каталогов (опция use_tgz). Решения тогда должны работать с файлами. В полном протоколе входные данные показаны не будут.
Но это усложняет подтготовку задач. Почти наверняка потребуются проверяющие программы к задачам.
Но это усложняет подтготовку задач. Почти наверняка потребуются проверяющие программы к задачам.
Re: Печать только stderr
Скажите, а в новых версиях такая возможность не реализована?
В принципе, я мог бы перейти на какой-либо более свежий релиз.
В принципе, я мог бы перейти на какой-либо более свежий релиз.
Re: Печать только stderr
Сейчас ничего такого не реализовано.
valgrind умеет выводить в заданный файл, не обязательно на stderr. Скорее всего имеет смысл сделать возможным вывода лога исполнения программы, полученного от valgrind. В любом случае тогда нужно будет устанавливать последнюю версию ejudge или даже svn master.
valgrind умеет выводить в заданный файл, не обязательно на stderr. Скорее всего имеет смысл сделать возможным вывода лога исполнения программы, полученного от valgrind. В любом случае тогда нужно будет устанавливать последнюю версию ejudge или даже svn master.