RDKDEV-1102: Update documentation for Network plugin to align with NetworkManger documentation (#5928) #3822
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 |