Difference between revisions of "Serve.cfg:tester:check dir"
(Created page with "Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/[[serve...") |
|||
Line 24: | Line 24: | ||
Если данная переменная не установлена в описании неабстрактного тестировщика, но | Если данная переменная не установлена в описании неабстрактного тестировщика, но | ||
абстрактный тестировщик, указанный в переменной <tt>[[serve.cfg:tester:super|super]]</tt>, устанавливает данную переменную, используется значение, указанное в абстрактном тестировщике, при этом выполняются | абстрактный тестировщик, указанный в переменной <tt>[[serve.cfg:tester:super|super]]</tt>, устанавливает данную переменную, используется значение, указанное в абстрактном тестировщике, при этом выполняются | ||
− | [[форматные подстановки]]. Если после этого значение данной переменной всё равно не определено, используется значение глобальной конфигурационной переменной <tt>[[serve.cfg: | + | [[форматные подстановки]]. Если после этого значение данной переменной всё равно не определено, используется значение глобальной конфигурационной переменной <tt>[[serve.cfg:global:run_check_dir|run_check_dir]]</tt>. |
'''Пример.''' | '''Пример.''' |
Latest revision as of 14:33, 17 February 2012
Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/serve.cfg/Конфигурационные параметры тестирования/check_dir
Имя переменной: | check_dir |
Содержится в: | tester |
Используется: | run |
Тип содержимого: | путь к каталогу |
Может отсутствовать: | да |
Наследуется: | да |
Может повторяться: | нет |
Описание. Данная конфигурационная переменная устанавливает путь к рабочему каталогу, в котором тестируется решение участника. В этот каталог копируется исполняемая программа и входные данные для неё, в нём же создаются выходные файлы нулевого размера. Решение участника запускается с данным каталогом установленным в качестве текущего каталога. После каждого запуска этот каталог полностью очищается. Для того, чтобы ограничить максимальный размер выходных файлов, создаваемых программой участника, рекомендуется разместить этот каталог на файловой системе ограниченного размера, отдельной от основных файловых систем. Для этого можно использовать, например, loopback-устройство, указав в качестве флагов монтирования -o loop.
Если данная переменная не установлена в описании неабстрактного тестировщика, но абстрактный тестировщик, указанный в переменной super, устанавливает данную переменную, используется значение, указанное в абстрактном тестировщике, при этом выполняются форматные подстановки. Если после этого значение данной переменной всё равно не определено, используется значение глобальной конфигурационной переменной run_check_dir.
Пример.
Для создания небольшой файловой системы, монтируемой с помощью устройства-петли (loopback), можно воспользоваться следующей последовательностью команд.
- Создаём файл требуемого размера (в нашем случае — 32 Мб).
dd if=/dev/zero of=/var/ejudge/image bs=1M count=32
- Создаём на нём файловую систему.
mke2fs -f /var/ejudge/image
- Создаём каталог монтирования.
mkdir /var/ejudge/disk
- Монтируем новую файловую систему.
mount /var/ejudge/image /var/ejudge/disk -o loop
- Создаём в нём нужный каталог и устанавливаем его права.
mkdir /var/ejudge/disk/work chown user:user /var/ejudge/disk/work chmod 755 /var/ejudge/disk/work
Здесь user — пользователь, из-под которого будет проводиться тестирование решений.
После этого в конфигурационном файле турнира serve.cfg можно установить глобальную конфигурационную переменную run_check_dir следующим образом:
run_check_dir = /var/ejudge/disk/work