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

From EjudgeWiki
(Created page with "Навигация: Главная страница/Система ejudge/Разработка/История версий/[[Изменения в в...")
 
Line 3: Line 3:
 
Исправлены проблемы компиляции на платформе Win32.
 
Исправлены проблемы компиляции на платформе Win32.
  
Исправлены проблемы компиляции и запуска с установленным режимом
+
Исправлены проблемы компиляции и запуска с установленным режимом <tt>--disable-rpath</tt>.
--disable-rpath.
 
  
=== ejudge-configure-compilers ===
+
=== [[ejudge-configure-compilers]] ===
  
Улучшен алгоритм назначения Id языков программирования. Самый высокий
+
Улучшен алгоритм назначения Id языков программирования. Самый высокий приоритет имеет сохранение Id языков программирования, ранее уже назначенных и сохраненных в конфигурационном файле программы [[ej-compile]].
приоритет имеет сохранение Id языков программирования, ранее уже
 
назначенных и сохраненных в конфигурационном файле программы ej-compile.
 
  
Файл lang_ids.cfg ищется и в конфигурационных каталогах ej-compile,
+
Файл lang_ids.cfg ищется и в конфигурационных каталогах [[ej-compile]], и в инсталляционных каталогах ejudge.
и в инсталляционных каталогах ejudge.
 
  
Если для языка программирования отсутствует Id языка, хранящийся
+
Если для языка программирования отсутствует Id языка, хранящийся в файле lang_ids.cfg, такому языку программирования назначается Id, начинающийся от 90.
в файле 'lang_ids.cfg', такому языку программирования назначается
 
Id, начинающийся от 90.
 
  
Если у двух языков программирования Id совпадают, одному из
+
Если у двух языков программирования Id совпадают, одному из языков назначается Id, растущий от 89 в сторону уменьшения.
языков назначается Id, растущий от 89 в сторону уменьшения.
 
  
 
Добавлена поддержка для языков clang, clang++, gccgo
 
Добавлена поддержка для языков clang, clang++, gccgo
  
=== ej-contests ===
+
=== [[ej-contests]] ===
  
 
Добавлены новые статусы посылки:
 
Добавлены новые статусы посылки:
RUN_WALL_TIME_LIMIT_ERR устанавливается, когда при запуске
 
тестируемой программы было превышено астрономическое время работы
 
программы. В предыдущих версиях ejudge в этом случае использовался
 
статус RUN_TIME_LIMIT_ERR.
 
  
RUN_PENDING_REVIEW устанавливается для задач, у которых установлен
+
<tt>RUN_WALL_TIME_LIMIT_ERR</tt> устанавливается, когда при запуске тестируемой программы было превышено астрономическое время работы программы. В предыдущих версиях ejudge в этом случае использовался статус <tt>RUN_TIME_LIMIT_ERR</tt>.
режим проверки 'use_ac_not_ok', то есть в режиме, когда
 
окончательное решение по посылке принимается судьей или
 
администратором турнира. В предыдущих версиях ejudge в этом
 
случае использовался статус RUN_ACCEPTED. Статус RUN_ACCEPTED
 
теперь используется только для турниров OLYMPIAD.
 
  
RUN_REJECTED может устанавливаться администратором или судьей
+
<tt>RUN_PENDING_REVIEW</tt> устанавливается для задач, у которых установлен режим проверки use_ac_not_ok, то есть в режиме, когда окончательное решение по посылке принимается судьей или администратором турнира. В предыдущих версиях ejudge в этом случае использовался статус <tt>RUN_ACCEPTED</tt>. Статус <tt>RUN_ACCEPTED</tt> теперь используется только для турниров OLYMPIAD.
для посылок, имевших статус RUN_PENDING_REVIEW, в случае
 
не соблюдения каких либо требований, проверяемых вручную.
 
Ранее в этом случае использовался статус RUN_STYLE_ERR,
 
который теперь используется только в случае, когда
 
посылка отвергается автоматической программой проверки стиля.
 
  
При хранении посылки в базе данных или в бинарном файле
+
<tt>RUN_REJECTED</tt> может устанавливаться администратором или судьей для посылок, имевших статус <tt>RUN_PENDING_REVIEW</tt>, в случае не соблюдения каких либо требований, проверяемых вручную. Ранее в этом случае использовался статус <tt>RUN_STYLE_ERR</tt>, который теперь используется только в случае, когда посылка отвергается автоматической программой проверки стиля.
в структуру описателя посылки добавлено поле 'passed_mode'.
 
Это поле устанавливается в 1 для всех сохраняемых в базе посылок.
 
Таким образом, значение поля равно 0 для посылок, сохраненных
 
в базе предыдущими версиями ejudge.
 
  
Если поле 'passed_mode' установлено в 1, то в поле 'test' всегда
+
При хранении посылки в базе данных или в бинарном файле в структуру описателя посылки добавлено поле passed_mode. Это поле устанавливается в 1 для всех сохраняемых в базе посылок. Таким образом, значение поля равно 0 для посылок, сохраненных в базе предыдущими версиями ejudge.
хранится количество тестов, успешно пройденных программой.
 
