Skip to content

Saumya feature integration lifecycle with other modules only#247

Draft
Saumya-R wants to merge 6 commits into
eclipse-score:mainfrom
qorix-group:saumya_feature_integration_lifecycle
Draft

Saumya feature integration lifecycle with other modules only#247
Saumya-R wants to merge 6 commits into
eclipse-score:mainfrom
qorix-group:saumya_feature_integration_lifecycle

Conversation

@Saumya-R
Copy link
Copy Markdown
Contributor

@Saumya-R Saumya-R commented Jun 4, 2026

Overview

This PR introduces comprehensive lifecycle integration testing infrastructure for the S-CORE reference_integration repository, focusing on multi-component integration tests that verify lifecycle features work correctly with other SCORE components.

Key Changes

1. New Integration Test Infrastructure

Added Files:

  • test_cases/tests/lifecycle/test_launch_manager_health_monitor.py - Launch Manager + Health Monitor integration test (266 lines)
  • test_cases/daemon_helpers.py - Helper utilities for daemon-based testing (359 lines)
  • test_cases/lifecycle_scenario.py - Lifecycle test scenario base class (298 lines)

Test Implementations:

  • test_scenarios/cpp/src/scenarios/lifecycle/launch_manager_support.cpp - C++ lifecycle test scenarios (827 lines)
  • test_scenarios/cpp/src/scenarios/lifecycle/launch_manager_support.h - C++ header (122 lines)
  • test_scenarios/rust/src/scenarios/lifecycle/launch_manager_support.rs - Rust lifecycle test scenarios (573 lines)
  • test_scenarios/rust/src/scenarios/lifecycle/mod.rs - Rust module (47 lines)

2. Key Sections:

  • Integration Tests - Current: test_launch_manager_health_monitor.py
  • Integration Tests - Planned:
    1. Lifecycle + Communication
    2. Lifecycle + Persistency
    3. Lifecycle + Logging
    4. Lifecycle + Orchestration
    5. Full Stack Integration

3. Build Configuration

Updated: test_cases/BUILD

  • Added fit_daemon_rust target for Rust daemon integration tests
  • Added fit_daemon_cpp target for C++ daemon integration tests
  • Configured test filters: -k launch_manager_health_monitor
  • Added dependencies on Launch Manager daemon and supervised app examples

4. Test Coverage

Components Tested:

  • Launch Manager daemon
  • Lifecycle client API (Rust + C++)
  • Process supervision
  • Health monitoring
  • Recovery actions

Test Scenarios:

  • Daemon startup and initialization
  • Supervised process launching via daemon
  • Health check reporting
  • Process monitoring
  • Recovery on supervised process failure

Testing Strategy

Multi-Component Focus

This PR establishes the principle that reference_integration contains true integration tests - tests that verify lifecycle features work correctly WITH other SCORE components.

Build and Run

Build Tests

# Build Rust daemon integration tests
bazel build --config=linux-x86_64 //feature_integration_tests/test_cases:fit_daemon_rust

# Build C++ daemon integration tests
bazel build --config=linux-x86_64 //feature_integration_tests/test_cases:fit_daemon_cpp

Run Tests

# Run Rust version
bazel test --config=linux-x86_64 //feature_integration_tests/test_cases:fit_daemon_rust

# Run C++ version
bazel test --config=linux-x86_64 //feature_integration_tests/test_cases:fit_daemon_cpp

# Run both
bazel test --config=linux-x86_64 //feature_integration_tests/test_cases:fit_daemon_rust \
                                   //feature_integration_tests/test_cases:fit_daemon_cpp

Breaking Changes

None. This PR only adds new functionality.

Dependencies

  • Requires @score_lifecycle_health//src/launch_manager_daemon:launch_manager
  • Requires @score_lifecycle_health//examples/rust_supervised_app
  • Requires @score_lifecycle_health//examples/cpp_supervised_app

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 4, 2026

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


**Note**: These tests are designed to run with pytest directly, not through Bazel.
The Launch Manager daemon requires complex configuration and workspace access
that isn't compatible with Bazel's test sandbox.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

There's a comment in "LIFECYCLE_TESTS_SUMMARY.md" that " Note: All tests should be run using Bazel. Direct pytest execution is a work in progress."

and here its mentioned to use pytest. Are these tests exceptions ?

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