Файлы описания задания для Test Grid.
Версия документа : 0.2
История изменений:
18 окт. 2005 - Исправлены неточности в формате файла для Java [Кузнецов А.]
17 окт. 2005 - Исправлены неточности в формате файла для Java [Кузнецов А.]
17 окт. 2005 - Изменен формат файла
описания: добавлен числовой идентификатор теста
[Савенко Д.]
12 окт. 2005 - Первая версия документа [Кузнецов А.]
1. Назначение файла описания
Файл описания поставляется с каждым рабочим модулем системы BOINC.
Файл описания используется клиентом системы BOINC и тестирующим модулем.
В этом файле содержатся следующие сведения:
- Тип задания.
- Ссылка на файл, содержащий описание задания.
в дальнейшем, если понадобится, будут введены какие-либо дополнительные теги, например "extension_tag".
При этом использование происходит следующим образом: клиент принимает решение о возможности
запуска теста на основе информации о типе задания и запускает тестирующий модуль.
Тестирующий модуль проверяет системные требования и запускает тесты поочереди по списку.
В случае, если тестурующий модуль обнаруживает, что система не удовлетворяет системным требованиям,
результат со специфической ошибкой возвращается клиенту без запуска каких-либо тестов из списка.
Тестурующий модуль способен распознавать определенные параметры указанные для каждого теста, и применить их.
Список распознаваемых параметров будет указан в документации к каждому тестирующему модулю.
2. Формат файла описания
Файл описания задания будет представлять собой XML-файл определенной структуры.
<?xml version="1.0"?>
<test type="JavaTest">
<description file="./description.xml"/>
<extension_tag>
...
</extension_tag>
</test>
Файл description.xml в данном примере, будет содержать информацию о системных требованиях к тестам.
Данные сведения будут иметь специфичную для каждого типа тестов структуру.
Также он содержит список тестов и параметров к ним.
3. Формат файла описания для Java-тестов
Ниже приведен пример файла описания системных требований и набора
Java-тестов. Описание тестирующего модуля для Java-кода
здесь.
Требования описываются в разделе <demands> и разделены на несколько категорий.
Это сделано для возможности расширить наборы тестов введением дополнительных модулей.
Изначально существуют следующие категории:
<jvm> - Определяют необходимые параметры JVM
<jdk> - Определяют необходимые параметры JDK (набор библиотек-тестов, выясняющих комплектацию JDK)
Далее следует список тестов в разделе <tests>.
Каждый тест характеризуется осмысленным именем, именем класса для запуска,
максимальным временем тестирования.
<?xml version="1.0"?>
<description>
<demands>
<jvm>
<version>1.5.0.4\1.4.2\1.3</version>
<vendor>Sun\Bea\... или *</vendor>
<architecture>x86</architecture>
....
</jvm>
<jdk>
<module>JavaMail</module>
<module>JAF</module>
<module>JAXP</module>
....
</jdk>
</demands>
<tests>
<test id="1">
<name>MegaClassTest</name>
<class>com.swsoft.coolprog.MegaClassTest</class>
<timeout>60</timeout>
....
</test>
</tests>
</description>