Если поле 'passed_mode' установлено в 0, то значение поля 'test'
 
интерпретируется в режиме совместимости с предыдущими версиями ejudge,
 
то есть 'test' хранит номер первого непройденного теста
 
в режиме ACM или MOSCOW и количество пройденных тестов в режиме KIROV.
 
  
В судейском протоколе тестирования выводится информация о ЦП, на
+
Если поле 'passed_mode' установлено в 1, то в поле 'test' всегда хранится количество тестов, успешно пройденных программой. Если поле 'passed_mode' установлено в 0, то значение поля 'test' интерпретируется в режиме совместимости с предыдущими версиями ejudge, то есть 'test' хранит номер первого непройденного теста в режиме ACM или MOSCOW и количество пройденных тестов в режиме KIROV.
котором выполнялось тестирование.
 
  
Исправлена ошибка, возникавшая при попытке удаления виртуальных
+
В судейском протоколе тестирования выводится информация о ЦП, на котором выполнялось тестирование.
записей (VIRTUAL_START, VIRTUAL_STOP).
 
  
При перетестировании посылок (по разным критериям), перетестируемые
+
Исправлена ошибка, возникавшая при попытке удаления виртуальных записей (VIRTUAL_START, VIRTUAL_STOP).
посылки получают приоритет 10 (а не 0, как было в предыдущей
 
версии).
 
  
Добавлена глобальная конфигурационная переменная 'printout_uses_login'.
+
При перетестировании посылок (по разным критериям), перетестируемые посылки получают приоритет 10 (а не 0, как было в предыдущей версии).
Если она установлена в 1, то на распечатках решений участников
 
выводится логин участника, а не его имя (название команды).
 
  
Убрано ограничение в 256 символов на длину значения конфигурационной
+
Добавлена глобальная конфигурационная переменная 'printout_uses_login'. Если она установлена в 1, то на распечатках решений участников выводится логин участника, а не его имя (название команды).
переменной 'test_score_list' раздела описания задачи.
 
  
Добавлена конфигурационная переменная 'super_run_dir' раздела описания
+
Убрано ограничение в 256 символов на длину значения конфигурационной переменной 'test_score_list' раздела описания задачи.
задачи, с помощью которой можно задавать тестирующий компьютер, на
+
 
 +
Добавлена конфигурационная переменная 'super_run_dir' раздела описания задачи, с помощью которой можно задавать тестирующий компьютер, на
 
котором будут тестироваться решения по данной задаче.
 
котором будут тестироваться решения по данной задаче.
  
Исправлена ошибка при печати решений участников, в именах которых
+
Исправлена ошибка при печати решений участников, в именах которых есть символ '/'.
есть символ '/'.
 
  
=== ej-polygon ===
+
=== [[ej-polygon]] ===
  
Поддерживается приоритет языков (ru, en), задаваемый
+
Поддерживается приоритет языков (ru, en), задаваемый в конфигурационном параметре 'language_priority'.
в конфигурационном параметре 'language_priority'.
 
  
 
Улучшено отслеживание состояния перегенерации пакета polygon.
 
Улучшено отслеживание состояния перегенерации пакета polygon.
  
=== ej-super-run ===
+
=== [[ej-super-run]] ===
  
Добавлена опция '-p' для установки альтернативного
+
Добавлена опция '-p' для установки альтернативного имени каталога программы.
имени каталога программы.
 
  
Добавлена опция '-a' для задания альтернативного размещения
+
Добавлена опция '-a' для задания альтернативного размещения файла журнала.
файла журнала.
 
  
Во всех конфигурациях тестирования переменная окружения LC_CTYPE
+
Во всех конфигурациях тестирования переменная окружения LC_CTYPE устанавливается в значение "C".  
устанавливается в значение "C".  
 
  
=== ej-super-server ===
+
=== [[ej-super-server]] ===
  
Исправления ошибок работы с .tgz архивами при генерации Makefile
+
Исправления ошибок работы с .tgz архивами при генерации Makefile в каталоге задачи.
в каталоге задачи.
 
  
 
В Makefile корректно передаются переменные окружения для валидатора.
 
В Makefile корректно передаются переменные окружения для валидатора.
  
=== ej-users ===
+
=== [[ej-users]] ===
  
 
Упрощены ограничения на восстановление пароля.
 
Упрощены ограничения на восстановление пароля.
Line 114: Line 72:
 
=== Стандартные проверяющие программы ===
 
=== Стандартные проверяющие программы ===
  
Все стандартные проверяющие программы, работающие с текстовыми
+
Все стандартные проверяющие программы, работающие с текстовыми файлами, поддерживают переменную окружения EJ_REQUIRE_NL. Если данная переменная установлена, то в конце проверяемого вывода требуется наличие символа \n. Если символ \n отсутствует, проверяющие программы выдают
файлами, поддерживают переменную
 
