Difference between revisions of "Style archive"
Line 4: | Line 4: | ||
Параметры проверки архива могут задаваться в командной строке и в переменных окружения. Параметры, заданные в командной строке, переопределяют параметры, заданные в переменных окружения. | Параметры проверки архива могут задаваться в командной строке и в переменных окружения. Параметры, заданные в командной строке, переопределяют параметры, заданные в переменных окружения. | ||
− | Программа в настоящее время поддерживает только архивы | + | Программа в настоящее время поддерживает только архивы, основанные на формате TAR с последующим сжатием. |
Все диагностические сообщения выводятся на стандартный поток ошибок. В случае, если архив был отвергнут программой, диагностические сообщения могут использоваться для обнаружения и устранения причины ошибки. Если архив оказался корректным, то на стандартный поток вывода выводится содержимое файла <tt>README</tt> и тестовых файлов. | Все диагностические сообщения выводятся на стандартный поток ошибок. В случае, если архив был отвергнут программой, диагностические сообщения могут использоваться для обнаружения и устранения причины ошибки. Если архив оказался корректным, то на стандартный поток вывода выводится содержимое файла <tt>README</tt> и тестовых файлов. | ||
Line 34: | Line 34: | ||
<td width="10%"><tt>-c NUM</tt></td> | <td width="10%"><tt>-c NUM</tt></td> | ||
<td>Позволяет задать максимальное число тестов в архиве. Если общее число тестов в архиве превосходит указанную величину, архив отвергается. См. также переменную окружения <tt>EJ_MAX_TEST_COUNT</tt>. Значение по умолчанию — 99.</td> | <td>Позволяет задать максимальное число тестов в архиве. Если общее число тестов в архиве превосходит указанную величину, архив отвергается. См. также переменную окружения <tt>EJ_MAX_TEST_COUNT</tt>. Значение по умолчанию — 99.</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width="10%"><tt>-i PAT</tt></td> | ||
+ | <td>Позволяет задать шаблон для файлов с тестовыми данными. См. также переменную окружения <tt>EJ_INPUT_PATTERN</tt>. Значение по умолчанию — <tt>%03d.dat</tt>.</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width="10%"><tt>-o PAT</tt></td> | ||
+ | <td>Позволяет задать шаблон для файлов с правильными ответами. См. также переменную окружения <tt>EJ_OUTPUT_PATTERN</tt>. Значение по умолчанию — <tt>%03d.ans</tt>.</td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
Line 40: | Line 48: | ||
=== Переменные окружения === | === Переменные окружения === | ||
+ | |||
+ | Поддерживаются следующие переменные окружения. | ||
+ | |||
+ | <table border="1"> | ||
+ | <tr> | ||
+ | <td width="15%"><tt>EJ_MAX_ARCHIVE_SIZE=SZ</tt></td> | ||
+ | <td>Позволяет задать максимальный суммарный размер файлов после разархивирования. См. параметр командной строки <tt>-z</tt>.</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width="15%"><tt>EJ_MAX_FILE_SIZE=SZ</tt></td> | ||
+ | <td>Позволяет задать максимальный размер файла после разархивирования. См. параметр командной строки <tt>-f</tt>.</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width="15%"><tt>EJ_MAX_FILE_COUNT=NUM</tt></td> | ||
+ | <td>Позволяет задать максимальное число файлов в архиве. См. параметр командной строки <tt>-n</tt>.</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width="15%"><tt>EJ_MAX_TEST_COUNT=NUM</tt></td> | ||
+ | <td>Позволяет задать максимальное число тестов в архиве. См. параметр командной строки <tt>-c</tt>.</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width="15%"><tt>EJ_INPUT_PATTERN=PAT</tt></td> | ||
+ | <td>Позволяет задать шаблон для файлов с тестовыми данными. См. параметр командной строки <tt>-i</tt>.</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width="15%"><tt>EJ_OUTPUT_PATTERN=PAT</tt></td> | ||
+ | <td>Позволяет задать шаблон для файлов с ответами к тестовым данным. См. параметр командной строки <tt>-o</tt>.</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | В переменных окружения, требующих размер (обозначается <tt>SZ</tt>), допускается использование суффиксов <tt>K</tt>, <tt>M</tt> или <tt>G</tt>, обозначающих масштабные множители для килобайта, мегабайта и гигабайта соответственно. | ||
+ | |||
+ | === Поддерживаемые форматы архивов === | ||
+ | |||
+ | <table border="1"> | ||
+ | <tr> | ||
+ | <th>Формат</th> | ||
+ | <th>Описание</th> | ||
+ | <th>Команда создания</th> | ||
+ | <th>Команда разархивирования</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>tar</td> | ||
+ | <td>Несжатый архив</td> | ||
+ | <td><tt>tar cf file.tar tests</tt></td> | ||
+ | <td><tt>tar xf file.tar</tt></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>tgz</td> | ||
+ | <td>Архив tar, сжатый программой gzip</td> | ||
+ | <td><tt>tar cfz file.tgz tests</tt></td> | ||
+ | <td><tt>tar xf file.tgz</tt></td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>tbz</td> | ||
+ | <td>Архив tar, сжатый программой bzip2</td> | ||
+ | <td><tt>tar cfj file.tgz tests</tt></td> | ||
+ | <td><tt>tar xf file.tgz</tt></td> | ||
+ | </tr> | ||
+ | </table> |
Revision as of 14:34, 30 June 2010
Навигация: Главная страница/Система ejudge/Использование/Виды задач/Задача на написание тестов/Программа style_archive
Программа style_archive предназначена для проверки правильности структуры архива с тестами, сдаваемого в случае задач на написание тестов. Программа входит в состав системы ejudge. Параметры проверки архива могут задаваться в командной строке и в переменных окружения. Параметры, заданные в командной строке, переопределяют параметры, заданные в переменных окружения.
Программа в настоящее время поддерживает только архивы, основанные на формате TAR с последующим сжатием.
Все диагностические сообщения выводятся на стандартный поток ошибок. В случае, если архив был отвергнут программой, диагностические сообщения могут использоваться для обнаружения и устранения причины ошибки. Если архив оказался корректным, то на стандартный поток вывода выводится содержимое файла README и тестовых файлов.
В случае успешного завершения программа завершается с кодом 0. В случае ошибки код завершения — 1.
Использование
Программа используется следующим образом.
style_archive [OPTIONS...] ARCHIVE-NAME
Здесь ARCHIVE-NAME — это путь к файлу проверяемого архива. Программа поддерживает следующие опции командной строки.
-z SZ | Позволяет задать максимальный суммарный размер файлов после разархивирования. Если суммарный размер файлов в архиве превосходит указанную величину, архив отвергается. См. также переменную окружения EJ_MAX_ARCHIVE_SIZE. Значение по умолчанию — 1 мегабайт. |
-f SZ | Позволяет задать максимальный размер одного файла после разархивирования. Если размер какого-либо файла в архиве превосходит указанную величину, архив отвергается. См. также переменную окружения EJ_MAX_FILE_SIZE. Значение по умолчанию — 1 мегабайт. |
-n NUM | Позволяет задать максимальное число файлов в архиве. Если общее число файлов в архиве превосходит указанную величину, архив отвергается. См. также переменную окружения EJ_MAX_FILE_COUNT. Значение по умолчанию — 128. |
-c NUM | Позволяет задать максимальное число тестов в архиве. Если общее число тестов в архиве превосходит указанную величину, архив отвергается. См. также переменную окружения EJ_MAX_TEST_COUNT. Значение по умолчанию — 99. |
-i PAT | Позволяет задать шаблон для файлов с тестовыми данными. См. также переменную окружения EJ_INPUT_PATTERN. Значение по умолчанию — %03d.dat. |
-o PAT | Позволяет задать шаблон для файлов с правильными ответами. См. также переменную окружения EJ_OUTPUT_PATTERN. Значение по умолчанию — %03d.ans. |
В параметрах, требующих размер (обозначается SZ), допускается использование суффиксов K, M или G, обозначающих масштабные множители для килобайта, мегабайта и гигабайта соответственно.
Переменные окружения
Поддерживаются следующие переменные окружения.
EJ_MAX_ARCHIVE_SIZE=SZ | Позволяет задать максимальный суммарный размер файлов после разархивирования. См. параметр командной строки -z. |
EJ_MAX_FILE_SIZE=SZ | Позволяет задать максимальный размер файла после разархивирования. См. параметр командной строки -f. |
EJ_MAX_FILE_COUNT=NUM | Позволяет задать максимальное число файлов в архиве. См. параметр командной строки -n. |
EJ_MAX_TEST_COUNT=NUM | Позволяет задать максимальное число тестов в архиве. См. параметр командной строки -c. |
EJ_INPUT_PATTERN=PAT | Позволяет задать шаблон для файлов с тестовыми данными. См. параметр командной строки -i. |
EJ_OUTPUT_PATTERN=PAT | Позволяет задать шаблон для файлов с ответами к тестовым данным. См. параметр командной строки -o. |
В переменных окружения, требующих размер (обозначается SZ), допускается использование суффиксов K, M или G, обозначающих масштабные множители для килобайта, мегабайта и гигабайта соответственно.
Поддерживаемые форматы архивов
Формат | Описание | Команда создания | Команда разархивирования |
---|---|---|---|
tar | Несжатый архив | tar cf file.tar tests | tar xf file.tar |
tgz | Архив tar, сжатый программой gzip | tar cfz file.tgz tests | tar xf file.tgz |
tbz | Архив tar, сжатый программой bzip2 | tar cfj file.tgz tests | tar xf file.tgz |