Difference between revisions of "Serve.cfg:problem:disable stderr"
(Created page with "Данная конфигурационная переменная позволяет запретить вывод тестируемой программы на стандар...") |
|||
Line 1: | Line 1: | ||
+ | Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Конфигурационные файлы]]/[[serve.cfg]]/[[serve.cfg:problem|Конфигурационные параметры задач]]/<tt>[[serve.cfg:problem:disable_stderr|disable_stderr]]</tt> | ||
+ | |||
Данная конфигурационная переменная позволяет запретить вывод тестируемой программы на стандартный | Данная конфигурационная переменная позволяет запретить вывод тестируемой программы на стандартный | ||
поток ошибок (stderr, cerr, System.err...). | поток ошибок (stderr, cerr, System.err...). | ||
Line 4: | Line 6: | ||
По умолчанию вывод тестируемой программы на стандартный поток ошибок игнорируется. Он сохраняется | По умолчанию вывод тестируемой программы на стандартный поток ошибок игнорируется. Он сохраняется | ||
в протоколе тестирования, но не влияет на вердикт тестирования. Если конфигурационная переменная | в протоколе тестирования, но не влияет на вердикт тестирования. Если конфигурационная переменная | ||
− | disable_stderr установлена в положительное значение, то вывод программы на стандартный поток | + | <tt>disable_stderr</tt> установлена в положительное значение, то вывод программы на стандартный поток |
ошибок учитывается. Если программа вывела что-либо на стандартный поток ошибок на некотором тесте, | ошибок учитывается. Если программа вывела что-либо на стандартный поток ошибок на некотором тесте, | ||
то тестируемая программа получает вердикт Presentation error. Вывод программы на стандартный | то тестируемая программа получает вердикт Presentation error. Вывод программы на стандартный | ||
Line 12: | Line 14: | ||
Проверка вывода на стандартный поток ошибок выполняется после: | Проверка вывода на стандартный поток ошибок выполняется после: | ||
* проверки превышения лимита времени выполнения программы (time-limit exceeded); | * проверки превышения лимита времени выполнения программы (time-limit exceeded); | ||
− | * проверки корректности завершения программы (что программа завершилась не из-за сигнала | + | * проверки корректности завершения программы (что программа завершилась не из-за сигнала и с кодом завершения 0) (run-time error); |
− | и с кодом завершения 0) (run-time error); | ||
* проверки ограничений по памяти (memory limit exceeded); | * проверки ограничений по памяти (memory limit exceeded); | ||
* проверки нарушений политики безопасности (security violation). | * проверки нарушений политики безопасности (security violation). | ||
− | Конифигурационная переменная disable_stderr может устанавливаться в описании абстрактной | + | Конифигурационная переменная <tt>disable_stderr</tt> может устанавливаться в описании абстрактной |
задачи, и ее значение будет унаследовано в конкретных задачах. Если конфигурационная переменная | задачи, и ее значение будет унаследовано в конкретных задачах. Если конфигурационная переменная | ||
установлена в положительное значение в абстрактной задача, но в некоторой конкретной задаче | установлена в положительное значение в абстрактной задача, но в некоторой конкретной задаче | ||
Line 27: | Line 28: | ||
Для отдельных тестов режим запрета вывода на стандартный поток ошибок может изменяться | Для отдельных тестов режим запрета вывода на стандартный поток ошибок может изменяться | ||
− | с помощью .inf файла теста. Параметр disable_stderr в .inf файле управляет режимом запрета | + | с помощью .inf-файла теста. Параметр <tt>disable_stderr</tt> в .inf-файле управляет режимом запрета |
− | вывода для конкретного теста, а параметр check_stderr - режимом сравнения вывода с | + | вывода для конкретного теста, а параметр <tt>check_stderr</tt> - режимом сравнения вывода с |
эталонным ответом. | эталонным ответом. |
Revision as of 08:11, 27 December 2011
Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/serve.cfg/Конфигурационные параметры задач/disable_stderr
Данная конфигурационная переменная позволяет запретить вывод тестируемой программы на стандартный поток ошибок (stderr, cerr, System.err...).
По умолчанию вывод тестируемой программы на стандартный поток ошибок игнорируется. Он сохраняется в протоколе тестирования, но не влияет на вердикт тестирования. Если конфигурационная переменная disable_stderr установлена в положительное значение, то вывод программы на стандартный поток ошибок учитывается. Если программа вывела что-либо на стандартный поток ошибок на некотором тесте, то тестируемая программа получает вердикт Presentation error. Вывод программы на стандартный поток вывода или в файл (как требуется в условии задачи) не проверяется, тестирующая программа не запускается.
Проверка вывода на стандартный поток ошибок выполняется после:
- проверки превышения лимита времени выполнения программы (time-limit exceeded);
- проверки корректности завершения программы (что программа завершилась не из-за сигнала и с кодом завершения 0) (run-time error);
- проверки ограничений по памяти (memory limit exceeded);
- проверки нарушений политики безопасности (security violation).
Конифигурационная переменная disable_stderr может устанавливаться в описании абстрактной задачи, и ее значение будет унаследовано в конкретных задачах. Если конфигурационная переменная установлена в положительное значение в абстрактной задача, но в некоторой конкретной задаче необходимо ее сбросить, то в разделе описания конкретной задачи нужно явно установить ее значение в 0.
[problem] disable_stderr = 0
Для отдельных тестов режим запрета вывода на стандартный поток ошибок может изменяться с помощью .inf-файла теста. Параметр disable_stderr в .inf-файле управляет режимом запрета вывода для конкретного теста, а параметр check_stderr - режимом сравнения вывода с эталонным ответом.