You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tests: Add a verifier level to the expected-failure tiers
test_config.toml could only declare a failure at the "ir" or "llc" level, and
test_verifier.py dropped every declared-xfail case from the level-3 run
outright. A program that generates IR and compiles cleanly but that the kernel
verifier rejects therefore had no way to be declared: it was silently treated
as must-pass at all three levels.
Levels now form an ordered pipeline (ir < llc < verifier) and a declared level
marks that level and every later one xfail, which is what the old
ir-implies-llc special case was expressing. Level 3 runs every test file and
reports declared failures as expected ones rather than skipping them.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
-`level = "ir"` — fails during IR generation; both IR and LLC tests are marked xfail.
73
-
-`level = "llc"` — IR generates fine but `llc` rejects it; only the LLC test is marked xfail.
72
+
-`level = "ir"` — fails during IR generation.
73
+
-`level = "llc"` — IR generates fine but `llc` rejects it.
74
+
-`level = "verifier"` — IR and `llc` both succeed, but the kernel verifier rejects the object.
75
+
76
+
A failure at one level implies failure at every later one, so the declared level marks
77
+
that level **and all later ones** xfail. An `"ir"` entry is xfail at all three levels; a
78
+
`"verifier"` entry is xfail at level 3 only and must still pass levels 1 and 2.
79
+
80
+
Every test file runs at every level, including the ones declared here — level 3 does not
81
+
skip declared failures, it reports them as expected ones.
74
82
75
83
All xfails use `strict = True`: if a test starts **passing** it shows up as **XPASS** and is treated as a test failure. This is intentional — it means the bug was fixed and the test should be promoted to `passing_tests/`.
0 commit comments