-
Notifications
You must be signed in to change notification settings - Fork 192
Adds Python-based test runner for RCCL #2034
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
|
Very comprehensive. Nice work. A few minor observations: In test_runner.py Should we report before exiting? Especially if verbose is set, but even otherwise? In test_runner.py Unless I'm reading this wrong, it appears that the following code is redundant: Was there instead an intent to log something if failed or timeout are > 0? In test_executor.py Would it be better to turn the following into two separate enums? |
Update node and process validation Updated node detection count and modified validation method Update validation logic to include max procs and nodes
512d38f to
186b0ad
Compare
Details
Work item: Sub-task of LWPCOMMLIBS-713
What were the changes?
Adds Python-based test runner for RCCL with hierarchical JSON configuration support, replacing shell-based test execution with a maintainable and extensible framework that supports GTest, performance tests, and custom executables.
Includes integrated LLVM code coverage reporting, MPI multi-rank/multi-node test execution, flexible test filtering, automated CMake build integration, and environment variable management with path expansion.
Provides clean output, comprehensive logging, and configuration inheritance via "extends" directive for easy test suite organization and reusability.
Why were the changes made?
Test execution with a Python framework that provides better extensibility, hierarchical JSON configuration for easier test management, and integrated LLVM code coverage reporting.
Enables better test organization through configuration inheritance, environment variable management with path expansion, and supports multiple test types (GTest, performance, custom) with flexible filtering and automated build integration.
How was the outcome achieved?
Additional Documentation:
Please go over README.md for more information
Approval Checklist
Do not approve until these items are satisfied.