Difference between revisions of "Win32-тестирование"

From EjudgeWiki
 
(6 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
Начиная с версии 2.3.15 поддерживается тестирование программ на платформе Win32. Серверная часть при этом по-прежнему работает на Linux.
 
Начиная с версии 2.3.15 поддерживается тестирование программ на платформе Win32. Серверная часть при этом по-прежнему работает на Linux.
  
'''Внимание. В режиме тестирования под Windows не обеспечивается ограничение прав исполняемой программы.
+
<b>Внимание. В режиме тестирования под Windows не обеспечивается ограничение прав исполняемой программы.
 
НЕ РЕКОМЕНДУЕТСЯ использовать тестирование под Windows в ситуациях, когда тексты программ поступают
 
НЕ РЕКОМЕНДУЕТСЯ использовать тестирование под Windows в ситуациях, когда тексты программ поступают
из неконтролируемых источников.'''
+
из неконтролируемых источников.</b>
  
 
Ниже описываются шаги, которые необходимо выполнить, для включения поддержки тестирования на платформе Win32.
 
Ниже описываются шаги, которые необходимо выполнить, для включения поддержки тестирования на платформе Win32.
Line 11: Line 11:
 
CONTESTS_HOME_DIR обозначает каталог, в котором находятся каталоги турнира. Обычно это /home/judges или /var/lib/ejudge.
 
CONTESTS_HOME_DIR обозначает каталог, в котором находятся каталоги турнира. Обычно это /home/judges или /var/lib/ejudge.
  
1. Скачайте Пакет поддержки Win32-тестирования и разархивируйте его в каталоге CONTESTS_HOME_DIR. В результате должен появиться каталог win32_compile.
+
1. Скачайте [http://www.ejudge.ru/download/ejudge-win32-2.3.25.tgz Пакет поддержки Win32-тестирования (2.3.25)] и разархивируйте его в каталоге CONTESTS_HOME_DIR. В результате должен появиться каталог win32_compile.
  
2. Каталог CONTESTS_HOME_DIR должен быть доступен для чтения/записи с Windows-машины, на которой будет производиться компиляция и тестирование программ. Этого можно добиться либо с помощью samba, либо NFS, либо еще каким-либо другим средством. Для этого обратитесь к документации по Linux.
+
2. В каталоге win32_compile/scripts находятся скрипты компиляции. При необходимости модифицируйте пути в этих скриптах, чтобы они соответствовали установленным компиляторам на тестирующей машине. В настоящее время поддерживаются следующие компиляторы:
 +
* msvc - Microsoft Visual C
 +
* msvcpp - Microsoft Visual C++
 +
* msvb - Microsoft Visual Basic
 +
* msvcs - Microsoft Visual C#
 +
* delphi - Delphi
 +
* pasabc - Pascal ABC .NET
 +
 
 +
3. Создайте каталог win32_nwrun в каталоге CONTESTS_HOME_DIR.
 +
 
 +
4. С тестирующей Windows-машины должны быть доступны два каталога: win32_compile и win32_nwrun. Из соображений безопасности и защиты информации лучше не делать доступными другие каталоги, например каталоги турниров. Для этого достаточно подключить каталог win32_compile как один диск, назовем его EJUDGE_COMPILE_DRIVE, а win32_nwrun как другой диск, назовем его EJUDGE_NWRUN_DRIVE.
 +
 
 +
Пусть, например, каталог win32_compile подключен как диск K:, а каталог win32_nwrun подключен как диск J:, то есть EJUDGE_COMPILE_DRIVE равен K:, а EJUDGE_NWRUN_DRIVE равен J:
 +
 
 +
5. В каталоге EJUDGE_COMPILE_DRIVE/bin находится файл nwrun.cfg. Отредактируйте его таким образом, чтобы параметр spool_dir указывал на подключенный диск EJUDGE_NWRUN_DRIVE. Обратите внимание, что <b>не нужно</b> редактировать work_dir, параметр /TMPDIR будет автоматически заменен на путь к каталогу для временных файлов в системе.
 +
 +
Для запуска компиляции и тестирования на Windows-машине необходимо запустить программы ej-compile.exe и ej-nwrun.exe, которые находятся в каталоге EJUDGE_COMPILE_DRIVE/bin.
 +
 
 +
Программа ej-compile.exe запускается следующей командой:
 +
ej-compile -c EJUDGE_COMPILE_DRIVE
 +
не забудьте указать двоеточие после имени диска. Например:
 +
ej-compile -c K:
 +
 
 +
Программа ej-nwrun.exe запускается командой:
 +
ej-nwrun
 +
 
 +
Для включения поддержки Windows-компиляторов в турнирах выполните следующие действия:
 +
 
 +
1. Войдите в редактирование турнира в CGI-программе serve-control. Выберите закладку "Global settings (serve.cfg)".
 +
На этой странице установите параметр "Enable Win32 languages" в значение YES. Сохраните турнир (COMMIT Changes).
 +
 
 +
2. Второй раз войдите в редактирование турнира. В закладке Language settings должны быть доступны компиляторы Windows.

Latest revision as of 07:43, 25 November 2012

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

Начиная с версии 2.3.15 поддерживается тестирование программ на платформе Win32. Серверная часть при этом по-прежнему работает на Linux.

Внимание. В режиме тестирования под Windows не обеспечивается ограничение прав исполняемой программы. НЕ РЕКОМЕНДУЕТСЯ использовать тестирование под Windows в ситуациях, когда тексты программ поступают из неконтролируемых источников.

Ниже описываются шаги, которые необходимо выполнить, для включения поддержки тестирования на платформе Win32.

CONTESTS_HOME_DIR обозначает каталог, в котором находятся каталоги турнира. Обычно это /home/judges или /var/lib/ejudge.

1. Скачайте Пакет поддержки Win32-тестирования (2.3.25) и разархивируйте его в каталоге CONTESTS_HOME_DIR. В результате должен появиться каталог win32_compile.

2. В каталоге win32_compile/scripts находятся скрипты компиляции. При необходимости модифицируйте пути в этих скриптах, чтобы они соответствовали установленным компиляторам на тестирующей машине. В настоящее время поддерживаются следующие компиляторы:

  • msvc - Microsoft Visual C
  • msvcpp - Microsoft Visual C++
  • msvb - Microsoft Visual Basic
  • msvcs - Microsoft Visual C#
  • delphi - Delphi
  • pasabc - Pascal ABC .NET

3. Создайте каталог win32_nwrun в каталоге CONTESTS_HOME_DIR.

4. С тестирующей Windows-машины должны быть доступны два каталога: win32_compile и win32_nwrun. Из соображений безопасности и защиты информации лучше не делать доступными другие каталоги, например каталоги турниров. Для этого достаточно подключить каталог win32_compile как один диск, назовем его EJUDGE_COMPILE_DRIVE, а win32_nwrun как другой диск, назовем его EJUDGE_NWRUN_DRIVE.

Пусть, например, каталог win32_compile подключен как диск K:, а каталог win32_nwrun подключен как диск J:, то есть EJUDGE_COMPILE_DRIVE равен K:, а EJUDGE_NWRUN_DRIVE равен J:

5. В каталоге EJUDGE_COMPILE_DRIVE/bin находится файл nwrun.cfg. Отредактируйте его таким образом, чтобы параметр spool_dir указывал на подключенный диск EJUDGE_NWRUN_DRIVE. Обратите внимание, что не нужно редактировать work_dir, параметр /TMPDIR будет автоматически заменен на путь к каталогу для временных файлов в системе.

Для запуска компиляции и тестирования на Windows-машине необходимо запустить программы ej-compile.exe и ej-nwrun.exe, которые находятся в каталоге EJUDGE_COMPILE_DRIVE/bin.

Программа ej-compile.exe запускается следующей командой:

ej-compile -c EJUDGE_COMPILE_DRIVE

не забудьте указать двоеточие после имени диска. Например:

ej-compile -c K:

Программа ej-nwrun.exe запускается командой:

ej-nwrun

Для включения поддержки Windows-компиляторов в турнирах выполните следующие действия:

1. Войдите в редактирование турнира в CGI-программе serve-control. Выберите закладку "Global settings (serve.cfg)". На этой странице установите параметр "Enable Win32 languages" в значение YES. Сохраните турнир (COMMIT Changes).

2. Второй раз войдите в редактирование турнира. В закладке Language settings должны быть доступны компиляторы Windows.