Serve.cfg:problem:test dir

From EjudgeWiki

Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/serve.cfg/Конфигурационные параметры задач/test_dir

Имя переменной: test_dir
Содержится в: problem
Используется: serve, run
Тип содержимого: путь к каталогу или шаблон
Может отсутствовать: да
Наследуется: да
Может повторяться: нет

Редактирование элемента: страница "Editing contest", вкладка "Problems (serve.cfg)", блок "Abstract problems", поле "Directory with tests", либо страница "Editing contest", вкладка "Problems (serve.cfg)", блок "Concrete problems", поле "Directory with tests".

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

  1. Если конфигурационная переменная test_dir задачи не определена, и эта задача наследует свойства некоторой абстрактной задачи, у которой конфигурационная переменная определена, то выполняется форматная подстановка с форматом, определяемым значением переменной test_dir этой абстрактной задачи, и результат помещается в переменную test_dir данной неабстрактной задачи.
  2. Если после предыдущего шага конфигурационная переменная test_dir всё ещё не определена, её значение устанавливается в короткое имя данной задачи (см. переменную short_name).
  3. Если после предыдущего шага значение конфигурационной переменной не начинается с символа ’/’, то есть не является абсолютным путём к каталогу, значение данной конфигурационной переменной добавляется к значению глобальной конфигурационной переменной test_dir, и результат помещается в конфигурационную переменную test_dir задачи. Таким образом, глобальная конфигурационная переменная test_dir содержит первые компоненты пути к каталогу тестов, а конфигурационная переменная test_dir описания задачи — последние компоненты пути к каталогу тестов.

Пример. Следующий пример отключает распределение тестов по подкаталогам каталога, определяемого глобальной переменной test_dir.

test_dir = "."

Следующий пример для описания абстрактной задачи задаёт использование подкаталога, имя которого получается преобразованием к строчным буквам короткого имени задачи (short_name), в каталоге, определяемом глобальной переменной test_dir, для тестов каждой задачи, наследующей свойства данной абстрактной задачи.

test_dir = "%lPs"