compiletest: Deficiencies and pitfalls of //@ normalize-*
headers
#126372
Labels
A-compiletest
Area: the compiletest test runner
A-testsuite
Area: The testsuite used to check the correctness of rustc
C-cleanup
Category: PRs that clean code up or issues documenting cleanup.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
These headers allow individual tests to define custom output-normalization rules, so that output snapshots are less sensitive to things like platform differences, line numbers, and timestamps.
Unfortunately, they have a few limitations and pitfalls:
//@ normalize-*
headers #126370:
after the header name, so the test suite contains an inconsistent mix of with-colon and without-colon rules.//@ normalize-*:
test headers #126777"
characters, which is very awkward for some kinds of output (e.g. JSON).parse_cfg_name_directive
to help read the header name, which is sometimes useful (e.g. for defining separate rules for 32-bit and 64-bit), but most of the time it means that tests have to awkwardly writenormalize-stderr-test
instead of the more intuitivenormalize-stderr
.ui
-mode tests, and are silently ignored if they appear in other kinds of test.@rustbot label +A-compiletest
The text was updated successfully, but these errors were encountered: