Repository navigation
feat(hip-tests): add test filter standardization - #12266
Conversation
✅ All Policy Checks Passed
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🚫 Please fix the failed policies before requesting reviews. The following policy checks failed:
The |
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
Only a minor documentation schedule alignment nit remains; no blocking issues were identified.
Review effort: Lite
Findings: None
What changed in this PR
Adds standardized quick through full test categories to hip-tests, with YAML-driven Catch2 tags, level resolution, exclusions, tests, and documentation.
Changes:
- Generates category tags and C++ level mappings.
- Supports category names in
HIP_TEST_LEVELand Catch2 filters. - Adds exclusion handling, tests, documentation, and build integration.
| File | Reviewed change |
|---|---|
projects/hip-tests/catch/README.md |
Documents categories and exclusions. |
projects/hip-tests/catch/include/hip_test_level.hh |
Documents category-aware level selection. |
projects/hip-tests/catch/hipTestMain/tests/hip_test_level_test.cc |
Adds category resolution tests. |
projects/hip-tests/catch/hipTestMain/tests/CMakeLists.txt |
Adds generated-header dependencies and include paths. |
projects/hip-tests/catch/hipTestMain/hip_test_level.cc |
Resolves category names into test levels. |
projects/hip-tests/catch/config/parse_config.py |
Generates category tags and mappings. |
projects/hip-tests/catch/config/configs/test_categories.yaml |
Defines categories and execution metadata. |
projects/hip-tests/catch/config/CMakeLists.txt |
Integrates category configuration generation. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
feaea65 to
62be4ed
Compare
62be4ed to
db743ea
Compare
|
🤖 AI-assisted pre-review (for @mangupta) Re-reviewed the updated head ( |
db743ea to
5ac00be
Compare
|
🤖 AI-assisted pre-review (for @mangupta) Re-reviewed the updated head ( |
5ac00be to
4629a19
Compare
4629a19 to
dd667b7
Compare
dd667b7 to
a86bc61
Compare
a86bc61 to
b63bd18
Compare
b63bd18 to
190ee17
Compare
|
🤖 AI-assisted pre-review (for @mangupta) Re-reviewed the updated head ( |
## Motivation
Add test filter standardization to hip-tests
## Technical Details
configs/test_categories.yaml defines four categories as sets of levels:
- quick {0}
- standard {0, 1}
- comprehensive {0, 1, 2}
- full {0, 1, 2 , 3, 4}
parse_config.py emits each as a Catch2 tag
Because ctest -L labels never reaches the binary, categories are
resolves via a map emitted into hip_test_parameters.hh — so
HIP_TEST_LEVEL=quick selects and parameterizes, reusing the existing
priority/filter/listener logic unchanged.
Exclusions reuse the existing yaml config disabled list, which emits
exclusion tags in the form exclude_<>. Supported exclusions are:
- {platform}_{os_name} amd_linux, nvidia_windows, ...
- {arch} any platform and OS
- {os_name}_{arch} linux_<arch>, windows_<arch>
- asan ASAN builds only
create_test_definition also now accepts {os_name}_{arch} in the disabled
list
## Issue Tracking
JIRA ID: AIRUNTIME-2908
## Test Plan
Ensure build passes. All tests pass
## Test Result
Local build passed, local tests pass
## Submission Checklist
- [x] Look over the contributing guidelines at
https://github.com/ROCm/rocm-systems/blob/develop/CONTRIBUTING.md.
TheRock Submodule Bump ActivityNewest first
|
Motivation
Add test filter standardization to hip-tests
Technical Details
configs/test_categories.yaml defines four categories as sets of levels:
parse_config.py emits each as a Catch2 tag
Because ctest -L labels never reaches the binary, categories are resolves via a map emitted into hip_test_parameters.hh — so HIP_TEST_LEVEL=quick selects and parameterizes, reusing the existing priority/filter/listener logic unchanged.
Exclusions reuse the existing yaml config disabled list, which emits exclusion tags in the form exclude_<>. Supported exclusions are:
create_test_definition also now accepts {os_name}_{arch} in the disabled list
Issue Tracking
JIRA ID: AIRUNTIME-2908
Test Plan
Ensure build passes. All tests pass
Test Result
Local build passed, local tests pass
Submission Checklist