-
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
Move auxiliary directories to live with the tests #33228
Conversation
@bors: r+ 8740059ca7d46d160089b98bab6967d6460a663a |
🏂 |
⌛ Testing commit 8740059 with merge 1fa6d87... |
💔 Test failed - auto-linux-64-opt-rustbuild |
@bors r=alexcrichton |
📌 Commit c9266e3 has been approved by |
⌛ Testing commit c9266e3 with merge cc14095... |
⛄ The build was interrupted to prioritize another pull request. |
@bors r=alexcrichton |
📌 Commit 814e394 has been approved by |
(confusing why that rustdoc error occurs on travis; I didn't see it locally) |
⌛ Testing commit 814e394 with merge 615ee3e... |
💔 Test failed - auto-win-gnu-32-opt-rustbuild |
☔ The latest upstream changes (presumably #33093) made this pull request unmergeable. Please resolve the merge conflicts. |
814e394
to
0550cf4
Compare
Rebased. I'm not sure what happened with that failure though, seems odd. |
6f12e6a
to
356dc61
Compare
@bors r=acrichto |
📌 Commit 356dc61 has been approved by |
☔ The latest upstream changes (presumably #33381) made this pull request unmergeable. Please resolve the merge conflicts. |
356dc61
to
48d4f33
Compare
@bors r=acrichto |
📌 Commit 48d4f33 has been approved by |
@bors r- |
ebb18bf
to
81aa274
Compare
📌 Commit 81aa274 has been approved by |
☔ The latest upstream changes (presumably #33225) made this pull request unmergeable. Please resolve the merge conflicts. |
Also, promote the for loop iterating over revisions out into the top-level method, whereas before it was pushed down instead each test's method. Not entirely clear that this was the right call.
Instead of finding aux-build files in `auxiliary`, we now search for an `aux` directory relative to the test. So if your test is `compile-fail/foo.rs`, we would look in `compile-fail/aux`. Similarly, we ignore the `aux` directory when searching for tets.
For legacy reasons (presumably), Windows does not permit files name aux.
81aa274
to
7070124
Compare
@bors r=acrichto |
📌 Commit 7070124 has been approved by |
Move auxiliary directories to live with the tests This is a step for enabling testing of cross-crate incremental compilation. The idea is that instead of having a central auxiliary directory, when you have a `// aux-build:foo.rs` annotation in the test `run-pass/bar.rs`, it will look in (e.g.) `run-pass/aux/foo.rs`. In general, it looks for an `aux` directory in the same directory as the test. We also ignore the `aux` directories when enumerating the set of tests. As part of this PR, also refactor `runtest.rs` to use methods on a context, which means we can stop passing around context everywhere. r? @alexcrichton
track incr. comp. dependencies across crates This PR refactors the compiler's incremental compilation hashing so that it can track dependencies across crates. The main bits are: - computing a hash representing the metadata for an item we are emitting - we do this by making `MetaData(X)` be the current task while computing metadata for an item - this naturally registers reads from any tables and things that we read for that purpose - we can then hash all the inputs to those tables - tracking when we access metadata - we do this by registering a read of `MetaData(X)` for each foreign item `X` whose metadata we read - hashing metadata from foreign items - we do this by loading up metadata from a file in the incr. comp. directory - if there is no file, we use the SVH for the entire crate There is one very simple test only at this point. The next PR will be focused on expanding out the tests. Note that this is based on top of #33228 r? @michaelwoerister
track incr. comp. dependencies across crates This PR refactors the compiler's incremental compilation hashing so that it can track dependencies across crates. The main bits are: - computing a hash representing the metadata for an item we are emitting - we do this by making `MetaData(X)` be the current task while computing metadata for an item - this naturally registers reads from any tables and things that we read for that purpose - we can then hash all the inputs to those tables - tracking when we access metadata - we do this by registering a read of `MetaData(X)` for each foreign item `X` whose metadata we read - hashing metadata from foreign items - we do this by loading up metadata from a file in the incr. comp. directory - if there is no file, we use the SVH for the entire crate There is one very simple test only at this point. The next PR will be focused on expanding out the tests. Note that this is based on top of rust-lang/rust#33228 r? @michaelwoerister
This is a step for enabling testing of cross-crate incremental compilation. The idea is that instead of having a central auxiliary directory, when you have a
// aux-build:foo.rs
annotation in the testrun-pass/bar.rs
, it will look in (e.g.)run-pass/aux/foo.rs
. In general, it looks for anaux
directory in the same directory as the test. We also ignore theaux
directories when enumerating the set of tests.As part of this PR, also refactor
runtest.rs
to use methods on a context, which means we can stop passing around context everywhere.r? @alexcrichton