Skip to content

OSLL/Middleware_testing

Repository files navigation

Middleware testing

О проекте

Проект предназначен для тестирования существующих middleware фреймворков. Для удобств тестирования был создан тестовый скрипт, который автоматизированно производит тестирование выбранных фреймворков согласно тестовым сценариям и конфигурационным файлам. Файлы тестового скрипта расположены в директории testing_tool.

Также для удобств написания узлов фреймворков для тестирования был создан интерфейс на языке C++. Он включает в себя ожидаемое поведение узлов, разбор параметров, установку приоритета процесса, сохранение результатов в файл. Файлы интерфейса расположены в директории interface.

Зависимости

Для запуска тестов необходим python 3 версии >= 3.6. Установить можно с помощью команды:

sudo apt-get install python3.6

Далее необходимо установить python модули, используемые в тестовом скрипте. Для начала надо установить утилиту pip:

sudo apt-get install pip3

Далее устанавливаем с помощью pip модули:

sudo pip3 install numpy matplotlib py-cpuinfo psutil

Для сборки узлов, использующих интерфейс на C++, необходимо установить библиотеки argparse и nlohmann/json. Установка argparse:

git clone https://github.com/p-ranav/argparse.git
cd argparse
cmake .
make install

Установка nlohmann/json:

git clone https://github.com/nlohmann/json.git
mkdir json/build
cd build
cmake ..
make
make install

Запуск тестов

Переходим в директорию testing_tool. В 13 и 14 строчки между квадратных скобок добавляем в кавычках пути к исполняемым файлам узлов тестируемых фреймворков. Например:

    pubs = ["../FastRTPS/src/build/FastRTPSTest "]
    subs = ["../FastRTPS/src/build/FastRTPSTest "]

Необходимо сгенерировать конфигурационные файлы командой:

python3 generate_configs.py

Запуск тестов производится следующей командой:

sudo python3 test.py

Для построения графиков по полученным данным необходимо запустить скрипт plotting.py:

python3 plotting.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published