Skip to content

QNX8 QEMU x86_64 Integration tests#19

Open
TimofteBogdan1900 wants to merge 36 commits intoeclipse-score:mainfrom
etas-contrib:feature/96530_shared_story
Open

QNX8 QEMU x86_64 Integration tests#19
TimofteBogdan1900 wants to merge 36 commits intoeclipse-score:mainfrom
etas-contrib:feature/96530_shared_story

Conversation

@TimofteBogdan1900
Copy link
Contributor

@TimofteBogdan1900 TimofteBogdan1900 commented Feb 10, 2026

Features

  • uses "main" git branch version of ITF from S-CORE which has for the moment management of 1 QEMU instance. official 0.1.0 ITF release has almost no functionality for this feature
  • patch fixes vsomeip SD bug/issue for qnx8
  • supports managing of > 1 qemu instance (architecture proposed to ITF)
  • automated SOMEIP SD discovery tests based on captured network traffic from a pcap file . No need for manual checks using wireshark for example.
  • fixes arm rust compilation error due to COM rust file bug (fix already on COM main branch)
  • qnx image is automatically created and updated with the changed binaries and json/.bin configuration files ( bazel centric approach using S-CORE score_toolchains_qnx)
  • automatic startup ssh authentication configured between the 2 qemu instances and between host and target
  • bazel build /test works on //tests/... folder independent of architecture (not supported arm arch tests are automatically skipped)
  • fixes bazel not allowing communication to qemu instances due to sandboxing being enabled on master
  • script to setup bridge as per project and ITF requirements
  • for qemu bridge , automatic tapN (where N in {0,1)) device creation when QEMU1,2 instance start
  • tests run on WSL2 based linux and also on a native Linux machine (pipeline is blocked at the moment)

Obs: there is no way to build the qnx imag without using S-CORE score_toolchains_qnx https://github.com/eclipse-score/toolchains_qnx . A possible improvement is to add this feature (wrapper around mkifs) in score_bazel_cpp_toolchains. Taking from reference integration project doesnt fit also because there are a lot of platform reference project customisations and processes started there by default or settings who conflict with our proj requirements .

How to run tests see:
See Readme.md chapter

@TimofteBogdan1900 TimofteBogdan1900 changed the title Feature/96530 shared story QNX + QEMU for arm and x86_64 + ITF + integration and UTs Feb 10, 2026
@github-actions
Copy link

github-actions bot commented Feb 10, 2026

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
2026/03/09 15:26:51 Downloading https://releases.bazel.build/8.3.0/release/bazel-8.3.0-linux-x86_64...
Extracting Bazel installation...
Starting local Bazel server (8.3.0) and connecting to it...
INFO: Invocation ID: 0c51edae-f274-4e1c-a29f-2223cd2b74fa
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
WARNING: For repository 'googletest', the root module requires module version googletest@1.17.0, but got googletest@1.17.0.bcr.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 5 packages loaded
Loading: 5 packages loaded
    currently loading: 
Loading: 5 packages loaded
    currently loading: 
Loading: 5 packages loaded
    currently loading: 
Loading: 5 packages loaded
    currently loading: 
Analyzing: target //:license-check (6 packages loaded, 0 targets configured)
Analyzing: target //:license-check (6 packages loaded, 0 targets configured)

Analyzing: target //:license-check (25 packages loaded, 10 targets configured)

Analyzing: target //:license-check (94 packages loaded, 10 targets configured)

Analyzing: target //:license-check (98 packages loaded, 10 targets configured)

Analyzing: target //:license-check (157 packages loaded, 846 targets configured)

Analyzing: target //:license-check (174 packages loaded, 4108 targets configured)

Analyzing: target //:license-check (179 packages loaded, 5164 targets configured)

Analyzing: target //:license-check (179 packages loaded, 5164 targets configured)

Analyzing: target //:license-check (179 packages loaded, 5164 targets configured)

Analyzing: target //:license-check (182 packages loaded, 7171 targets configured)

Analyzing: target //:license-check (182 packages loaded, 7171 targets configured)

Analyzing: target //:license-check (184 packages loaded, 8351 targets configured)

Analyzing: target //:license-check (185 packages loaded, 9816 targets configured)

Analyzing: target //:license-check (186 packages loaded, 9824 targets configured)

Analyzing: target //:license-check (186 packages loaded, 9824 targets configured)

Analyzing: target //:license-check (186 packages loaded, 9824 targets configured)

Analyzing: target //:license-check (186 packages loaded, 9824 targets configured)

Analyzing: target //:license-check (187 packages loaded, 9944 targets configured)

Analyzing: target //:license-check (187 packages loaded, 9944 targets configured)

Analyzing: target //:license-check (188 packages loaded, 11864 targets configured)

