Cmp binary

From EjudgeWiki

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

Эта стандартная проверяющая программа предназначена для проверки результата работы тестируемой программы в режиме use_info и use_tgz.

Проверяющая программа предназначена для случаев, когда тестируемой программе передаются аргументы командной строки, среди которых находится имя файла в рабочем каталоге, в который тестируемая программа должна записать результат работы. После завершения работы тестируемой программы данная проверяющая программа сравнивает файл с результатом работы тестируемой программы и эталонный файл. Файлы сравниваются побайтово.

Вывод тестируемой программы на стандартный поток вывода не проверяется.

Проверяющая программа поддерживает следующие переменные окружения. Переменные окружения передаются с помощью конфигурационного параметра задачи checker_env.

  • EJ_EXPECT_ARGS — если эта переменная окружения установлена, в ней передается требуемое количество аргументов командной строки для тестируемой программы.
  • EJ_OUTPUT_ARG — эта переменная должна быть установлена и содержать номер аргумента командной строки (где 1 — первый аргумент командной строки после имени программы), в котором задаётся имя выходного файла для тестируемой программы.
  • EJ_EXPECT_MODE — если эта переменная установлена, она должна содержать восьмеричное значение с требуемыми правами доступа к выходному файлу.
  • EJ_EXPECT_1_BITS — если эта переменная установлена, она должна содержать восьмеричное значение бит прав доступа, которые должны быть установлены в 1 в правах доступа у выходного файла.
  • EJ_EXPECT_0_BITS — если эта переменная установлена, она должна содержать восьмеричное значение бит прав доступа, которые должны быть сброшены в 0 в правах доступа у выходного файла.

Поддерживается начиная с версии 3.12.0.