Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions dnn-providers/hip-kernel-provider/rocke/TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -421,6 +421,17 @@ skip; a partial or internally inconsistent LLVM installation fails. Flavor
auto-detection errors, including unavailable COMGR evidence, also remain
failures during this migration.

The reproduction scheduler preserves exhaustive coverage while avoiding
redundant compiler startup. It batches declaration discovery, preflights each
target once, and combines expected-positive calls per architecture. The
committed artifact schedules those batches but cannot make them pass: every call
must survive compile, link, and target assembly, and a failed batch is bisected
to individual verdicts. Expected-negative cells remain individual and use
explicit operand witnesses. Independent work shares a quota-aware bounded
worker pool, with `--jobs` available for an explicit site override.
Deterministic expected crashes are not retried; unexpected or unclassified
outcomes still receive a contention-free retry.

The fast structure and generator units remain source-only in
`platform/tests/tools/test_arch_domain_artifact.py`. Normal pytest and the
`ROCKE_BACKEND=both` pytest pass do not re-run the compiler sweep. The dedicated
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,21 @@ source tool and committed source column, while the installed entry invokes a
packaged test-only copy of the tool and the column in the relocated `rocke`
package. This matches the library-side CI model: CMake stages every input, CTest
owns execution, and no test reconstructs or reaches back into the source tree.

Reproduction uses the committed column only to schedule work, never as its
verdict. Declaration recognition is batched through `opt` and recursively split
on failure. Each compiler/architecture pair receives an intrinsic-free target
preflight. Calls for expected-positive cells are combined per architecture; a
failed module is recursively split until ordinary single-cell probes identify
every changed result. Expected-negative cells remain individual, and every
positive call still passes through compile, link, and target assembly. Special
integer and `immarg` operands come from explicit `ProbeSpec` witnesses rather
than speculative value sweeps. Target preflights, positive batches, and
negative singletons share a quota-aware worker pool capped at 32 by default;
`--jobs` is the explicit override for constrained or dedicated hosts. An
expected deterministic crash or timeout is not rerun serially; changed,
unclassified, and otherwise transient-looking results are.

The migration preserves the former pytest item's result mapping:

| Condition | CTest result |
Expand Down
Loading
Loading