Difference between revisions of "Потестовая компиляция"

From EjudgeWiki
Line 4: Line 4:
  
 
Конфигурационные переменные: <tt>[[serve.cfg:problem:enable_multi_header|enable_multi_header]]</tt>, <tt>[[serve.cfg:problem:use_lang_multi_header|use_lang_multi_header]]</tt>, <tt>[[serve.cfg:problem:header_pat|header_pat]]</tt>, <tt>[[serve.cfg:problem:footer_pat|footer_pat]]</tt>, <tt>[[serve.cfg:problem:compiler_env_pat|compiler_env_pat]]</tt>
 
Конфигурационные переменные: <tt>[[serve.cfg:problem:enable_multi_header|enable_multi_header]]</tt>, <tt>[[serve.cfg:problem:use_lang_multi_header|use_lang_multi_header]]</tt>, <tt>[[serve.cfg:problem:header_pat|header_pat]]</tt>, <tt>[[serve.cfg:problem:footer_pat|footer_pat]]</tt>, <tt>[[serve.cfg:problem:compiler_env_pat|compiler_env_pat]]</tt>
 +
 +
В режиме потестовой компиляции генерируется отдельный исполняемый файл для каждого теста. При компиляции для каждого теста может быть задан индивидуальный заголовочный или хвостовой файл и индивидуальные опции компиляции.
 +
 +
По-прежнему, тестирование программы состоит из фазы компиляции и фазы прогона на тестах, но в случае потестовой компиляции фаза компиляции выдает в качестве результата .zip-архив со всеми скомпилированными исполняемыми файлами.
 +
 +
При потестовой компиляции компиляция всегда выполняется для всех тестов и не прерывается, если компиляция исполняемого файла для какого-либо теста привела к ошибке компиляции. Поэтому в протоколе компиляции всегда будут сообщения об ошибках и предупреждениях компиляции для всех тестов. Однако, если компиляция хотя бы одного исполняемого файла была неудачна, то вся стадия компиляции завершается с вердиктом ошибки компиляции.
 +
 +
При потестовой компиляции заголовочные, хвостовые и файлы опций компиляции располагаются в каталоге с тестами.
 +
 +
Режим потестовой компиляции включается для каждой задачи индивидуально или с помощью задания в абстрактной задаче положительного значения конфигурационной переменной <tt>[[serve.cfg:problem:enable_multi_header|enable_multi_header]]</tt>.
 +
Если включен режим потестовой компиляции, то должен быть задан хотя бы один из шаблонов имен файлов: для заголовочного файла, для хвостового файла или для файла с опциями компиляции. Могут быть заданы несколько или все шаблоны имен файлов.

Revision as of 15:53, 2 February 2016

Навигация: Главная страница/Система ejudge/Использование/Потестовая компиляция

Поддерживается начиная с версии 3.5.1

Конфигурационные переменные: enable_multi_header, use_lang_multi_header, header_pat, footer_pat, compiler_env_pat

В режиме потестовой компиляции генерируется отдельный исполняемый файл для каждого теста. При компиляции для каждого теста может быть задан индивидуальный заголовочный или хвостовой файл и индивидуальные опции компиляции.

По-прежнему, тестирование программы состоит из фазы компиляции и фазы прогона на тестах, но в случае потестовой компиляции фаза компиляции выдает в качестве результата .zip-архив со всеми скомпилированными исполняемыми файлами.

При потестовой компиляции компиляция всегда выполняется для всех тестов и не прерывается, если компиляция исполняемого файла для какого-либо теста привела к ошибке компиляции. Поэтому в протоколе компиляции всегда будут сообщения об ошибках и предупреждениях компиляции для всех тестов. Однако, если компиляция хотя бы одного исполняемого файла была неудачна, то вся стадия компиляции завершается с вердиктом ошибки компиляции.

При потестовой компиляции заголовочные, хвостовые и файлы опций компиляции располагаются в каталоге с тестами.

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