diff --git a/dnn-providers/hip-kernel-provider/ROCKE_ENGINE_test_categories_external.yaml b/dnn-providers/hip-kernel-provider/ROCKE_ENGINE_test_categories_external.yaml index e692d3e0cf2c..1b923d974c5e 100644 --- a/dnn-providers/hip-kernel-provider/ROCKE_ENGINE_test_categories_external.yaml +++ b/dnn-providers/hip-kernel-provider/ROCKE_ENGINE_test_categories_external.yaml @@ -68,6 +68,8 @@ test_categories: - "rocke_library_conv_pytest" - "rocke_library_attention_cpu_pytest" - "rocke_library_attention_pytest" + # Not registered on Windows (see rocke/platform/CMakeLists.txt); the + # parser ignores a listed name that has no registered test. - "rocke_library_gdn_pytest" - "rocke_library_attention_gpu_pytest" - "rocke_library_attention_bias_gpu_pytest" @@ -109,6 +111,8 @@ test_categories: - "rocke_library_conv_pytest" - "rocke_library_attention_cpu_pytest" - "rocke_library_attention_pytest" + # Not registered on Windows (see rocke/platform/CMakeLists.txt); the + # parser ignores a listed name that has no registered test. - "rocke_library_gdn_pytest" - "rocke_library_attention_gpu_pytest" - "rocke_library_attention_bias_gpu_pytest" diff --git a/dnn-providers/hip-kernel-provider/rocke/TESTING.md b/dnn-providers/hip-kernel-provider/rocke/TESTING.md index bdd30851e899..cb325260add1 100644 --- a/dnn-providers/hip-kernel-provider/rocke/TESTING.md +++ b/dnn-providers/hip-kernel-provider/rocke/TESTING.md @@ -750,7 +750,7 @@ Read coverage from the emitter configs ([`platform/tests/README.md`](platform/te | # | Gap | Impact | Target | |---|---|---|---| -| G6 | **Partially enrolled `library/` behavioral pytest** | Installed CTest registers explicit attention, convolution, DSA, MLA, GDN, reference-contract, and GPU cohorts, but external tier selection does not currently enroll DSA and source tests outside the explicit CMake selections remain ungated; registration or adding a file under `library/tests/` does not establish CI coverage | Audit registered-but-unselected entries and unregistered files; enroll each in an owned CTest tier or document why it remains manual | +| G6 | **Partially enrolled `library/` behavioral pytest** | Installed CTest registers explicit attention, convolution, DSA, MLA, GDN, reference-contract, and GPU cohorts, but external tier selection does not currently enroll DSA and source tests outside the explicit CMake selections remain ungated; registration or adding a file under `library/tests/` does not establish CI coverage; the GDN/KDA host entry `rocke_library_gdn_pytest` is not registered on Windows (a slow case in `test_gdn_decode_fused.py`), so Windows runs no GDN/KDA decode host pytest (the KDA chunkwise IR hashes stay covered by `rocke_golden_static`); the GDN/KDA GPU numeric files skip on the Windows GPU lanes, which lack gfx950/gfx942 devices | Audit registered-but-unselected entries and unregistered files; enroll each in an owned CTest tier or document why it remains manual | | G7 | **Orphaned `platform/python` pytest** (heuristics, benchmark) | Platform unit tests outside `platform/tests` never run in gate or CI | Collect or relocate them | ### 7.3 What "green" does and does not mean today diff --git a/dnn-providers/hip-kernel-provider/rocke/platform/CMakeLists.txt b/dnn-providers/hip-kernel-provider/rocke/platform/CMakeLists.txt index 7d15a4b2a262..f19d6ebe9706 100644 --- a/dnn-providers/hip-kernel-provider/rocke/platform/CMakeLists.txt +++ b/dnn-providers/hip-kernel-provider/rocke/platform/CMakeLists.txt @@ -741,6 +741,14 @@ if(ROCKE_INSTALL_TESTS) # the golden IR hashes, the performance knobs, and dispatch selection. None # needs a GPU; the GPU numeric suites are in rocke_library_gpu_pytest. Same # PYTHONPATH rule as the conv entry. + # + # Not registered on Windows. The Windows CI shard runs close to its time + # limit, and test_gdn_decode_fused.py::test_lowers_and_compiles_without_scratch + # runs close to the 60 s per-test limit on Windows runners. Re-enable on + # Windows once that case is cheaper or split out. The GDN/KDA numeric files + # in rocke_library_gpu_pytest need gfx950/gfx942 devices and already skip + # at collection on the Windows GPU lanes, so they are unchanged. This entry + # stays registered on every other platform. set(_ROCKE_LIBRARY_GDN_TEST_RELPATHS "tests/library/tests/test_gdn_decode_spec.py" "tests/library/tests/test_gdn_decode_fused.py" @@ -757,13 +765,17 @@ if(ROCKE_INSTALL_TESTS) string(APPEND _ROCKE_LIBRARY_GDN_TESTS " \"${ROCKE_TEST_CTEST_REL}${_rocke_gdn_test}\"") endforeach() - string(APPEND _ROCKE_INSTALLED_CTEST_ENTRIES - "add_test(rocke_library_gdn_pytest python -m pytest${_ROCKE_LIBRARY_GDN_TESTS} -v -rs --timeout=60)\n") - string(APPEND _ROCKE_INSTALLED_CTEST_ENTRIES - "set_tests_properties(rocke_library_gdn_pytest PROPERTIES\n" - " LABELS \"ckc\\;python\\;gdn\\;host\\;quick\"\n" - " ENVIRONMENT \"PYTHONPATH=${ROCKE_TEST_CTEST_REL}tests/library\"\n" - " TIMEOUT 600)\n") + if(WIN32) + message(STATUS "rocKE: rocke_library_gdn_pytest not registered on Windows (slow GDN fused case; see comment above)") + else() + string(APPEND _ROCKE_INSTALLED_CTEST_ENTRIES + "add_test(rocke_library_gdn_pytest python -m pytest${_ROCKE_LIBRARY_GDN_TESTS} -v -rs --timeout=60)\n") + string(APPEND _ROCKE_INSTALLED_CTEST_ENTRIES + "set_tests_properties(rocke_library_gdn_pytest PROPERTIES\n" + " LABELS \"ckc\\;python\\;gdn\\;host\\;quick\"\n" + " ENVIRONMENT \"PYTHONPATH=${ROCKE_TEST_CTEST_REL}tests/library\"\n" + " TIMEOUT 600)\n") + endif() # cmake/InstallGpuReferences.cmake discovers the operations from library/tests. foreach(_operation IN LISTS _ROCKE_REFERENCE_OPERATIONS)