INFO: Analyzed target //:license-check (188 packages loaded, 11879 targets configured).
[9 / 13] JavaToolchainCompileClasses external/rules_java+/toolchains/platformclasspath_classes; 0s disk-cache, processwrapper-sandbox
INFO: From Generating Dash formatted dependency file ...:
INFO: Successfully converted 2 packages from Cargo.lock to bazel-out/k8-fastbuild/bin/formatted.txt
[11 / 13] JavaToolchainCompileBootClasspath external/rules_java+/toolchains/platformclasspath.jar; 0s disk-cache, processwrapper-sandbox
[12 / 13] Building license.check.license_check.jar (); 0s disk-cache, multiplex-worker
INFO: Found 1 target...
Target //:license.check.license_check up-to-date:
  bazel-bin/license.check.license_check
  bazel-bin/license.check.license_check.jar
INFO: Elapsed time: 227.959s, Critical Path: 2.53s
INFO: 13 processes: 9 internal, 3 processwrapper-sandbox, 1 worker.
INFO: Build completed successfully, 13 total actions
INFO: Running command line: bazel-bin/license.check.license_check ./formatted.txt <args omitted>
usage: org.eclipse.dash.licenses.cli.Main [-batch <int>] [-cd <url>]
       [-confidence <int>] [-ef <url>] [-excludeSources <sources>] [-help] [-lic
       <url>] [-project <shortname>] [-repo <url>] [-review] [-summary <file>]
       [-timeout <seconds>] [-token <token>]

@github-actions
Copy link

The created documentation from the pull request is available at: docu-html

@TimofteBogdan1900 TimofteBogdan1900 changed the title QNX + QEMU for arm and x86_64 + ITF + integration and UTs QNX8 QEMU Integration and unit tests Feb 16, 2026
@jorgecasal
Copy link
Contributor

jorgecasal commented Mar 3, 2026

@TimofteBogdan1900 Please update the test structure before merging:
tests/UT/ → Use lowercase: tests/unit/ or tests/cpp/
UnitTest_UT1, UnitTest_UT2 → Use descriptive names that indicate what's being tested (e.g., gatewayd_tests, someipd_tests)
cpp_test_main1, cpp_test_main2 → Name binaries to match their test scope
These changes will align with S-CORE conventions and make the test structure more maintainable.

Note: Other S-CORE modules like baselibs and communication place tests alongside source files (e.g., src/component/test/). This approach keeps tests close to the code they verify, making it easier to maintain and discover related tests. Consider whether this pattern would work better for your use case, or if you have specific reasons for using a separate tests/ directory.

@TimofteBogdan1900
Copy link
Contributor Author

@TimofteBogdan1900 Please update the test structure before merging: tests/UT/ → Use lowercase: tests/unit/ or tests/cpp/ UnitTest_UT1, UnitTest_UT2 → Use descriptive names that indicate what's being tested (e.g., gatewayd_tests, someipd_tests) cpp_test_main1, cpp_test_main2 → Name binaries to match their test scope These changes will align with S-CORE conventions and make the test structure more maintainable.

Note: Other S-CORE modules like baselibs and communication place tests alongside source files (e.g., src/component/test/). This approach keeps tests close to the code they verify, making it easier to maintain and discover related tests. Consider whether this pattern would work better for your use case, or if you have specific reasons for using a separate tests/ directory.

as discusses with Michael yesterday the whole UT folder will be reverted as it was on master (dummy tests who doesnt test anything)

@TimofteBogdan1900 TimofteBogdan1900 force-pushed the feature/96530_shared_story branch 2 times, most recently from a6c50f2 to f757a84 Compare March 5, 2026 12:01
@TimofteBogdan1900 TimofteBogdan1900 changed the title QNX8 QEMU x86_64 Integration and unit tests QNX8 QEMU x86_64 Integration tests Mar 5, 2026
@TimofteBogdan1900 TimofteBogdan1900 force-pushed the feature/96530_shared_story branch 4 times, most recently from d41ded4 to a7b9a0e Compare March 5, 2026 15:22
@TimofteBogdan1900 TimofteBogdan1900 force-pushed the feature/96530_shared_story branch from a7b9a0e to 4a6f50e Compare March 5, 2026 15:23
TimofteBogdan1900 and others added 2 commits March 5, 2026 16:26
Co-authored-by: Jorge C. Santos <156771132+jorgecasal@users.noreply.github.com>
Signed-off-by: TimofteBogdan1900 <bogdan.timofte@etas.com>
@TimofteBogdan1900 TimofteBogdan1900 requested review from lurtz and removed request for AEK2HI March 5, 2026 17:24
@TimofteBogdan1900 TimofteBogdan1900 force-pushed the feature/96530_shared_story branch from 3c03168 to 75f77df Compare March 6, 2026 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants