Skip to content

Run integration tests on QNX via QEMU - #328

Draft
danth wants to merge 6 commits into
eclipse-score:mainfrom
etas-contrib:qemu-integration
Draft

Run integration tests on QNX via QEMU#328
danth wants to merge 6 commits into
eclipse-score:mainfrom
etas-contrib:qemu-integration

Conversation

@danth

@danth danth commented Jul 16, 2026

Copy link
Copy Markdown
Member

Closes #316.

Outstanding issues:

  • A separate --config argument is now needed to run unit tests, as otherwise the unit test framework adds an unwanted second layer of emulation to the integration tests. Since they are using --run_under it is difficult to avoid this.
    • As a result, QNX unit tests now fail when running with the old flag, as they try to run directly on the local machine. Ideally they would be skipped instead.
  • Likely some unnecessary things installed in the VM, due to most of the configuration being copied from the communication repository.
  • Missing documentation on how to obtain a QNX license / credentials to be able to run this locally.

Some of these could be tackled in future PRs.

@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run --lockfile_mode=error //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.6.0) and connecting to it...
INFO: Invocation ID: 54479514-ab5d-45d2-8148-b4c1344a2d6c
Computing main repo mapping: 
DEBUG: Rule 'score_itf+' indicated that a canonical reproducible form can be obtained by modifying arguments commit = "ac00c65be00a10c9a1a87fac2bcfa8bde2611133" and dropping ["branch"]
DEBUG: Repository score_itf+ instantiated at:
  <builtin>: in <toplevel>
Repository rule git_repository defined at:
  /home/runner/.bazel/external/bazel_tools/tools/build_defs/repo/git.bzl:222:33: in <toplevel>
Computing main repo mapping: 
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)

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

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

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

Analyzing: target //:license-check (145 packages loaded, 1438 targets configured)

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

Analyzing: target //:license-check (163 packages loaded, 6250 targets configured)

Analyzing: target //:license-check (167 packages loaded, 6298 targets configured)

Analyzing: target //:license-check (167 packages loaded, 6298 targets configured)

Analyzing: target //:license-check (170 packages loaded, 8185 targets configured)

Analyzing: target //:license-check (170 packages loaded, 8185 targets configured)

Analyzing: target //:license-check (172 packages loaded, 10801 targets configured)

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

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

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

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

INFO: Analyzed target //:license-check (175 packages loaded, 11535 targets configured).
[3 / 14] checking cached actions
[14 / 16] [Prepa] JavaToolchainCompileBootClasspath external/rules_java+/toolchains/platformclasspath.jar
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: 34.484s, Critical Path: 2.74s
INFO: 16 processes: 12 internal, 3 processwrapper-sandbox, 1 worker.
INFO: Build completed successfully, 16 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>]

@danth
danth force-pushed the qemu-integration branch from 69a20dc to c34280f Compare July 22, 2026 14:50
@danth
danth requested a deployment to workflow-approval July 22, 2026 14:50 — with GitHub Actions Waiting
@danth
danth requested a deployment to workflow-approval July 22, 2026 14:50 — with GitHub Actions Waiting
@danth
danth force-pushed the qemu-integration branch from c34280f to 4ced14b Compare July 22, 2026 14:55
@danth
danth requested a deployment to workflow-approval July 22, 2026 14:56 — with GitHub Actions Waiting
@danth
danth requested a deployment to workflow-approval July 22, 2026 14:56 — with GitHub Actions Waiting
@danth
danth force-pushed the qemu-integration branch from 4ced14b to 6ff365d Compare July 22, 2026 15:37
@danth
danth requested a deployment to workflow-approval July 22, 2026 15:37 — with GitHub Actions Waiting
@danth
danth requested a deployment to workflow-approval July 22, 2026 15:37 — with GitHub Actions Waiting
@danth
danth force-pushed the qemu-integration branch from 6ff365d to 196beb3 Compare July 23, 2026 09:34
@danth
danth requested a deployment to workflow-approval July 23, 2026 09:34 — with GitHub Actions Waiting
@danth
danth requested a deployment to workflow-approval July 23, 2026 09:34 — with GitHub Actions Waiting
@github-actions

