Repository navigation
[tensilelite] Fix test_PlaceholderMerge xfail for TheRock CI - #7716
Conversation
…nments Move xfail marker from module-level pytestmark to per-test decorators so only tests that actually need logic YAML files are marked xfail. The module-level pytestmark caused XPASS(strict) failures in TheRock CI where logic files are absent but tests that don't need them still pass. Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
For clarity - my understanding is as follows:
In some cases, we run these Placeholder merge tests in an environment where the logic files directories exist, in some cases we have a test environment where they do not exist. We want to xfail them since in rocm-libraries standard CI, the directories do not exist. However, in TheRock artifacts, they do exist, Xfailed test -> Passes == CI failure with XPASS(strict). Thus this PR conditionally sets the xfail. Thanks @archana-ramalingam
Codecov Report✅ All modified and coverable lines are covered by tests. ❌ Your project status has failed because the head coverage (77.83%) is below the target coverage (80.00%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## develop #7716 +/- ##
===========================================
- Coverage 61.95% 61.87% -0.08%
===========================================
Files 2086 2086
Lines 357056 357253 +197
Branches 53784 53858 +74
===========================================
- Hits 221180 221024 -156
- Misses 117067 117426 +359
+ Partials 18809 18803 -6
*This pull request uses carry forward flags. Click here to find out more. 🚀 New features to boost your workflow:
|
## Summary Add `tensilelite` to the blas `projects_to_test` list in `therock_matrix.py` so tensilelite/rocisa tests run in TheRock CI. ## Technical details - Enable the `TensileLite` component in `therock_matrix.py`. - Guarded `from hip import hip` with try/except in `gpu_test_helpers.py` to prevent `ImportError` on systems without hip. Added `requires_gpu` marker combining hip availability + gfx950 architecture check, applied to all GPU unit test classes. (only subtile unit tests require gfx950 and `hip`) ### Dependency - #6205: Added `CMake` install rules to package `TensileLite`'s Python packages (Tensilelite + rocisa) for artifact-based testing in `TheRock` CI. - #7716: Narrowed xfail marker in `test_PlaceholderMerge.py` to only 2 tests that fail in absence of the logic files - ROCm/TheRock#5529: Added the `tensilelite` test component configuration. - #8196: Update `TheRock` reference to include ROCm/TheRock#5529 changes ## Test plan - [x] `TheRock` CI blas test job picks up `tensilelite` and runs tensilelite/rocisa tests - [x] GPU unit tests skip cleanly (not error) when `hip` module is not installed ## Test results - [x] Artifact layout verified — `share/hipblaslt/tensilelite/{Tensile,rocisa,rocisa_tests}/` - [x] Smoke import: `Tensile.ROOT_PATH` and `rocisa.__file__` resolve to artifact paths - [x] [rocisa](https://github.com/ROCm/rocm-libraries/actions/runs/27043375484/job/79836587812?pr=7872#step:11:92): 48 passed - [x] TensileLite [unit tests](https://github.com/ROCm/rocm-libraries/actions/runs/27043375484/job/79836587812?pr=7872#step:11:1569): - 1325 passed - 212 skipped (subtile tests requires [gfx950 runners](ROCm/TheRock#3288)) - 1 xfailed ([Issue](#7481) filed) AIGECORE-1997 --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: therockbot <therockbot@amd.com>
## Summary Add `tensilelite` to the blas `projects_to_test` list in `therock_matrix.py` so tensilelite/rocisa tests run in TheRock CI. ## Technical details - Enable the `TensileLite` component in `therock_matrix.py`. - Guarded `from hip import hip` with try/except in `gpu_test_helpers.py` to prevent `ImportError` on systems without hip. Added `requires_gpu` marker combining hip availability + gfx950 architecture check, applied to all GPU unit test classes. (only subtile unit tests require gfx950 and `hip`) ### Dependency - #6205: Added `CMake` install rules to package `TensileLite`'s Python packages (Tensilelite + rocisa) for artifact-based testing in `TheRock` CI. - #7716: Narrowed xfail marker in `test_PlaceholderMerge.py` to only 2 tests that fail in absence of the logic files - ROCm/TheRock#5529: Added the `tensilelite` test component configuration. - #8196: Update `TheRock` reference to include ROCm/TheRock#5529 changes ## Test plan - [x] `TheRock` CI blas test job picks up `tensilelite` and runs tensilelite/rocisa tests - [x] GPU unit tests skip cleanly (not error) when `hip` module is not installed ## Test results - [x] Artifact layout verified — `share/hipblaslt/tensilelite/{Tensile,rocisa,rocisa_tests}/` - [x] Smoke import: `Tensile.ROOT_PATH` and `rocisa.__file__` resolve to artifact paths - [x] [rocisa](https://github.com/ROCm/rocm-libraries/actions/runs/27043375484/job/79836587812?pr=7872#step:11:92): 48 passed - [x] TensileLite [unit tests](https://github.com/ROCm/rocm-libraries/actions/runs/27043375484/job/79836587812?pr=7872#step:11:1569): - 1325 passed - 212 skipped (subtile tests requires [gfx950 runners](ROCm/TheRock#3288)) - 1 xfailed ([Issue](#7481) filed) AIGECORE-1997 --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: therockbot <therockbot@amd.com>
Summary
For
test_PlaceholderMerge.py:However, 3 of the 5 tests do not rely on the logic files, resulting in unexpected passes (xpass), which in turn cause CI failures.
Technical details
The module-level
pytestmark = pytest.mark.xfail(not _LOGIC_ROOT.is_dir(), ...)applied to ALL 5 tests in the module.However, 3 / 5 tests don't need logic files and pass regardless — causing
XPASS(strict)failures in TheRock CI (unexpected pass treated as failure byxfail_strict=Trueinpytest.ini).Fix
_needs_logic_dirxfail marker to verify if logic files exist.@_needs_logic_dironly to the 2 tests that need logic files.Test plan
pytest Tensile/Tests/unit/test_PlaceholderMerge.py -v)Ref: #7481
AIGECORE-1997