Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
dc8d26e
Revert "Development/metrol -1164 (#1962)"
volkan-aslan Oct 29, 2025
8251e46
Revert "Development/metrol 1190 (#1968)"
volkan-aslan Oct 29, 2025
36864d6
[FIX] for issue https://github.com/rdkcentral/Thunder/issues/1948 (#1…
pwielders Oct 30, 2025
eabfb21
[LIMIT] Limit handing out interfaces of Plugins *only* if the plugin …
pwielders Oct 29, 2025
fc4ce5f
[Core] Add build option for Forgiving JSON RPC method handling (#1978)
MFransen69 Oct 30, 2025
e880cbd
[FIX] Update WorkerPool initialization to use correct thread count an…
bramoosterhuis Oct 30, 2025
b338461
[Controller] Correct error code/msg for Suspend (#1983)
sebaszm Oct 31, 2025
b2c6875
[Core] fix frame int_cast for 24 bit types (#1985)
MFransen69 Nov 3, 2025
9e2d3f9
Development/threadpool stop lock (#1980)
bramoosterhuis Oct 30, 2025
5ed8aef
[JSON-RPC] Facilitate event indexes (#1990)
sebaszm Nov 4, 2025
64d1862
[Core] Add wait for thread pool to stop in InvokeServerType destructo…
bramoosterhuis Nov 4, 2025
1988cb1
[Priority Queue] Distinguish the source of ThreadPool to bring the AS…
VeithMetro Nov 4, 2025
8da778d
[COM-RPC][Logging] Add logging in case of a possible COM-RPC deadlock…
VeithMetro Nov 4, 2025
cafc887
[Core] disable webrequest incomplete assert for now (#1992)
MFransen69 Nov 4, 2025
1aba462
[core / Tests/unit/core] : remove any reference to 'TriState' (#1994)
msieben Nov 4, 2025
0c5f46a
[TESTS] Use composition instead of inheritance for ThreadPoolTester a…
bramoosterhuis Nov 4, 2025
06c633f
Fix Activate reason (#1997)
sebaszm Nov 7, 2025
56e4cc4
Break dependency of UnknownProxy::Invoke (#1999)
sramani-metro Nov 7, 2025
e8f4c1d
[Doc] Update the config docs with the Priority Queue related settings…
VeithMetro Nov 7, 2025
0af0dfa
Remove ::template keyword to make clang happy (#1998)
sramani-metro Nov 6, 2025
8ce639d
Starting COM after Controller is initialized (#2001)
Karthick-Somasundaresan Nov 12, 2025
afc0fe3
Development/workerpool fixes (#2003)
bramoosterhuis Nov 13, 2025
c6fc9ef
If the Closed() method, was run, it would set the m_State = 0, which …
pwielders Nov 14, 2025
552513f
Remove some more risky changes
MFransen69 Nov 14, 2025
e8f0f84
Development/patch bluez remove uint24 t (#2007)
bramoosterhuis Nov 18, 2025
a6fd86b
Add CustomCode feature (#2005)
MFransen69 Nov 18, 2025
97bc3ab
Development/custom codes2 (#2008)
MFransen69 Nov 19, 2025
b48ddab
[CustomCode] oops r was missing (#2010)
MFransen69 Nov 20, 2025
53d88b8
[IController] Move event index to registration (#2012)
sebaszm Nov 21, 2025
e2d628b
[Core] process_t is not deprecated (#2011)
MFransen69 Nov 21, 2025
28e71c5
Reverting to original Closed logic (#2013)
Karthick-Somasundaresan Nov 21, 2025
d57c034
[Controller] Correct resume error message (#2014)
MFransen69 Nov 22, 2025
f4a59f2
[Core] Type in comment (#2021)
MFransen69 Nov 24, 2025
44f84d0
Revert "[IPCConnector] Make sure the connection failure is properly d…
pwielders Nov 25, 2025
08dedbc
PSG Documentation for 5.3 (#2017)
nxtum Nov 24, 2025
2f208a9
[Controller] Update docs (#2022)
sebaszm Nov 24, 2025
78c1ad7
[Core] another typo in the header file... (#2024)
MFransen69 Nov 24, 2025
892d4fc
Removing unwanted assert (#2025)
Karthick-Somasundaresan Nov 25, 2025
7e4b93c
Development/53releasenotes (#2015)
MFransen69 Nov 25, 2025
569b9ba
[Docs] add correct links to release notes for 5.3 (#2027)
MFransen69 Nov 25, 2025
6149b2f
[com] remove deadlock check for now as it will lead to false positives
MFransen69 Nov 26, 2025
ca7ad20
Semantic versioning update
volkan-aslan Nov 26, 2025
e9fbfad
WIP: test support library
smanes0213 Apr 16, 2026
5f0f65c
Resolve compilation issues
smanes0213 Apr 17, 2026
e03f7a2
Add Test plugin test to workflow
smanes0213 Apr 20, 2026
68f35e9
Update Test_Thunder_Test_Support.yml
smanes0213 Apr 20, 2026
deeda11
Update Test_Thunder_Test_Support.yml
smanes0213 Apr 20, 2026
9be539e
Update Test_Thunder_Test_Support.yml
smanes0213 Apr 20, 2026
689d4c8
Update Test_Thunder_Test_Support.yml
smanes0213 Apr 20, 2026
8912b88
Update Test_Thunder_Test_Support.yml
smanes0213 Apr 20, 2026
30bab10
Update Test_Thunder_Test_Support.yml
smanes0213 Apr 20, 2026
4c7ce48
Update TestPluginTest.cpp
smanes0213 Apr 20, 2026
8468c7d
Resolve header include error
smanes0213 Apr 20, 2026
3f4d329
Resolve workflow issue
smanes0213 Apr 20, 2026
df16a47
Resolve workflow issue
smanes0213 Apr 20, 2026
57f7007
Update Test_Thunder_Test_Support.yml
smanes0213 Apr 20, 2026
f801490
Move out TestPlugin Test file
smanes0213 Apr 21, 2026
bfcdfce
Resolve workflow failures
smanes0213 Apr 21, 2026
ed48229
Resolve workflow failures
smanes0213 Apr 21, 2026
5f0e7b6
Resolve workflow failures
smanes0213 Apr 21, 2026
b45292e
Add conditional gaurd to initialize and deinitialize
smanes0213 Apr 21, 2026
5689025
Update ThunderTestRuntime.cpp
smanes0213 Apr 21, 2026
8e977ab
Add debug comments
smanes0213 Apr 21, 2026
4770e55
Add thunder_test_main static library providing a GTest main() that
smanes0213 Apr 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
185 changes: 185 additions & 0 deletions .github/workflows/Test_Thunder_Test_Support.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
name: Test Thunder Test Support Library

permissions:
contents: read

on:
workflow_dispatch:

pull_request:
branches: ["R5_3", "development/test-support"]

jobs:
SmokeTest:
runs-on: ubuntu-24.04

strategy:
matrix:
build_type: [Debug, Release]

name: Smoke Test - ${{matrix.build_type}}

steps:
- name: Install necessary packages
uses: nick-fields/retry@v3
with:
timeout_minutes: 10
max_attempts: 10
command: |
sudo gem install apt-spy2
sudo apt-spy2 fix --commit --launchpad --country=US
sudo apt-get update
sudo apt-get install -y python3-pip build-essential cmake ninja-build libusb-1.0-0-dev zlib1g-dev libssl-dev libgtest-dev
python3 -m venv venv
source venv/bin/activate
pip install jsonref

# ----- Checkout -----
- name: Checkout Thunder
uses: actions/checkout@v4
with:
path: Thunder
# ref: ${{ github.event.pull_request.head.sha || github.sha }}

- name: Checkout ThunderTools - default
if: ${{ !contains(github.event.pull_request.body, '[DependsOn=ThunderTools:') }}
uses: actions/checkout@v4
with:
path: ThunderTools
repository: rdkcentral/ThunderTools
ref: R5.3.0

- name: Regex ThunderTools
if: ${{ contains(github.event.pull_request.body, '[DependsOn=ThunderTools:') }}
id: tools
uses: AsasInnab/regex-action@v1
with:
regex_pattern: '(?<=\[DependsOn=ThunderTools:).*(?=\])'
regex_flags: 'gim'
search_string: ${{github.event.pull_request.body}}

- name: Checkout ThunderTools - ${{steps.tools.outputs.first_match}}
if: ${{ contains(github.event.pull_request.body, '[DependsOn=ThunderTools:') }}
uses: actions/checkout@v4
with:
path: ThunderTools
repository: rdkcentral/ThunderTools
ref: ${{steps.tools.outputs.first_match}}

- name: Checkout ThunderInterfaces - default
if: ${{ !contains(github.event.pull_request.body, '[DependsOn=ThunderInterfaces:') }}
uses: actions/checkout@v4
with:
path: ThunderInterfaces
repository: rdkcentral/ThunderInterfaces
# TODO: Remove ref once qa_interfaces changes are merged to master
ref: development/test-support

- name: Regex ThunderInterfaces
if: ${{ contains(github.event.pull_request.body, '[DependsOn=ThunderInterfaces:') }}
id: interfaces
uses: AsasInnab/regex-action@v1
with:
regex_pattern: '(?<=\[DependsOn=ThunderInterfaces:).*(?=\])'
regex_flags: 'gim'
search_string: ${{github.event.pull_request.body}}

- name: Checkout ThunderInterfaces - ${{steps.interfaces.outputs.first_match}}
if: ${{ contains(github.event.pull_request.body, '[DependsOn=ThunderInterfaces:') }}
uses: actions/checkout@v4
with:
path: ThunderInterfaces
repository: rdkcentral/ThunderInterfaces
ref: ${{steps.interfaces.outputs.first_match}}

- name: Checkout ThunderNanoServices - default
if: ${{ !contains(github.event.pull_request.body, '[DependsOn=ThunderNanoServices:') }}
uses: actions/checkout@v4
with:
path: ThunderNanoServices
repository: rdkcentral/ThunderNanoServices
# TODO: Remove ref once TestPlugin changes are merged to master
ref: development/test-support

- name: Regex ThunderNanoServices
if: ${{ contains(github.event.pull_request.body, '[DependsOn=ThunderNanoServices:') }}
id: nanoservices
uses: AsasInnab/regex-action@v1
with:
regex_pattern: '(?<=\[DependsOn=ThunderNanoServices:).*(?=\])'
regex_flags: 'gim'
search_string: ${{github.event.pull_request.body}}

- name: Checkout ThunderNanoServices - ${{steps.nanoservices.outputs.first_match}}
if: ${{ contains(github.event.pull_request.body, '[DependsOn=ThunderNanoServices:') }}
uses: actions/checkout@v4
with:
path: ThunderNanoServices
repository: rdkcentral/ThunderNanoServices
ref: ${{steps.nanoservices.outputs.first_match}}

# ----- Build -----
- name: Build ThunderTools
run: |
source venv/bin/activate
cmake -G Ninja -S ThunderTools -B ${{matrix.build_type}}/build/ThunderTools \
-DCMAKE_INSTALL_PREFIX="${{matrix.build_type}}/install/usr"
cmake --build ${{matrix.build_type}}/build/ThunderTools --target install

- name: Build Thunder with test support
run: |
source venv/bin/activate
cmake -G Ninja -S Thunder -B ${{matrix.build_type}}/build/Thunder \
-DBINDING="127.0.0.1" \
-DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
-DCMAKE_INSTALL_PREFIX="${{matrix.build_type}}/install/usr" \
-DCMAKE_MODULE_PATH="${PWD}/${{matrix.build_type}}/install/usr/include/Thunder/Modules" \
-DPORT="0" \
-DENABLE_TEST_RUNTIME=ON
cmake --build ${{matrix.build_type}}/build/Thunder --target install

- name: Build ThunderInterfaces
run: |
source venv/bin/activate
cmake -G Ninja -S ThunderInterfaces -B ${{matrix.build_type}}/build/ThunderInterfaces \
-DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
-DCMAKE_INSTALL_PREFIX="${{matrix.build_type}}/install/usr" \
-DCMAKE_MODULE_PATH="${PWD}/${{matrix.build_type}}/install/usr/include/Thunder/Modules" \
-DCMAKE_PREFIX_PATH="${PWD}/${{matrix.build_type}}/install/usr"
cmake --build ${{matrix.build_type}}/build/ThunderInterfaces --target install

- name: Build ThunderNanoServices TestPlugin + test
run: |
source venv/bin/activate
cmake -G Ninja -S ThunderNanoServices/tests -B ${{matrix.build_type}}/build/ThunderNanoServicesTests \
-DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
-DCMAKE_INSTALL_PREFIX="${{matrix.build_type}}/install/usr" \
-DCMAKE_MODULE_PATH="${PWD}/${{matrix.build_type}}/install/usr/include/Thunder/Modules" \
-DCMAKE_PREFIX_PATH="${PWD}/${{matrix.build_type}}/install/usr" \
-DPLUGIN_TESTPLUGIN=ON \
-DTEST_PLUGIN_PATH="${PWD}/${{matrix.build_type}}/install/usr/lib/thunder/plugins"
cmake --build ${{matrix.build_type}}/build/ThunderNanoServicesTests --target install

# ----- Run smoke test -----
- name: Run smoke test
run: |
LD_LIBRARY_PATH="${{matrix.build_type}}/install/usr/lib:$LD_LIBRARY_PATH" \
${{matrix.build_type}}/build/Thunder/Tests/test_support/tests/thunder_test_runtime_smoke \
--gtest_output="xml:smoke-test-results.xml" \
--gtest_color=yes

# ----- Run plugin test -----
- name: Run plugin test (COM-RPC + JSON-RPC + events)
run: |
LD_LIBRARY_PATH="${{matrix.build_type}}/install/usr/lib:${PWD}/${{matrix.build_type}}/install/usr/lib/thunder/plugins:$LD_LIBRARY_PATH" \
${{matrix.build_type}}/build/ThunderNanoServicesTests/TestPlugin/test/thunder_testplugin_test \
--gtest_output="xml:plugin-test-results.xml" \
--gtest_color=yes

- name: Upload test results
uses: actions/upload-artifact@v4
with:
name: test-results-${{matrix.build_type}}
path: |
smoke-test-results.xml
plugin-test-results.xml
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
cmake_minimum_required(VERSION 3.15)

project(Thunder
VERSION 5.0.0
VERSION 5.3.0
DESCRIPTION "Thunder framework"
HOMEPAGE_URL "https://rdkcentral.github.io/Thunder/")

Expand Down
Loading
Loading