The scope if this repo is non-functional real-time integration tests for Roc Toolkit public API. These tests are supposed to run on real hardware and produce metrics to be checked for regressions. Some examples of non-functional tests are:
Key features of Roc Toolkit:
Compatible Roc Toolkit senders and receivers include:
When using this method, CMake will automatically download and build dependencies (Roc Toolkit). Roc will be statically linked into the modules and there is no need to install it into the system.
First install build tools:
sudo apt install -y \
g++ pkg-config scons ragel gengetopt \
libuv1-dev libunwind-dev \
libpulse-dev libsox-dev \
libcpputest-dev libspeexdsp-dev \
libtool intltool autoconf automake make cmake
Next build and run:
make
To specify roc-toolkit branch use cmake flag ROC_BRANCH
:
ROC_BRANCH=master make
You can accomplish these additional tasks using the following targets.
To clean working build directory:
make clean
To format code:
make fmt
You can disable automatic downloading of roc-toolkit and build it manually.
Download, build and install Roc Toolkit into the system as described on this page
mkdir build && cd build
cmake -DDOWNLOAD_ROC=OFF .. && make
To provide custom path to roc-toolkit library and headers use flags
ROC_INCLUDE_DIR
and ROC_LIB_DIR
The diagram below illustrates generic workflow of a test from this repo.
Explanations:
See here.