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