окружения EJ_REQUIRE_NL. Если данная переменная установлена,
 
то в конце проверяемого вывода требуется наличие символа \n.
 
Если символ \n отсутствует, проверяющие программы выдают
 
 
ошибку Presentation Error.
 
ошибку Presentation Error.
  

Revision as of 10:54, 10 November 2012

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

Исправлены проблемы компиляции на платформе Win32.

Исправлены проблемы компиляции и запуска с установленным режимом --disable-rpath.

ejudge-configure-compilers

Улучшен алгоритм назначения Id языков программирования. Самый высокий приоритет имеет сохранение Id языков программирования, ранее уже назначенных и сохраненных в конфигурационном файле программы ej-compile.

Файл lang_ids.cfg ищется и в конфигурационных каталогах ej-compile, и в инсталляционных каталогах ejudge.

Если для языка программирования отсутствует Id языка, хранящийся в файле lang_ids.cfg, такому языку программирования назначается Id, начинающийся от 90.

Если у двух языков программирования Id совпадают, одному из языков назначается Id, растущий от 89 в сторону уменьшения.

Добавлена поддержка для языков clang, clang++, gccgo

ej-contests

Добавлены новые статусы посылки:

RUN_WALL_TIME_LIMIT_ERR устанавливается, когда при запуске тестируемой программы было превышено астрономическое время работы программы. В предыдущих версиях ejudge в этом случае использовался статус RUN_TIME_LIMIT_ERR.

RUN_PENDING_REVIEW устанавливается для задач, у которых установлен режим проверки use_ac_not_ok, то есть в режиме, когда окончательное решение по посылке принимается судьей или администратором турнира. В предыдущих версиях ejudge в этом случае использовался статус RUN_ACCEPTED. Статус RUN_ACCEPTED теперь используется только для турниров OLYMPIAD.

RUN_REJECTED может устанавливаться администратором или судьей для посылок, имевших статус RUN_PENDING_REVIEW, в случае не соблюдения каких либо требований, проверяемых вручную. Ранее в этом случае использовался статус RUN_STYLE_ERR, который теперь используется только в случае, когда посылка отвергается автоматической программой проверки стиля.

При хранении посылки в базе данных или в бинарном файле в структуру описателя посылки добавлено поле passed_mode. Это поле устанавливается в 1 для всех сохраняемых в базе посылок. Таким образом, значение поля равно 0 для посылок, сохраненных в базе предыдущими версиями ejudge.

Если поле 'passed_mode' установлено в 1, то в поле 'test' всегда хранится количество тестов, успешно пройденных программой. Если поле 'passed_mode' установлено в 0, то значение поля 'test' интерпретируется в режиме совместимости с предыдущими версиями ejudge, то есть 'test' хранит номер первого непройденного теста в режиме ACM или MOSCOW и количество пройденных тестов в режиме KIROV.

В судейском протоколе тестирования выводится информация о ЦП, на котором выполнялось тестирование.

Исправлена ошибка, возникавшая при попытке удаления виртуальных записей (VIRTUAL_START, VIRTUAL_STOP).

При перетестировании посылок (по разным критериям), перетестируемые посылки получают приоритет 10 (а не 0, как было в предыдущей версии).

Добавлена глобальная конфигурационная переменная 'printout_uses_login'. Если она установлена в 1, то на распечатках решений участников выводится логин участника, а не его имя (название команды).

Убрано ограничение в 256 символов на длину значения конфигурационной переменной 'test_score_list' раздела описания задачи.

Добавлена конфигурационная переменная 'super_run_dir' раздела описания задачи, с помощью которой можно задавать тестирующий компьютер, на котором будут тестироваться решения по данной задаче.

Исправлена ошибка при печати решений участников, в именах которых есть символ '/'.

ej-polygon

Поддерживается приоритет языков (ru, en), задаваемый в конфигурационном параметре 'language_priority'.

Улучшено отслеживание состояния перегенерации пакета polygon.

ej-super-run

Добавлена опция '-p' для установки альтернативного имени каталога программы.

Добавлена опция '-a' для задания альтернативного размещения файла журнала.

Во всех конфигурациях тестирования переменная окружения LC_CTYPE устанавливается в значение "C".

ej-super-server

Исправления ошибок работы с .tgz архивами при генерации Makefile в каталоге задачи.

В Makefile корректно передаются переменные окружения для валидатора.

ej-users

Упрощены ограничения на восстановление пароля.

Стандартные проверяющие программы

Все стандартные проверяющие программы, работающие с текстовыми файлами, поддерживают переменную окружения EJ_REQUIRE_NL. Если данная переменная установлена, то в конце проверяемого вывода требуется наличие символа \n. Если символ \n отсутствует, проверяющие программы выдают ошибку Presentation Error.

Таким образом, при включенном режиме EJ_REQUIRE_NL вывод

printf("%d", a + b);

приведет к ошибке Presentation Error, а вывод

printf("%d\n", a + b)

будет признан корректным.