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 - режимом сравнения вывода с эталонным ответом.