Difference between revisions of "Изменения в версии 2.3.18"

From EjudgeWiki
Line 44: Line 44:
  
 
В раздел описания задачи добавлена конфигурационная переменная <tt>[[serve.cfg:problem:full_user_score|full_user_score]]</tt>. Данная переменная позволяет указывать, сколько предварительных баллов получает решение, которое прошло все нескрытые тесты, либо получило предварительный статус тестирования OK. Данная конфигурационная переменная аналогична переменной <tt>[[serve.cfg:problem:full_score|full_score]]</tt>, но задает максимальное количество баллов для предварительного тестирования. Данная переменная используется только для турниров типа KIROV, которые работают в режиме <tt>separate_user_score</tt>. Значение данной переменной наследуется из абстрактной задачи, если не задано в задаче. Если ни в конкретной, ни в абстрактной задаче значение поля не задано, оно полагается равным 0.
 
В раздел описания задачи добавлена конфигурационная переменная <tt>[[serve.cfg:problem:full_user_score|full_user_score]]</tt>. Данная переменная позволяет указывать, сколько предварительных баллов получает решение, которое прошло все нескрытые тесты, либо получило предварительный статус тестирования OK. Данная конфигурационная переменная аналогична переменной <tt>[[serve.cfg:problem:full_score|full_score]]</tt>, но задает максимальное количество баллов для предварительного тестирования. Данная переменная используется только для турниров типа KIROV, которые работают в режиме <tt>separate_user_score</tt>. Значение данной переменной наследуется из абстрактной задачи, если не задано в задаче. Если ни в конкретной, ни в абстрактной задаче значение поля не задано, оно полагается равным 0.
 +
 +
Расширена поддержка правил видимости тестов, задаваемых с помощью конфигурационной переменной <tt>[[serve.cfg:problem:open_tests|open_tests]]</tt> раздела описания задачи. Теперь допускается указывать тип видимости теста. Поддерживаются следующие типы видимости тестов:
 +
 +
{|
 +
<tt>normal</tt>
 +
| Правила видимости тестов определяются общими настройками турнира, данный тип видимости является типом по умолчанию, для тестов, для которых тип видимости не указан.
 +
|-
 +
<tt>full</tt>
 +
| Полная видимость теста: показываются входные данные, результат работы программы, вердикт проверки, балл за тест.
 +
|}

Revision as of 06:56, 6 April 2011

Навигация: Главная страница/Система ejudge/Разработка/История версий/Изменения в версии 2.3.18

Добавлена поддержка языка Кумир. При настройке компиляторов автоматически находится интерпретатор ckumir.

Усовершенствовано определение версии интерпретатора языка perl.

Для компиляции ejudge более не требуется библиотека reuse. Все необходимые файлы интегрированы в исходный код ejudge.

ej-batch

Новая программа для пакетного тестирования. Программе передаётся ZIP-файл, сформированный по определенным правилам, который содержит исходные коды программ на тестирование и XML-файл описания. Тестирование выполняется в пакетном режиме, и на выходе формируется ZIP-файл с результатами тестирования, который содержит XML-файл описания результатов и протоколы тестирования.

ej-compile

Для компиляторов поддерживается установка ограничений на максимальный размер адресного пространства и стека. В раздел описания языковых процессоров добавлены конфигурационные переменные max_vm_size и max_stack_size и max_file_size. Эти переменные могут устанавливаться как в конфигурационном файле турнира, так и в глобальном конфигурационном файле сервера компиляции (${CONTESTS_DIR}/compile/conf/compile.cfg). Значение, установленное в конфигурационном файле турнира, имеет приоритет перед значением, заданным в конфигурационном файле сервера компиляции.

Конфигурационная переменная max_vm_size задает максимальный размер виртуального адресного пространства процесса компиляции. Например,

max_vm_size=256M

ограничивает размер виртуального адресного пространства 256 мегабайтами (точнее, 256*1024*1024 байт). Размер виртуального адресного пространства определяется как сумма размера кода программы, глобальных переменных, подгружаемых динамических библиотек, кучи и стека. По умолчанию размер виртуального адресного пространства не ограничен, если только не установлено ограничение на уровне системы (см. вывод команды 'ulimit -a').

Конфигурационная переменная max_stack_size задает максимальный размер системного стека. По умолчанию этот размер равен 8 мегабайтам.

Конфигурационная переменная max_file_size задает максимальный размер файлов, которые смогут создавать компиляторы.

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

Значения ограничений, установленные для конкретного языкового процессора, имеют приоритет над значениями, установленными глобально. Значения ограничений, установленные в конфигурационном файле турнира, имеют приоритет над значениями, установленными в конфигурационном файле сервера компиляции.

ej-contests

При сдаче исходного кода в кодировке UCS-2 файл автоматически конвертируется в кодировку UTF-8. Для определения кодировки UCS-2 используется эвристический алгоритм.

Добавлена новая глобальная конфигурационная переменная separate_user_score. Если данная конфигурационная переменная установлена в 1, турнир работает в режиме одновременного хранения предварительных и окончательных результатов тестирования программ. Предварительные (или пользовательские - user) результаты тестирования - это результаты тестирования программы на подмножестве всех тестов. Предварительные результаты тестирования доступны участникам во время турнира. Окончательные результаты тестирования - результаты тестирования программы на всех тестах. Во время турнира окончательные результаты тестирования участникам недоступны, но отображаются в качестве результатов тестирования для административных пользователей. В любой момент проведения турнира или после его окончания администратор турнира может включить отображение окончательных результатов тестирования для участников, тогда участники вместо предварительных результатов будут видеть окончательные.

Этот режим работы доступен только для турниров по системе KIROV.

Режим работы предназначен для турниров, на которых решения во время тура тестируются только на некоторых тестах (так называемых on-line тестах), а после окончания тура - на всех тестах. В системе ejudge решения всегда тестируются на всех тестах, но участники будут получать информацию о результатах тестирования только на части тестов, хотя администраторам доступна и полная информация.

В раздел описания задачи добавлена конфигурационная переменная full_user_score. Данная переменная позволяет указывать, сколько предварительных баллов получает решение, которое прошло все нескрытые тесты, либо получило предварительный статус тестирования OK. Данная конфигурационная переменная аналогична переменной full_score, но задает максимальное количество баллов для предварительного тестирования. Данная переменная используется только для турниров типа KIROV, которые работают в режиме separate_user_score. Значение данной переменной наследуется из абстрактной задачи, если не задано в задаче. Если ни в конкретной, ни в абстрактной задаче значение поля не задано, оно полагается равным 0.

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

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