Cmp file

From EjudgeWiki

Навигация: Главная страница/Система ejudge/Использование/Проверяющие программы/Стандартные проверяющие программы/cmp_file

Стандартная проверяющая программа cmp_file используется для сравнения файла результата работы тестируемой программы и эталонного файла ответа как текстовых файлов.

При чтении каждого файла в память он разбивается на строки текста по символу \n. Последняя строка в файле может не заканчиваться символом \n. Пробельные символы на концах строк отбрасываются. Пустые строки в конце каждого файла также отбрасываются.

Если после такой трансформации результат работы тестируемой программы не равен эталонному ответу, проверяющая программа выносит вердикт неправильный ответ.

(С версии 2.3.20) Если установлена переменная окружения EJUDGE_NOCASE, сравнение строк ведется без учета регистра букв (но только для базовых символов латинского алфавита). Переменные окружения можно устанавливать с помощью конфигурационной переменной checker_env раздела описания задачи.

(С версии 2.3.21) Если в файле эталонного ответа был обнаружен байт 0 (\0), проверяющая программа завершается с вердиктом внутренняя ошибка проверки. Если в файле результата работы тестируемой программы был обнаружен байт 0 (\0), проверяющая программа завершается с вердиктом ошибка неправильного формата результата.

(С версии 2.3.25) Если установлена переменная окружения EJ_REQUIRE_NL, то вывод тестируемой программы проверяется на наличие символа \n в конце. Если символ \n отсутствует, проверяющая программа завершается с вердиктом ошибка неправильного формата результата.