Copy link
Copy Markdown

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

@danth
danth requested a deployment to workflow-approval July 23, 2026 14:14 — with GitHub Actions Waiting
@danth
danth requested a deployment to workflow-approval July 23, 2026 14:14 — with GitHub Actions Waiting
@danth
danth marked this pull request as ready for review July 23, 2026 14:18
@danth

This comment was marked as outdated.

- bazel-config: x86_64-qnx
bazel-test-target: >-
//score/...
bazel-test-target: //examples/... //tests/...

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be good to merge the unit tests and other tests into a single entry so that we utilize the cache more.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right now they need to be run with separate configs so that would have to be resolved first.

Comment thread requirements.in
Comment thread tests/utils/testing_utils/run_until_file_deployed.py
Comment thread tests/utils/environments/x86_64-qnx/init.build
Comment thread tests/utils/environments/x86_64-qnx/qcrypto.conf Outdated
Comment thread tests/integration/process_fd_leak/BUILD
Comment thread tests/utils/bazel/integration.bzl Outdated
@danth
danth force-pushed the qemu-integration branch from f975e55 to 7ca6810 Compare July 24, 2026 10:24
@danth
danth requested a deployment to workflow-approval July 24, 2026 10:24 — with GitHub Actions Waiting
@danth
danth requested a deployment to workflow-approval July 24, 2026 10:24 — with GitHub Actions Waiting
@danth
danth force-pushed the qemu-integration branch from 7ca6810 to c768495 Compare July 24, 2026 14:40
@danth
danth requested a deployment to workflow-approval July 24, 2026 14:40 — with GitHub Actions Waiting
@danth
danth requested a review from NicolasFussberger July 27, 2026 08:51
Comment thread tests/utils/testing_utils/run_until_file_deployed.py Outdated
Comment thread .bazelrc
@danth
danth force-pushed the qemu-integration branch from 59208be to 6f9dcc8 Compare July 29, 2026 12:42
@danth
danth requested a deployment to workflow-approval July 29, 2026 12:42 — with GitHub Actions Waiting
@danth
danth requested a deployment to workflow-approval July 29, 2026 12:42 — with GitHub Actions Waiting
@danth
danth requested a deployment to workflow-approval July 29, 2026 12:42 — with GitHub Actions Waiting
@danth
danth requested a deployment to workflow-approval July 29, 2026 12:42 — with GitHub Actions Waiting
@danth
danth marked this pull request as draft July 30, 2026 15:12
@danth
danth force-pushed the qemu-integration branch from 6f9dcc8 to 59a0ecb Compare July 30, 2026 15:32
@danth
danth requested a deployment to workflow-approval July 30, 2026 15:32 — with GitHub Actions Waiting
@danth
danth requested a deployment to workflow-approval July 30, 2026 15:32 — with GitHub Actions Waiting
@danth

danth commented Jul 30, 2026

Copy link
Copy Markdown
Member Author

Blocked by eclipse-score/itf#127

(eclipse-score/itf#125 would also be nice, but is not essential)

danth added 6 commits July 30, 2026 16:36
Our Bazel toolchain for Python does not work with QNX, so we need to use built-in libraries to parse the results instead.
With proper use of Bazel platforms rather than configs, I think it would be possible to do this in a much cleaner way.
However that would require deeper changes across our codebase and possibly in the test frameworks as well.
@danth
danth force-pushed the qemu-integration branch from 59a0ecb to 5d8df15 Compare July 30, 2026 15:37
@danth
danth temporarily deployed to workflow-approval July 30, 2026 15:37 — with GitHub Actions Inactive
@danth
danth deployed to workflow-approval July 30, 2026 15:37 — with GitHub Actions Active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

Introduce QNX8 support for feature integration tests

3 participants