Модуль | Имя | Версия | Лицензия | Источник | Языки | Платформы | Тип | Автор | Описание |
---|---|---|---|---|---|---|---|---|---|
SystemTests | Тесты OpenSCADA и её модулей | 1.8 | GPL2 | spec_SystemTests.so | en,uk,ru,de | x86,x86_64,ARM | Специальные | Роман Савоченко | Предоставляет группу тестов для OpenSCADA и её модулей. |
Модуль содержит набор тестов, предназначенных для тестирования различных подсистем и узлов OpenSCADA. Тесты выполнены в виде функций пользовательского API, следовательно их можно запускать как одноразово, во вкладке "Исполнить" страницы объекта функции, так и из пользовательских процедур, передавая в них нужные аргументы.
Для адресации к тестам можно использовать статический адрес вызова Special.SystemTests.{Test}() или динамический SYS.Special.SystemTests["{Test}"].call(), SYS.Special.SystemTests.{Test}(). Где Test — идентификатор функции в библиотеке.
Кроме механизмов обычного исполнения функций пользовательского API, предусмотрен автономный механизм. Этот механизм представлен отдельной задачей, исполняющейся с периодом в одну секунду, и в которой осуществляется вызов функций тестов согласно настроек в конфигурационном файле.
Конфигурационные поля тестов помещаются в секцию модуля "SystemTests" подсистемы "Специальные". Формат конфигурационных полей <prm id="Test Id" on="1" per="10" />
Где:
- id — идентификатор теста;
- on — признак "Тест включен";
- per — период повторения теста (секунд).
Кроме основных атрибутов осуществляется отражение входных параметров функций тестов на одноимённые атрибуты тега "prm". Например, атрибут "name" функции "Param" можно указать в теге "prm".
Допускается указание множества тегов "prm" для одного или разных тестов с одинаковыми или различными параметрами, указывая тем самым на отдельный запуск теста с указанными параметрами. Приведём пример описания всех доступных тестов:
<?xml version="1.0" encoding="UTF-8" ?>
<OpenSCADA>
<station id="DemoStation">
<node id="sub_Special">
<node id="mod_SystemTests">
<prm id="Param" on="0" per="5" name="LogicLev.experiment.F3"/>
<prm id="XML" on="0" per="10" file="/etc/oscada.xml"/>
<prm id="Mess" on="0" per="10" categ="" arhtor="DBArch.test3" depth="10"/>
<prm id="SOAttach" on="0" per="20" name="../../lib/openscada/daq_LogicLev.so" mode="0" full="1"/>
<prm id="Val" on="0" per="1" name="LogicLev.experiment.F3.var" arch_len="5" arch_per="1000000"/>
<prm id="Val" on="0" per="1" name="System.AutoDA.CPULoad.load" arch_len="10" arch_per="1000000"/>
<prm id="DB" on="0" per="10" type="MySQL" addr="server.diya.org;roman;123456;oscadaTest" table="test" size="1000"/>
<prm id="DB" on="0" per="10" type="DBF" addr="./DATA/DBF" table="test.dbf" size="1000"/>
<prm id="DB" on="0" per="10" type="SQLite" addr="./DATA/test.db" table="test" size="1000"/>
<prm id="DB" on="0" per="10" type="FireBird" addr="server.diya.org:/var/tmp/test.fdb;roman;123456" table="test" size="1000"/>
<prm id="TrOut" on="0" per="1" addr="TCP:127.0.0.1:10001" type="Sockets" req="time"/>
<prm id="TrOut" on="0" per="1" addr="UDP:127.0.0.1:10001" type="Sockets" req="time"/>
<prm id="TrOut" on="0" per="1" addr="UNIX:./oscada" type="Sockets" req="time"/>
<prm id="TrOut" on="0" per="1" addr="UDP:127.0.0.1:daytime" type="Sockets" req="time"/>
<prm id="SysContrLang" on="0" per="10" path="/Archive/FSArch/mess_StatErrors/%2fprm%2fst"/>
<prm id="ValBuf" on="0" per="5"/>
<prm id="Archive" on="0" per="30" arch="test1" period="1000000"/>
<prm id="Base64Code" on="0" per="10"/>
</node>
</node>
</station>
</OpenSCADA>
Contents
1 Параметр (Param)
Описание: "Тест DAQ параметров. Вычитывает атрибуты и конфигурационные поля параметра.
Параметры:
Идентификатор | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат | |
name | Адрес DAQ параметра | Строка | Вход | System.AutoDA.CPULoad |
2 Разбор XML (XML)
Описание: Тест разбора файла XML. Разбирает и отображает структуру указанного файла.
Параметры:
Идентификатор | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат | |
file | XML файл | Строка | Вход |
3 Сообщения (Mess)
Описание: Тест архива сообщений. Периодически вычитывает новые сообщения из архива, для указанного архиватора.
Параметры:
Идентификатор | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат | |
arhtor | Архиватор | Строка | Вход | FSArch.StatErrors |
categ | Шаблон категории сообщения | Строка | Вход | |
depth | Глубина сообщения, секунд | Целый | Вход | 10 |
4 Подключение SO (SOAttach)
Описание: Тест подключения/отключения модуля.
Параметры:
Идентификатор | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат | |
name | Путь к модулю | Строка | Вход | |
mode | Режим (1-подключение;-1-отключение;0-изменение) | Целый | Вход | 0 |
full | Полное подключение (при старте) | Bool | Вход | 1 |
5 Атрибут параметра (Val)
Описание: Тест значений атрибута параметра. Выполняет периодический опрос последнего значения указанного атрибута, а также опрос архива на указанную глубину.
Параметры:
Идентификатор | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат | |
name | Путь к атрибуту параметра | Строка | Вход | System.AutoDA.CPULoad.load |
arch_len | Глубина получения архивных значений, секунд | Целый | Вход | 10 |
arch_per | Период получения архивных значений, микросекунды | Целый | Вход | 1000000 |
6 Тест БД (DB)
Описание: Полный тест БД. Выполняет:
- создание/открытие БД;
- создание/открытие таблицы;
- создание множества записей (строк) предопределённой структуры;
- обновление множества записей;
- обновление множества записей по ключу запроса;
- получение и проверка значений множества записей;
- сканирование записей;
- сканирование записей предзагрузкой;
- модификация структуры записи и таблицы;
- удаление записей;
- закрытие/удаление таблицы;
- закрытие/удаление БД.
Параметры:
Идентификатор | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат | |
type | Тип БД | Строка | Вход | SQLite |
addr | Адрес БД | Строка | Вход | ./DATA/test.db |
table | Таблица БД | Строка | Вход | test |
size | Количество записей | Целый | Вход | 1000 |
7 Транспорт (TrOut)
Описание: Тест выходного и/или входного транспортов. Выполняет тестирование выходного транспорта путём отправки запроса к указанному входному транспорту.
Параметры:
Идентификатор | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат | |
addr | Адрес | Строка | Вход | TCP:127.0.0.1:10001 |
type | Модуль транспорта | Строка | Вход | Sockets |
req | Текст запроса | Строка | Вход |
8 Язык управления программой (SysContrLang)
Описание: Тест языка управления программой. Производит запрос элементов языка посредством полного пути. Полный путь к элементу языка имеет вид "/Archive/%2fbd%2fm_per". Полный путь состоит из двух вложенных путей. Первый "/Archive/" это путь к узлу дерева контроля. Второй "/bd/m_per" это путь к конкретному элементу узла.
Параметры:
Идентификатор | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат | |
path | Путь к элементу языка | Строка | Вход | /Archive/BaseArh/mess_StatErrors/%2fprm%2fst |
9 Буфер значений (ValBuf)
Описание: Тесты буфера значений. Содержит 13 тестов всех аспектов буфера значений (подсистема "Архивы-История").
Параметры:
Идентификатор | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат |
10 Архив значений (Archive)
Описание: Тест размещения в архиве значений. Содержит 7(8) тестов архиватора значений на проверку корректности функционирования последовательного механизма упаковки.
Параметры:
Идентификатор | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат | |
arch | Архив значений | Строка | Вход | |
period | Период значений, микросекунды | Целый | Вход | 1000000 |
archtor | Архиватор | Строка | Вход |
11 Base64 кодирование (Base64Code)
Описание: Тесты кодирования Mime Base64 алгоритмом.
Параметры:
Идентификатор | Имя | Тип | Режим | По умолчанию |
---|---|---|---|---|
rez | Результат | Строка | Возврат |