Skip to content

feat: Add integration test framework - #126

Merged
lurtz merged 135 commits into
mainfrom
add-score-itf-for-intergration-tests
Jun 30, 2026
Merged

feat: Add integration test framework#126
lurtz merged 135 commits into
mainfrom
add-score-itf-for-intergration-tests

Conversation

@lurtz

@lurtz lurtz commented May 18, 2026

Copy link
Copy Markdown
Contributor

We need a way to run integration tests and in the best case they are oblivious to the platform they are run on. For that reason the code from communication/quality has been copied, but the sanitizer tests have been excluded.

In contrast to the code from communication, all tests are run using QEMU and Linux and QNX for the simple reason that then network setup is uniform. For supporting Linux a new ITF plugin has been written and the same tests pass using Linux and QNX.

For test stability the decision has been made that per Python test file and bazel target only a single test will be run. Otherwise there might be stale state from previous tests influencing the behavior of the current test.

#19 is similar. It focuses only on QNX and runs two QEMU instances.

@github-actions

github-actions Bot commented May 18, 2026

Copy link
Copy Markdown
Contributor

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]
Extracting Bazel installation...
Starting local Bazel server (8.6.0) and connecting to it...
INFO: Invocation ID: 74412530-f5a1-4e96-a327-697ce11374e9
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 3 packages loaded
Loading: 3 packages loaded
    currently loading: 
Loading: 3 packages loaded
    currently loading: 
Loading: 3 packages loaded
    currently loading: 
Loading: 3 packages loaded
    currently loading: 
Analyzing: target //:license-check (4 packages loaded, 0 targets configured)
Analyzing: target //:license-check (4 packages loaded, 0 targets configured)

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

Analyzing: target //:license-check (125 packages loaded, 461 targets configured)

Analyzing: target //:license-check (166 packages loaded, 5459 targets configured)

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

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

Analyzing: target //:license-check (175 packages loaded, 9616 targets configured)

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

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

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

INFO: Analyzed target //:license-check (180 packages loaded, 13203 targets configured).
[16 / 17] Generating Dash formatted dependency file ...; 0s disk-cache
INFO: From Generating Dash formatted dependency file ...:
INFO: Successfully converted 2 packages from Cargo.lock to bazel-out/k8-fastbuild/bin/formatted.txt
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: 166.083s, Critical Path: 0.21s
INFO: 17 processes: 5 disk cache hit, 12 internal.
INFO: Build completed successfully, 17 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
Copy Markdown
Contributor

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

Comment thread .bazelrc Outdated
Comment thread quality/integration_testing/integration_testing.bzl
Comment thread MODULE.bazel Outdated
ping_process = bash_process.__enter__()
assert ping_process is not None, "Failed to start ping process"
assert ping_process.is_running(), bash_process.get_output().decode()
assert tcpdump_process.poll() is None, get_output(tcpdump_process)

@TimofteBogdan1900 TimofteBogdan1900 Jun 23, 2026

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.

i can confirm that this test fails in wsl2
bazel test --config=qemu-integration //tests/integration_test:test_tcpdump --nocache_test_results --test_output=errors

      assert tcpdump_process.poll() is None, get_output(tcpdump_process)

E AssertionError:

i have no solution :(

Comment thread bazel/rules/expand_template.bzl Outdated

@TimofteBogdan1900 TimofteBogdan1900 left a comment

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.

done

@lurtz

lurtz commented Jun 25, 2026

Copy link
Copy Markdown
Contributor Author

Prefer to merge #166 before this PR

lurtz and others added 4 commits June 26, 2026 14:54
Co-authored-by: lurtz <727209+lurtz@users.noreply.github.com>
Signed-off-by: lurtz <727209+lurtz@users.noreply.github.com>
in CI and one time locally tcpdump failed to capure ICMP messages. Thus use a more defensive approach
@lurtz
lurtz enabled auto-merge June 30, 2026 12:27

@opajonk opajonk left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I briefly checked this for what I know. Review by @TimofteBogdan1900 is good for me!

@lurtz
lurtz added this pull request to the merge queue Jun 30, 2026
Merged via the queue into main with commit b4971d1 Jun 30, 2026
16 checks passed
@lurtz
lurtz deleted the add-score-itf-for-intergration-tests branch June 30, 2026 12:52
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