You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Rialto

Dependencies (Ubuntu 24.04)

First, install dependencies:

Rialto dependencies
sudo apt-get install libunwind-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio libyaml-cpp-dev
sudo apt-get install libjsoncpp-dev
sudo apt-get install libjson-perl libperlio-gzip-perl perl libgd-gd2-perl libcapture-tiny-perl libdatetime-perl
sudo apt-get install protobuf-compiler
sudo apt-get install clang-format-18
sudo apt-get install cppcheck
sudo apt-get install -y doxygen
sudo apt install -y graphviz
sudo apt-get install build-essential
sudo apt-get install cmake
sudo apt-get install libyaml-cpp-dev
sudo apt-get install valgrind
sudo apt-get install libc6-dbg

wget https://github.com/linux-test-project/lcov/releases/download/v2.0/lcov-2.0.tar.gz
tar -xf lcov-2.0.tar.gz
cd lcov-2.0
sudo make install

Unit Tests

Running all UTs:

Running Unit Tests
python3 build_ut.py

Useful options:

Useful UT options
# Forward the output to file:python3 build_ut.py -f output_file.log
# Configure which suite tests you would like to run
# By not supplying this option, all test suites will be run
python3 build_ut.py -s serveripc
# Configure the googletest filter to use when running the tests
# For more details, see: https://github.com/google/googletest/blob/main/docs/advanced.md#running-a-subset-of-the-tests
python3 build_ut.py -gf TestFilter
# e.g.
python3 build_ut.py -gf GstGenericPlayerTest.*

Generate UT coverage report (it will appear in build directory):

UT with coverage report
python3 build_ut.py -cov

Run UTs with Valgrind to check memory leaks

Run UT with Valgrind
python3 build_ut.py -val

Component Tests

Running all CTs:

Running all CTs
python3 build_ct.py

Useful options/flags are the same as in build_ut.py script

Clang-format

Before the commit code has to be formatted. To do that, execute those commands:

Formatting the code
find . -name "*.h" -not -path "./build/*" | xargs clang-format-18 -i --style=file
find . -name "*.cpp" -not -path "./build/*" | xargs clang-format-18 -i --style=file

It will modify your local files to meet Rialto Coding Standards.

Cpplint

To check, if there are no Cpplint errors, execute this command:

Running Cpplint
python3 scripts/cpplint/cpplint.py --recursive .

Cppcheck

To run Cppcheck, execute this command:

Running Cppcheck
cppcheck -q -ibuild --enable=all --output-file=cppcheck_report.txt --std=c++17 --suppress-xml=cppcheck_suppressions.xml --library=googletest .

Native build

To build Rialto for x86-64 Linux machine, execute those commands:

Native Rialto build
cmake . -B build -DNATIVE_BUILD=ON -DRIALTO_BUILD_TYPE="Debug"
make -C build

Rialto-Gstreamer

Dependencies

First, install dependencies:

Rialto Gstreamer dependencies
sudo apt-get install libunwind-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio

Unit Tests, Clang-format, Cpplint, Cppcheck

Running those commands is the same as for Rialto.

To build UTs, Rialto dependencies are required. If you modified the Rialto public interface, you have to specify the Rialto branch with -b option:

Running Gstreamer UTs with custom Rialto branch
python build_ut.py -b RIALTO_BRANCH_NAME

If you run UTs in your rialto-gstreamer directory earlier, before this step you probably need to remove the outdated headers:

Remove outdated Rialto headers
rm -rf tests/third-party/include/*


Rialto-Ocdm

tbd

  • No labels