Serve.cfg:problem:use tgz

From EjudgeWiki

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

Имя переменной: use_tgz
Содержится в: problem
Используется: run
Тип содержимого: boolean
Может отсутствовать: да
Наследуется: да
Значение по умолчанию: false
Может повторяться: нет

Описание. Если значение данной конфигурационной переменной установлено в true, для запуска решений участников на проверку создаётся рабочий каталог, и тестируемая программа запускается в этом файле. Исходное состояние рабочего каталога получается разархивированием архивного файла. Такие архивные файлы находятся в каталоге, определяемом конфигурационной переменной tgz_dir, имеют стандартное базовое имя, получаемое форматным преобразованием %03d функций семейства printf из номера теста, и суффикс, определяемый конфигурационной переменной tgz_sfx (по умолчанию .tgz).

Для теста с номером i .tgz-архив должен содержать единственный каталог с именем полученным форматным преобразованием %03d из номера теста i. Кроме этого, в каталоге tgz_dir должно находиться разархивированное содержимое этого архива, то есть каталог с именем 〈%03d,i〉. При запуске тестируемой программы соответствующий .tgz архив разворачивается в каталоге тестирования (check_dir) и текущий каталог запускаемой программы устанавливается на этот подкаталог. Файл с кодом программы, файлы входных и выходных данных таким образом оказываются на один уровень выше текущего каталога.

В случае использования .tgz-файлов проверяющая программа получает дополнительный аргумент командной строки, содержащий путь к развёрнутому содержимому соответствующего .tgz файла, то есть к каталогу с именем 〈%03d,i〉 в каталоге, определяемом конфигурационной переменной tgz_dir.

Если значение данной конфигурационной переменной в описании неабстрактной задачи не установлено, оно наследуется из абстрактной задачи (если таковая определена).