Difference between revisions of "Изменения в версии 2.3.25"
(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. |
− | в файле | ||
− | Id, начинающийся от 90. | ||
− | Если у двух языков программирования Id совпадают, одному из | + | Если у двух языков программирования Id совпадают, одному из языков назначается Id, растущий от 89 в сторону уменьшения. |
− | языков назначается Id, растущий от 89 в сторону уменьшения. | ||
Добавлена поддержка для языков clang, clang++, gccgo | Добавлена поддержка для языков clang, clang++, gccgo | ||
− | === ej-contests === | + | === [[ej-contests]] === |
Добавлены новые статусы посылки: | Добавлены новые статусы посылки: | ||
− | |||
− | |||
− | |||
− | |||
− | + | <tt>RUN_WALL_TIME_LIMIT_ERR</tt> устанавливается, когда при запуске тестируемой программы было превышено астрономическое время работы программы. В предыдущих версиях ejudge в этом случае использовался статус <tt>RUN_TIME_LIMIT_ERR</tt>. | |
− | |||
− | |||
− | |||
− | случае использовался статус | ||
− | |||
− | + | <tt>RUN_PENDING_REVIEW</tt> устанавливается для задач, у которых установлен режим проверки use_ac_not_ok, то есть в режиме, когда окончательное решение по посылке принимается судьей или администратором турнира. В предыдущих версиях ejudge в этом случае использовался статус <tt>RUN_ACCEPTED</tt>. Статус <tt>RUN_ACCEPTED</tt> теперь используется только для турниров OLYMPIAD. | |
− | для | ||
− | |||
− | |||
− | |||
− | |||
− | + | <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' установлено в 0, то значение поля 'test' интерпретируется в режиме совместимости с предыдущими версиями ejudge, то есть 'test' хранит номер первого непройденного теста в режиме ACM или MOSCOW и количество пройденных тестов в режиме KIROV. | |
− | |||
− | + | В судейском протоколе тестирования выводится информация о ЦП, на котором выполнялось тестирование. | |
− | |||
− | + | Исправлена ошибка, возникавшая при попытке удаления виртуальных записей (VIRTUAL_START, VIRTUAL_STOP). | |
− | |||
− | |||
− | + | При перетестировании посылок (по разным критериям), перетестируемые посылки получают приоритет 10 (а не 0, как было в предыдущей версии). | |
− | |||
− | |||
− | + | Добавлена глобальная конфигурационная переменная 'printout_uses_login'. Если она установлена в 1, то на распечатках решений участников выводится логин участника, а не его имя (название команды). | |
− | |||
− | Добавлена конфигурационная переменная '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.
Contents
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)
будет признан корректным.