RDKDEV-1102: Update documentation for Network plugin to align with Ne… #3825
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: L2-tests-R4-4-1 | |
| on: | |
| push: | |
| branches: [ main, 'sprint/**', 'release/**' ] | |
| pull_request: | |
| branches: [ main, 'sprint/**', 'release/**' ] | |
| env: | |
| BUILD_TYPE: Debug | |
| THUNDER_REF: "R4.4.1" | |
| INTERFACES_REF: "R4.4.1" | |
| jobs: | |
| L2-tests-R4-4-1: | |
| name: L2 tests with Thunder R4.4.1 | |
| runs-on: ubuntu-22.04 | |
| strategy: | |
| matrix: | |
| compiler: [ gcc, clang ] | |
| coverage: [ with-coverage, without-coverage ] | |
| exclude: | |
| - compiler: clang | |
| coverage: with-coverage | |
| - compiler: clang | |
| coverage: without-coverage | |
| - compiler: gcc | |
| coverage: without-coverage | |
| steps: | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.x' | |
| - run: pip install jsonref | |
| - name: Set up CMake | |
| uses: jwlawson/actions-setup-cmake@v1.13 | |
| with: | |
| cmake-version: '3.16.x' | |
| - name: Install packages | |
| run: > | |
| sudo apt update | |
| && | |
| sudo apt install -y libsqlite3-dev libcurl4-openssl-dev valgrind lcov clang libsystemd-dev libboost-all-dev libwebsocketpp-dev meson libcunit1 libcunit1-dev protobuf-compiler protobuf-compiler-grpc libgrpc-dev libgrpc++-dev | |
| - name: Install GStreamer | |
| run: | | |
| sudo apt update | |
| sudo apt install -y libunwind-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev | |
| - name: Build trevor-base64 | |
| run: | | |
| if [ ! -d "trower-base64" ]; then | |
| git clone https://github.com/xmidt-org/trower-base64.git | |
| fi | |
| cd trower-base64 | |
| meson setup --warnlevel 3 --werror build | |
| ninja -C build | |
| sudo ninja -C build install | |
| - name: Checkout rdkservices | |
| uses: actions/checkout@v3 | |
| with: | |
| path: rdkservices | |
| - name: Checkout Thunder | |
| uses: actions/checkout@v3 | |
| with: | |
| repository: rdkcentral/Thunder | |
| path: Thunder | |
| ref: ${{env.THUNDER_REF}} | |
| - name: Apply patches Thunder | |
| run: | | |
| cd ${{github.workspace}}/Thunder | |
| patch -p1 < ${{github.workspace}}/rdkservices/Tests/L2Tests/patches/Use_Legact_Alt_Based_On_ThunderTools_R4.4.3.patch | |
| patch -p1 < ${{github.workspace}}/rdkservices/Tests/L2Tests/patches/error_code_R4_4.patch | |
| cd - | |
| - name: Checkout ThunderTools | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| uses: actions/checkout@v3 | |
| with: | |
| repository: rdkcentral/ThunderTools | |
| path: ThunderTools | |
| ref: R4.4.3 | |
| - name: Build ThunderTools | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| run: > | |
| cmake | |
| -S "${{github.workspace}}/ThunderTools" | |
| -B build/ThunderTools | |
| -DEXCEPTIONS_ENABLE=ON | |
| -DCMAKE_INSTALL_PREFIX="${{github.workspace}}/install/usr" | |
| -DCMAKE_MODULE_PATH="${{github.workspace}}/install/tools/cmake" | |
| -DGENERIC_CMAKE_MODULE_PATH="${{github.workspace}}/install/tools/cmake" | |
| && | |
| cmake --build build/ThunderTools -j8 | |
| && | |
| cmake --install build/ThunderTools | |
| - name: Checkout rdkservices | |
| run: | | |
| cd ${{github.workspace}}/rdkservices | |
| patch -p1 < ${{github.workspace}}/rdkservices/Tests/L2Tests/patches/0003-R4.4.1-LocationSync-compilation-error.patch | |
| cd - | |
| - name: Build Thunder | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| run: > | |
| cmake | |
| -S "${{github.workspace}}/Thunder" | |
| -B build/Thunder | |
| -DMESSAGING=ON | |
| -DHIDE_NON_EXTERNAL_SYMBOLS=OFF | |
| -DCMAKE_INSTALL_PREFIX="${{github.workspace}}/install/usr" | |
| -DCMAKE_MODULE_PATH="${{github.workspace}}/install/tools/cmake" | |
| -DBUILD_TYPE=${{env.BUILD_TYPE}} | |
| -DBINDING=127.0.0.1 | |
| -DPORT=9998 | |
| -DEXCEPTIONS_ENABLE=ON | |
| && | |
| cmake --build build/Thunder -j8 | |
| && | |
| cmake --install build/Thunder | |
| - name: Checkout ThunderInterfaces | |
| uses: actions/checkout@v3 | |
| with: | |
| repository: rdkcentral/ThunderInterfaces | |
| path: ThunderInterfaces | |
| ref: ${{env.INTERFACES_REF}} | |
| run: rm -rf ${{github.workspace}}/ThunderInterfaces/jsonrpc/DTV.json | |
| - name: Apply patch ThunderInterfaces | |
| run: | | |
| cd ThunderInterfaces | |
| echo "Current branch is: $(git branch --show-current)" | |
| patch -p1 < ${{github.workspace}}/rdkservices/Tests/L2Tests/patches/R.4.4.1-0001-Add-TextToSpeech-Interface.patch | |
| patch -p1 < ${{github.workspace}}/rdkservices/Tests/L2Tests/patches/SplitDeviceCapablities.patch | |
| patch -p1 < ${{github.workspace}}/rdkservices/Tests/L2Tests/patches/0007-RDK-IDeviceInfo-Changes.patch | |
| patch -p1 < ${{github.workspace}}/rdkservices/Tests/L2Tests/patches/0001-RDK-45037-Secure-Storage-Thunder-Plugin.patch | |
| patch -p1 < ${{github.workspace}}/rdkservices/Tests/L2Tests/patches/RDKV-48604-User-Settings-Thunder-Plugin.patch | |
| patch -p1 < ${{github.workspace}}/rdkservices/Tests/L2Tests/patches/Use_Legact_Alt_In_ThunderInterfaces_Based_On_ThunderTools_R4.4.3.patch | |
| patch -p1 < ${{github.workspace}}/rdkservices/Tests/L2Tests/patches/RDK-51362-System-Mode-Thunder-Plugin.patch | |
| patch -p1 < ${{github.workspace}}/rdkservices/Tests/L2Tests/patches/0001-Add-IAnalytics-interface-R4.4.patch | |
| cd .. | |
| - name: Build ThunderInterfaces | |
| run: > | |
| cmake | |
| -S "${{github.workspace}}/ThunderInterfaces" | |
| -B build/ThunderInterfaces | |
| -DEXCEPTIONS_ENABLE=ON | |
| -DCMAKE_INSTALL_PREFIX="${{github.workspace}}/install/usr" | |
| -DCMAKE_MODULE_PATH="${{github.workspace}}/install/tools/cmake" | |
| && | |
| cmake --build build/ThunderInterfaces -j8 | |
| && | |
| cmake --install build/ThunderInterfaces | |
| - name: Generate external headers | |
| # Empty headers to mute errors | |
| run: > | |
| cd "${{github.workspace}}/rdkservices/Tests/" | |
| && | |
| mkdir -p | |
| headers | |
| headers/rdk/ds | |
| headers/rdk/iarmbus | |
| headers/rdk/iarmmgrs-hal | |
| headers/systemservices | |
| headers/systemservices/proc | |
| && | |
| cd headers | |
| && | |
| touch | |
| rdk/ds/host.hpp | |
| rdk/ds/videoOutputPort.hpp | |
| rdk/ds/audioOutputPort.hpp | |
| rdk/ds/sleepMode.hpp | |
| rdk/iarmbus/libIARM.h | |
| rdk/iarmbus/libIBus.h | |
| rdk/iarmbus/libIBusDaemon.h | |
| rdk/iarmmgrs-hal/mfrMgr.h | |
| rdk/iarmmgrs-hal/pwrMgr.h | |
| rdk/iarmmgrs-hal/sysMgr.h | |
| rfcapi.h | |
| rbus.h | |
| libudev.h | |
| systemservices/proc/readproc.h | |
| systemservices/secure_wrapper.h | |
| maintenanceMGR.h | |
| pkg.h | |
| && | |
| cp -r /usr/include/gstreamer-1.0/gst /usr/include/glib-2.0/* /usr/lib/x86_64-linux-gnu/glib-2.0/include/* /usr/local/include/trower-base64/base64.h . | |
| - name: Set clang toolchain | |
| if: ${{ matrix.compiler == 'clang' }} | |
| run: echo "TOOLCHAIN_FILE=${{github.workspace}}/rdkservices/Tests/clang.cmake" >> $GITHUB_ENV | |
| - name: Set gcc/with-coverage toolchain | |
| if: ${{ matrix.compiler == 'gcc' && matrix.coverage == 'with-coverage' && !env.ACT }} | |
| run: echo "TOOLCHAIN_FILE=${{github.workspace}}/rdkservices/Tests/gcc-with-coverage.cmake" >> $GITHUB_ENV | |
| - name: Build mocks | |
| run: > | |
| cmake | |
| -S "${{github.workspace}}/rdkservices/Tests/mocks" | |
| -B build/mocks | |
| -DBUILD_SHARED_LIBS=ON | |
| -DCMAKE_TOOLCHAIN_FILE="${{ env.TOOLCHAIN_FILE }}" | |
| -DCMAKE_INSTALL_PREFIX="${{github.workspace}}/install/usr" | |
| -DCMAKE_MODULE_PATH="${{github.workspace}}/install/tools/cmake" | |
| -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} | |
| && | |
| cmake --build build/mocks -j8 | |
| && | |
| cmake --install build/mocks | |
| - name: Build rdkservices | |
| run: > | |
| cmake | |
| -S "${{github.workspace}}/rdkservices" | |
| -B build/rdkservices | |
| -DCMAKE_TOOLCHAIN_FILE="${{ env.TOOLCHAIN_FILE }}" | |
| -DCMAKE_INSTALL_PREFIX="${{github.workspace}}/install/usr" | |
| -DCMAKE_MODULE_PATH="${{github.workspace}}/install/tools/cmake" | |
| -DHIDE_NON_EXTERNAL_SYMBOLS=OFF | |
| -DCMAKE_CXX_FLAGS=" | |
| -DEXCEPTIONS_ENABLE=ON | |
| -fprofile-arcs | |
| -ftest-coverage | |
| -DUSE_THUNDER_R4=ON | |
| -DTHUNDER_VERSION=4 | |
| -DTHUNDER_VERSION_MAJOR=4 | |
| -DTHUNDER_VERSION_MINOR=4 | |
| -DPLUGIN_PERSISTENTSTORE_PATH="/tmp/secure/persistent/rdkservicestore" | |
| -DPLUGIN_PERSISTENTSTORE_LEGACYPATH="/tmp/persistent/rdkservicestore" | |
| -I ${{github.workspace}}/rdkservices/Tests/headers | |
| -I ${{github.workspace}}/rdkservices/Tests/headers/rdk/ds | |
| -I ${{github.workspace}}/rdkservices/Tests/headers/rdk/iarmbus | |
| -I ${{github.workspace}}/rdkservices/Tests/headers/rdk/iarmmgrs-hal | |
| -I ${{github.workspace}}/rdkservices/Tests/headers/systemservices | |
| -I ${{github.workspace}}/rdkservices/Tests/headers/systemservices/proc | |
| -include ${{github.workspace}}/rdkservices/Tests/mocks/devicesettings.h | |
| -include ${{github.workspace}}/rdkservices/Tests/mocks/Iarm.h | |
| -include ${{github.workspace}}/rdkservices/Tests/mocks/Rfc.h | |
| -include ${{github.workspace}}/rdkservices/Tests/mocks/RBus.h | |
| -include ${{github.workspace}}/rdkservices/Tests/mocks/Udev.h | |
| -include ${{github.workspace}}/rdkservices/Tests/mocks/Wraps.h | |
| -include ${{github.workspace}}/rdkservices/Tests/mocks/maintenanceMGR.h | |
| -include ${{github.workspace}}/rdkservices/Tests/mocks/pkg.h | |
| -Werror -Wall -Wno-unused-result -Wno-deprecated-declarations -Wno-error=format= | |
| -DUSE_IARMBUS | |
| -DDISABLE_SECURITY_TOKEN | |
| -DENABLE_THERMAL_PROTECTION" | |
| -DPLUGIN_PERSISTENTSTORE_PATH="/tmp/secure/persistent/rdkservicestore" | |
| -DPLUGIN_PERSISTENTSTORE_LEGACYPATH="/tmp/persistent/rdkservicestore" | |
| -DCOMCAST_CONFIG=OFF | |
| -DCMAKE_DISABLE_FIND_PACKAGE_DS=ON | |
| -DCMAKE_DISABLE_FIND_PACKAGE_IARMBus=ON | |
| -DCMAKE_DISABLE_FIND_PACKAGE_Udev=ON | |
| -DCMAKE_DISABLE_FIND_PACKAGE_RFC=ON | |
| -DCMAKE_DISABLE_FIND_PACKAGE_RBus=ON | |
| -DPLUGIN_SYSTEMSERVICES=ON | |
| -DPLUGIN_TELEMETRY=ON | |
| -DPLUGIN_HDCPPROFILE=ON | |
| -DPLUGIN_TEXTTOSPEECH=ON | |
| -DPLUGIN_USBACCESS=ON | |
| -DPLUGIN_USERSETTINGS=ON | |
| -DPLUGIN_PERSISTENTSTORE=ON | |
| -DPLUGIN_USERPREFERENCES=ON | |
| -DUSE_THUNDER_R4=ON | |
| -DPLUGIN_L2Tests=ON | |
| -DRDK_SERVICE_L2_TEST=ON | |
| -DDS_FOUND=ON | |
| -DPLUGIN_ANALYTICS=ON | |
| -DPLUGIN_ANALYTICS_BACKEND_LIBRARY_NAME="libWPEFrameworkAnalyticsBackendMock.so" | |
| -DPLUGIN_ANALYTICS_EVENTS_MAP="/tmp/AnalyticsEventsMap.json" | |
| && | |
| cmake --build build/rdkservices -j8 | |
| && | |
| cmake --install build/rdkservices | |
| - name: Set up files | |
| run: > | |
| sudo mkdir -p -m 777 | |
| /opt/persistent | |
| /opt/secure | |
| /opt/secure/reboot | |
| /opt/secure/persistent | |
| /opt/secure/persistent/System | |
| /tmp/secure/persistent | |
| /tmp/persistent | |
| /tmp/persistent/rdkservicestore | |
| /opt/logs | |
| /lib/rdk | |
| /run/media/sda1/logs/PreviousLogs | |
| /run/media/sda2/logs/PreviousLogs | |
| /run/sda1/UsbTestFWUpdate | |
| /run/sda1/UsbProdFWUpdate | |
| /run/sda2 | |
| && | |
| sudo touch | |
| /opt/standbyReason.txt | |
| /opt/tmtryoptout | |
| /opt/fwdnldstatus.txt | |
| /opt/dcm.properties | |
| /opt/user_preferences.conf | |
| /etc/device.properties | |
| /etc/dcm.properties | |
| /etc/authService.conf | |
| /version.txt | |
| /run/media/sda1/logs/PreviousLogs/logFile.txt | |
| /run/media/sda1/logs/test.txt | |
| /run/media/sda1/logs/test.png | |
| /run/media/sda1/logs/test.docx | |
| /run/media/sda2/logs/test.txt | |
| /run/media/sda2/logs/test.png | |
| /run/sda1/HSTP11MWR_5.11p5s1_VBN_sdy.bin | |
| /run/sda1/UsbTestFWUpdate/HSTP11MWR_3.11p5s1_VBN_sdy.bin | |
| /run/sda1/UsbProdFWUpdate/HSTP11MWR_4.11p5s1_VBN_sdy.bin | |
| /lib/rdk/getMaintenanceStartTime.sh | |
| /tmp/opkg.conf | |
| /tmp/system_service_temp.conf | |
| /tmp/secure/persistent/rdkservicestore | |
| && | |
| sudo chmod -R 777 | |
| /opt/standbyReason.txt | |
| /opt/tmtryoptout | |
| /opt/fwdnldstatus.txt | |
| /opt/dcm.properties | |
| /etc/device.properties | |
| /etc/dcm.properties | |
| /etc/authService.conf | |
| /version.txt | |
| /lib/rdk/getMaintenanceStartTime.sh | |
| /tmp/opkg.conf | |
| /tmp/system_service_temp.conf | |
| /tmp/persistent/rdkservicestore | |
| /tmp/secure/persistent/rdkservicestore | |
| - name: Run unit tests without valgrind | |
| run: > | |
| PATH=${{github.workspace}}/install/usr/bin:${PATH} | |
| LD_LIBRARY_PATH=${{github.workspace}}/install/usr/lib:${{github.workspace}}/install/usr/lib/wpeframework/plugins:${LD_LIBRARY_PATH} | |
| RdkServicesL2Test && | |
| cp -rf $(pwd)/rdkL2TestResults.json ${{github.workspace}}/rdkL2TestResultsWithoutValgrind.json && | |
| rm -rf $(pwd)/rdkL2TestResults.json | |
| - name: Run unit tests with valgrind | |
| if: ${{ !env.ACT }} | |
| run: > | |
| PATH=${{github.workspace}}/install/usr/bin:${PATH} | |
| LD_LIBRARY_PATH=${{github.workspace}}/install/usr/lib:${{github.workspace}}/install/usr/lib/wpeframework/plugins:${LD_LIBRARY_PATH} | |
| valgrind | |
| --tool=memcheck | |
| --log-file=valgrind_log | |
| --leak-check=yes | |
| --show-reachable=yes | |
| --track-fds=yes | |
| --fair-sched=try | |
| RdkServicesL2Test && | |
| cp -rf $(pwd)/rdkL2TestResults.json ${{github.workspace}}/rdkL2TestResultsWithValgrind.json && | |
| rm -rf $(pwd)/rdkL2TestResults.json | |
| - name: Generate coverage | |
| if: ${{ matrix.coverage == 'with-coverage' && !env.ACT }} | |
| run: > | |
| cp ${{github.workspace}}/rdkservices/Tests/L2Tests/.lcovrc_l2 ~/.lcovrc | |
| && | |
| lcov -c | |
| -o coverage.info | |
| -d build/rdkservices | |
| && | |
| lcov | |
| -r coverage.info | |
| '/usr/include/*' | |
| '*/build/rdkservices/_deps/*' | |
| '*/install/usr/include/*' | |
| '*/Tests/headers/*' | |
| '*/Tests/mocks/*' | |
| '*/Tests/L2Tests/*' | |
| -o filtered_coverage.info | |
| && | |
| genhtml | |
| -o coverage | |
| -t "rdkservices coverage" | |
| filtered_coverage.info | |
| - name: Upload artifacts | |
| if: ${{ !env.ACT }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: artifacts | |
| path: | | |
| coverage/ | |
| valgrind_log | |
| rdkL2TestResultsWithoutValgrind.json | |
| rdkL2TestResultsWithValgrind.json | |
| if-no-files-found: warn |