Модуль | Ім'я | Версія | Ліцензія | Джерело | Мови | Платформи | Тип | Автор | Опис |
---|---|---|---|---|---|---|---|---|---|
SystemTests | Тести OpenSCADA та її модулів | 1.5 | GPL2 | spec_SystemTests.so | en,uk,ru,de | x86,x86_64,ARM | Спеціальні | Роман Савоченко | Надає групу тестів для OpenSCADA та її модулів. |
Спеціальний модуль "SystemTests" містить набір тестів, призначених для тестування різних підсистем та вузлів 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" />
Де:
Окрім основних атрибутів здійснюється відображення вхідних параметрів функцій тестів на однойменні атрибути тегу "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>
Опис: Тест DAQ параметрів. Вичитує атрибути та конфігураційні поля параметру.
Параметри:
ID | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
name | Адреса DAQ параметру | Рядок | Вхід | System.AutoDA.CPULoad |
Опис: Тест розбору файлу XML. Парсить та відображає структуру визначеного файлу.
Параметри:
ID | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
file | XML файл | Рядок | Вхід |
Опис: Тест архіву повідомлень. Періодично вичитує нові повідомлення з архіву, для визначеного архіватору.
Параметри:
ID | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
arhtor | Архіватор | Рядок | Вхід | FSArch.StatErrors |
categ | Шаблон категорії повідомлення | Рядок | Вхід | |
depth | Глибина повідомлення, с | Цілий | Вхід | 10 |
Опис: Тест підключення/відключення модулів.
Параметри:
ID | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
name | Шлях до модулю | Рядок | Вхід | |
mode | Режим (1-підключ.;-1-відключ.;0-зміна) | Цілий | Вхід | 0 |
full | Повне підключення(при старті) | Bool | Вхід | 1 |
Опис: Тест значень атрибуту параметру. Здійснює періодичне опитування останнього значення вказаного атрибуту, а також опитування архіву на визначену глибину.
Параметри:
ID | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
name | Шлях до атрибуту параметру | Рядок | Вхід | System.AutoDA.CPULoad.load |
arch_len | Глибина запиту до архіву значень, с | Цілий | Вхід | 10 |
arch_per | Період запиту до архіву значень, мкс | Цілий | Вхід | 1000000 |
Опис: Повний тест БД. Здійснює:
Параметри:
ID | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
type | Тип БД | Рядок | Вхід | SQLite |
addr | Адреса БД | Рядок | Вхід | ./DATA/test.db |
table | Таблиця БД | Рядок | Вхід | test |
size | Кількість записів | Цілий | Вхід | 1000 |
Опис: Тест вихідних та/або вхідних транспортів. Здійснює тестування вихідного транспорту шляхом надсилання запиту до визначеного вхідного транспорту.
Параметри:
ID | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
addr | Адреса | Рядок | Вхід | TCP:127.0.0.1:10001 |
type | Модуль транспорту | Рядок | Вхід | Sockets |
req | Текст запиту | Рядок | Вхід |
Опис: Тест мови управління програмою. Здійснює запит елементів мови за посередництвом повного шляху. Повний шлях до елементу мови має вигляд "/Archive/%2fbd%2fm_per". Повний шлях складається з двох вкладених шляхів. Перший "Archive" це шлях до вузла дерева контролю. Другий "/bd/m_per" це шлях до конкретного елементу вузла.
Параметри:
ID | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
path | Шлях до елементу мови | Рядок | Вхід | /Archive/BaseArh/mess_StatErrors/%2fprm%2fst |
Опис: Тести буферу значень. Містить 13 тестів всіх аспектів буферу значень (підсистема "Архіви").
Параметри:
ID | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення |
Опис: Тести розташування у архіві значень. Містить 7(8) тестів архіватору значень на перевірку коректності функціювання послідовного механізму упаковки.
Параметри:
ID | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення | |
arch | Архів значень | Рядок | Вхід | |
period | Період значень, мкс | Цілий | Вхід | 1000000 |
archtor | Архіватор | Рядок | Вхід |
Опис: Тести кодування Mime Base64 алгоритмом.
Параметри:
ID | Ім'я | Тип | Режим | По замовченню |
---|---|---|---|---|
rez | Результат | Рядок | Повернення |