Difference between revisions of "Serve.cfg:problem:corr dir"

From EjudgeWiki
 
Line 18: Line 18:
 
'''Описание.''' Данная конфигурационная переменная устанавливает путь к каталогу, в котором находятся тесты для данной задачи. Полный путь к каталогу с тестами для каждой
 
'''Описание.''' Данная конфигурационная переменная устанавливает путь к каталогу, в котором находятся тесты для данной задачи. Полный путь к каталогу с тестами для каждой
 
неабстрактной задачи определяется по следующим правилам:
 
неабстрактной задачи определяется по следующим правилам:
# Если конфигурационная переменная <tt>test_dir</tt> задачи не определена, и эта задача наследует свойства некоторой абстрактной задачи, у которой конфигурационная переменная определена, то выполняется [[форматная подстановка]] с форматом, определяемым
+
# Если конфигурационная переменная <tt>test_dir</tt> задачи не определена, и эта задача наследует свойства некоторой абстрактной задачи, у которой конфигурационная переменная определена, то выполняется [[форматная подстановка]] с форматом, определяемым значением переменной <tt>test_dir</tt> этой абстрактной задачи, и результат помещается в переменную <tt>test_dir</tt> данной неабстрактной задачи.
значением переменной <tt>test_dir</tt> этой абстрактной задачи, и результат помещается в переменную <tt>test_dir</tt> данной неабстрактной задачи.
 
 
# Если после предыдущего шага конфигурационная переменная <tt>test_dir</tt> всё ещё не определена, её значение устанавливается в короткое имя данной задачи (см. переменную <tt>[[serve.cfg:problem:short_name|short_name]]</tt>).
 
# Если после предыдущего шага конфигурационная переменная <tt>test_dir</tt> всё ещё не определена, её значение устанавливается в короткое имя данной задачи (см. переменную <tt>[[serve.cfg:problem:short_name|short_name]]</tt>).
 
# Если после предыдущего шага значение конфигурационной переменной не начинается с символа ’/’, то есть не является абсолютным путём к каталогу, значение данной конфигурационной переменной добавляется к значению глобальной конфигурационной переменной <tt>[[serve.cfg:global:test_dir|test_dir]]</tt>, и результат помещается в конфигурационную переменную <tt>test_dir</tt> задачи. Таким образом, глобальная конфигурационная переменная <tt>[[serve.cfg:global:test_dir|test_dir]]</tt> содержит первые компоненты пути к каталогу тестов, а конфигурационная переменная <tt>test_dir</tt> описания задачи — последние компоненты пути к каталогу тестов.
 
# Если после предыдущего шага значение конфигурационной переменной не начинается с символа ’/’, то есть не является абсолютным путём к каталогу, значение данной конфигурационной переменной добавляется к значению глобальной конфигурационной переменной <tt>[[serve.cfg:global:test_dir|test_dir]]</tt>, и результат помещается в конфигурационную переменную <tt>test_dir</tt> задачи. Таким образом, глобальная конфигурационная переменная <tt>[[serve.cfg:global:test_dir|test_dir]]</tt> содержит первые компоненты пути к каталогу тестов, а конфигурационная переменная <tt>test_dir</tt> описания задачи — последние компоненты пути к каталогу тестов.

Revision as of 08:45, 14 February 2012

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

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

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

  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"