Skip to content

Initial integration tests#194

Open
WilliamRoebuck wants to merge 3 commits into
eclipse-score:mainfrom
etas-contrib:feature/integration-tests-1
Open

Initial integration tests#194
WilliamRoebuck wants to merge 3 commits into
eclipse-score:mainfrom
etas-contrib:feature/integration-tests-1

Conversation

@WilliamRoebuck
Copy link
Copy Markdown
Contributor

@WilliamRoebuck WilliamRoebuck commented May 12, 2026

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 12, 2026

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.4.2) and connecting to it...
INFO: Invocation ID: 45ff3809-afe3-4fb1-9f97-487938b935df
Computing main repo mapping: 
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: 
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 (83 packages loaded, 10 targets configured)

Analyzing: target //:license-check (127 packages loaded, 1050 targets configured)

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

Analyzing: target //:license-check (152 packages loaded, 8045 targets configured)

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

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

Analyzing: target //:license-check (159 packages loaded, 8338 targets configured)

INFO: Analyzed target //:license-check (162 packages loaded, 10232 targets configured).
[12 / 16] JavaToolchainCompileClasses external/rules_java+/toolchains/platformclasspath_classes; 0s disk-cache, processwrapper-sandbox ... (2 actions, 1 running)
[14 / 16] JavaToolchainCompileBootClasspath external/rules_java+/toolchains/platformclasspath.jar; 0s disk-cache, processwrapper-sandbox
[15 / 16] 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: 21.645s, Critical Path: 2.80s
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>]

@WilliamRoebuck WilliamRoebuck force-pushed the feature/integration-tests-1 branch from bfff457 to 784bdd7 Compare May 12, 2026 10:20
@WilliamRoebuck WilliamRoebuck marked this pull request as draft May 12, 2026 11:19
@github-actions
Copy link
Copy Markdown

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

@WilliamRoebuck WilliamRoebuck marked this pull request as ready for review May 13, 2026 11:36
* Add process args test eclipse-score#172
* Add run target switch test eclipse-score#174
* Add runtime crash test eclipse-score#177
* Add monitoring failure test eclipse-score#178
* Add crash on startup test eclipse-score#179
int main()
{
deploy_and_crash_if_not_present("crashed_once");
deploy_and_crash_if_not_present("crashed_twice");
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.

Where are these files being cleaned up again?

derivation_technique="requirements-analysis",
)
def test_crash_on_startup(target, setup_test, test_output_dir, remote_test_dir):
"""Integration test verifying that the launch manager correctly handles processes
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 think we need some more description of what is being tested here and what is the expected behaviour.
The process is asking for this information:

  • The objective of the test.
  • Inputs
  • Expected outcome (e.g. “A success message is displayed.”)
  • Test environment (e.g. network configuration, clean system state)

I know there is more info in control_client_mock.cpp available, but I assume we need this info in a test spec as part of a test report at least at a high level.

Maybe something like:

"""
Objective: Verifies that the launch manager correctly handles processes that crash before reporting kRunning.

Case 1: Process crashes before Running state but eventually starts up successfully before the configured number of restart attempts is exceeded.
Expected Behaviour: Process startup successful, RunTarget activation successful

Case 2: Process keeps crashing, exceeding the number of restart attempts.
Expected Behaviour: Process startup fails, LaunchManager executes recovery action.
"""

#include <score/lcm/control_client.h>
#include <score/lcm/lifecycle_client.h>

score::lcm::ControlClient client;
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.

After merging #191 we cannot create the ControlClient in global scope as mw::log might not be initialized yet and does not support logging at this point in time.
Same for all other tests

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.

2 participants