Adding QNX Unit Testing Infrastructure and Python Dependency Integration#5
Closed
saksham-chawla wants to merge 1 commit intocodex/replay-pr-200-basefrom
Closed
Adding QNX Unit Testing Infrastructure and Python Dependency Integration#5saksham-chawla wants to merge 1 commit intocodex/replay-pr-200-basefrom
saksham-chawla wants to merge 1 commit intocodex/replay-pr-200-basefrom
Conversation
saksham-chawla
pushed a commit
that referenced
this pull request
Mar 18, 2026
…_implementation_Feedback_Review Generic skeleton implementation feedback review [Resolve merge conflicts with main]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces QNX unit testing support and updates Python dependencies to enable test result processing and Bazel integration.
Adding QNX Unit Testing Infrastructure and Python Dependency Integration
This pull request introduces comprehensive QNX unit testing support by integrating a new infrastructure into the Bazel build system. It enables C++ unit tests to run on QNX 8.0 within a QEMU virtual machine environment. The changes include new Bazel rules for building QNX bootable images and orchestrating QEMU execution, along with Python scripts for processing test results and coverage data from shared filesystems.
The PR also updates Python dependencies to support the new test result processing capabilities, ensuring that the Bazel integration for QNX testing is robust and capable of handling test outputs and coverage reports.
Architecture Diagram:
flowchart TD subgraph Host_Environment Bazel["Bazel Build System"] -- "defines `cc_test_qnx` macro" --> QNXTestMacro["cc_test_qnx.bzl (+195 lines)"] QNXTestMacro -- "generates" --> QNX_IFS["QNX Bootable Image"] QNXTestMacro -- "orchestrates" --> QEMULauncher["run_qemu.sh (+52 lines)"] QEMULauncher -- "invokes" --> ResultProcessor["process_test_results.py (+30 lines)"] ResultProcessor -- "uses Python libs" --> PythonDeps["pyfatfs, fs"] end subgraph QEMU_VM QEMULauncher -- "starts VM with" --> QEMU["QEMU Virtual Machine"] QEMU -- "boots" --> QNX_IFS QEMU -- "mounts shared disk 0" --> FAT32_Results[/"FAT32 Test Results"/] QEMU -- "mounts shared disk 1" --> QNX6_Persistent[/"QNX6 Persistent Storage"/] end subgraph QNX_Guest_OS QNX_IFS -- "executes" --> StartupScript["startup.sh (+60 lines)"] StartupScript -- "configures" --> PersistencyScript["configure_persistency.sh (+165 lines)"] StartupScript -- "runs" --> TestBinary["C++ Test Binary"] TestBinary -- "writes XML" --> FAT32_Results TestBinary -- "writes coverage" --> QNX6_Persistent end FAT32_Results -- "read by" --> ResultProcessor QNX6_Persistent -- "read by" --> ResultProcessorThis summary was automatically generated by @propel-code-bot