Skip to content

test: improve generic skeleton interaction tests for CI stability#513

Merged
LittleHuba merged 1 commit into
eclipse-score:mainfrom
Valeo-S-CORE-Organization:generic-skeleton-test-improvement
Jun 22, 2026
Merged

test: improve generic skeleton interaction tests for CI stability#513
LittleHuba merged 1 commit into
eclipse-score:mainfrom
Valeo-S-CORE-Organization:generic-skeleton-test-improvement

Conversation

@ShoroukRamzy

Copy link
Copy Markdown
Contributor

Objective: Improve the stability and reliability of the generic_skeleton integration tests in CI environments.

Changes:

  • Test Flow Redesign: The provider now loops infinitely (handling SIGTERM via stop_token for graceful shutdown) while the consumer strictly verifies 30 consecutive samples starting from the first one it successfully receives.

  • Orchestration: The Python test runner now waits purely for the consumer to succeed and exit, and then cleanly terminates the provider. This completely eliminates random test hangs/failures caused by thread scheduling delays on GitHub Actions.

  • XFAIL: All tests are currently marked as "expected to fail" (xfail) to prevent CI blockage. They successfully run but correctly catch a known Generic Skeleton base pointer / memory alignment bug. Once the underlying C++ bug is fixed in a subsequent PR, the xfail markers will be removed in a follow-up PR

@ShoroukRamzy

Copy link
Copy Markdown
Contributor Author

Hi @crimson11, Could you please have a look when you have time? Thanks!

castler
castler previously approved these changes Jun 20, 2026
std::cout << "[PROVIDER] Finished initial 5s sleep." << std::endl;

for (int i = 0; i < kSamplesToProcess; ++i)
uint64_t i = 0;

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.

For future: Please use std::uint64_t

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done

mode = argv[++i];
score::mw::com::runtime::InitializeRuntime(score::mw::com::runtime::RuntimeConfiguration(argc, argv));

score::cpp::stop_source stop_source;

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.

For future, please always use {}-Initalization

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done

@castler

castler commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

@ShoroukRamzy can you maybe fix the suggestions as you have to rebase because of a merge conflict anyhow?

@ShoroukRamzy ShoroukRamzy force-pushed the generic-skeleton-test-improvement branch 2 times, most recently from e9521ea to c31d40a Compare June 21, 2026 09:20
@ShoroukRamzy

Copy link
Copy Markdown
Contributor Author

@ShoroukRamzy can you maybe fix the suggestions as you have to rebase because of a merge conflict anyhow?

Hi @castler, Done

- Marked all integration tests with @pytest.mark.xfail due to a known Generic Skeleton memory alignment/base pointer bug. This allows the CI to pass until the underlying fix is implemented in a follow-up PR.
@ShoroukRamzy ShoroukRamzy force-pushed the generic-skeleton-test-improvement branch from c31d40a to 1799c14 Compare June 21, 2026 10:06
@LittleHuba LittleHuba added this pull request to the merge queue Jun 22, 2026
Merged via the queue into eclipse-score:main with commit b2e20c7 Jun 22, 2026
9 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in COM - Communication FT Jun 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants