-
Notifications
You must be signed in to change notification settings - Fork 13.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Perform deeper compiletest path normalization for $TEST_BUILD_DIR
to account for compare-mode/debugger cases, and normalize long type file filename hashes
#136865
base: master
Are you sure you want to change the base?
Conversation
//~ ERROR overflow evaluating the requirement `Map<&mut std::ops::Range<u8>, {closure@$DIR/issue-83150.rs:13:24: 13:27}>: Iterator` | ||
//~ ERROR overflow evaluating the requirement `Map<&mut std::ops::Range<u8>, {closure@$DIR/issue-83150.rs:12:24: 12:27}>: Iterator` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Closure LINE:COL numbers aren't normalized, not for this PR
= note: candidate #1: $TEST_BUILD_DIR/crate-loading/crateresolve1/auxiliary/libcrateresolve1-1.somelib | ||
= note: candidate #2: $TEST_BUILD_DIR/crate-loading/crateresolve1/auxiliary/libcrateresolve1-2.somelib | ||
= note: candidate #3: $TEST_BUILD_DIR/crate-loading/crateresolve1/auxiliary/libcrateresolve1-3.somelib | ||
= note: candidate #1: $TEST_BUILD_DIR/auxiliary/libcrateresolve1-1.somelib | ||
= note: candidate #2: $TEST_BUILD_DIR/auxiliary/libcrateresolve1-2.somelib | ||
= note: candidate #3: $TEST_BUILD_DIR/auxiliary/libcrateresolve1-3.somelib |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We're now normalizing deeper, so this is to be expected, otherwise you'd have crateresolve1.polonius
for instance
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah that seems fine to me as well, it should be quite rare that we’re testing and looking for an actual path in diagnostics rather than the semantic contents of the output.
This comment has been minimized.
This comment has been minimized.
Of course, the |
☔ The latest upstream changes (presumably #137001) made this pull request unmergeable. Please resolve the merge conflicts. |
Instead of only having `--src-base` and `src_base` which *actually* refers to the directory containing the test suite and not the sources root. More importantly, kill off `find_rust_src_root` when we can simply pass that info from bootstrap.
…ic build dir - Introduce and use `--build-{root,test-suite-root}` over `--build-base`. - A few minor cleanups.
…test-suite-root` instead
This is to make test stderr insensitive to compare-mode / debugger that changes the test build dir output name. Previously, this normalized paths up to test-suite-specific build root, e.g. `/path/to/build/test/ui/`. Now, this normalizes up to test-specific build root, e.g. `/path/to/build/test/ui/subdir/$name.$revision.$mode.$debugger/`.
3eedbe2
to
1ed7430
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This merge-conflicted against master, not sure what changed here 🤔 Maybe just line number differences?
Caution
This PR is stacked on top of #136474 and #136542, and may not be merged before they do, and would require a rebase.
Fixes #136510.
Summary
$TEST_BUILD_DIR
is a normalization of/path/to/build/test/<test_suite_name>/
, we now more deeply normalize.$TEST_BUILD_DIR
now becomes a normalization of/path/to/build/test/<test_suite_name>/<subdirs>/$name.$revision.$compare_mode.$debugger/
to normalize away path name differences when--compare-mode
and/or--debugger
are specified.cf. #136328 (comment).
Review advice
$TEST_BUILD_DIR
more deeply normalize.$TEST_BUILD_DIR
normalizations.Commit 2 is created via first finding tests that try to perform long type file hash normalizations on an ad hoc, per-test basis:
Tests with ad hoc long-type hash normalizations
These ad hoc normalizations were removed, and they are reblessed.
r? @lqd