Skip to content

Test that Rust and C++ ipc_bridge example work with each other#21

Closed
saksham-chawla wants to merge 5 commits intocodex/replay-pr-39-basefrom
codex/replay-pr-39-head
Closed

Test that Rust and C++ ipc_bridge example work with each other#21
saksham-chawla wants to merge 5 commits intocodex/replay-pr-39-basefrom
codex/replay-pr-39-head

Conversation

@saksham-chawla
Copy link
Collaborator

@saksham-chawla saksham-chawla commented Mar 18, 2026

CI should check that C++ and Rust code can communicate via mw::com. To simplify the tests the CLI interface of the Rust code has been more aligned with the C++ interface.

Fixes #38


Integration Test for Rust and C++ IPC Bridge Examples

This pull request introduces a new integration test to verify cross-language communication between the Rust and C++ ipc_bridge examples using mw::com. To facilitate this, the command-line interfaces of both examples have been aligned, and their behavior modified to support continuous sending and cycle-limited reception. The PR also includes minor cleanups and build system updates.

Architecture Diagram:

flowchart TD
    subgraph Test_Layer
        TestScript["test_ipc_bridge.sh (+144 lines)"]
    end

    subgraph Example_Layer
        RustExample["ipc_bridge_rs (+13/-15 lines)"]
        CppExample["ipc_bridge_cpp (+2/-2 lines)"]
    end

    subgraph Middleware_Layer
        Middleware["mw::com"]
    end

    subgraph Build_System
        BuildFile["BUILD (+10 lines)"]
    end

    DataLayer[/"'Service Manifest (JSON)'"/]

    TestScript -->|runs| RustExample
    TestScript -->|runs| CppExample
    TestScript -->|generates| DataLayer

    RustExample -->|uses| Middleware
    CppExample -->|uses| Middleware
    RustExample -->|reads| DataLayer
    CppExample -->|reads| DataLayer

    BuildFile -->|defines| TestScript
    BuildFile -->|defines| RustExample
    BuildFile -->|defines| CppExample
Loading

This summary was automatically generated by @propel-code-bot

lurtz added 5 commits October 30, 2025 10:26
Using `--help` lead definitely to a crash, which should not happen,
because `--help` is normal behavior.

Also `main()` was missing a return statement which is ok in C/C++, but
we have no control of the return value in this case. Now it is always 0,
when terminating without errors.
CI should check that C++ and Rust code can communicate via mw::com to
avoid having surprise regressions.
There is no Windows specific devcontainer anymore and all can use the
same devcontainer.
@saksham-chawla saksham-chawla marked this pull request as ready for review March 18, 2026 18:41
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