-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
Compile run-make-support and run-make tests with the bootstrap compiler #137373
base: master
Are you sure you want to change the base?
Conversation
The run-make-support library was changed cc @jieyouxu The rustc-dev-guide subtree was changed. If this PR only touches the dev guide consider submitting a PR directly to rust-lang/rustc-dev-guide otherwise thank you for updating the dev guide with your changes. cc @BoxyUwU, @jieyouxu, @Kobzol This PR modifies cc @jieyouxu This PR modifies If appropriate, please update Some changes occurred in src/tools/compiletest cc @jieyouxu |
This comment has been minimized.
This comment has been minimized.
f77af42
to
3f27d09
Compare
This comment has been minimized.
This comment has been minimized.
Oh wow, the run-make tests actually succeeded even with the environment variables cleaned. Wonderful! Now the hard mode - Apple and Windows. @bors try |
Compile run-make-support and run-make tests with the bootstrap compiler It does not seem necessary to have to recompile run-make-support on changes to the local compiler/stdlib. This PR simplifies the implementation of a few tools, then switches rms to stage0 and also makes the handling of environment variables in run-make tests simpler. Best reviewed commit-by-commit. I can split it into multiple PRs if you want. Based on: rust-lang#137215 r? `@jieyouxu` try-job: x86_64-apple-1 try-job: x86_64-apple-2 try-job: aarch64-apple try-job: x86_64-msvc-1 try-job: x86_64-msvc-2 try-job: x86_64-mingw-1 try-job: x86_64-mingw-2
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
3f27d09
to
41235fd
Compare
@bors try |
Compile run-make-support and run-make tests with the bootstrap compiler It does not seem necessary to have to recompile run-make-support on changes to the local compiler/stdlib. This PR simplifies the implementation of a few tools, then switches rms to stage0 and also makes the handling of environment variables in run-make tests simpler. Best reviewed commit-by-commit. I can split it into multiple PRs if you want. Based on: rust-lang#137215 r? `@jieyouxu` try-job: x86_64-apple-1 try-job: x86_64-apple-2 try-job: aarch64-apple try-job: x86_64-msvc-1 try-job: x86_64-msvc-2 try-job: x86_64-mingw-1 try-job: x86_64-mingw-2
☀️ Try build successful - checks-actions |
Incredible. |
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 generally looks good to me, thanks for fixing this! Please ping me after a rebase since the stage management PR merged.
@rustbot author |
I was this close to marking this PR as rollup=never, but balked when I saw the size of the queue. Well, that's what I get for being lazy. I'll take a look. |
@bors rollup=never |
Compile run-make-support and run-make tests with the bootstrap compiler It does not seem necessary to have to recompile run-make-support on changes to the local compiler/stdlib. This PR simplifies the implementation of a few tools, then switches rms to stage0 and also makes the handling of environment variables in run-make tests simpler. Best reviewed commit-by-commit. I can split it into multiple PRs if you want. Also tested that `COMPILETEST_FORCE_STAGE0=1 ./x test tests/run-make --stage 0` still works. Incredibly, it looks like it even passes more tests than on `master` 😆 r? `@jieyouxu` try-job: x86_64-apple-1 try-job: x86_64-apple-2 try-job: aarch64-apple try-job: x86_64-msvc-1 try-job: x86_64-msvc-2 try-job: x86_64-mingw-1 try-job: x86_64-mingw-2 try-job: test-various
Yes it should because it runs the binary... But how did it ever pass 🤔 |
That is quite surprising, yeah. I wonder if cross-compilation was somehow broken before, or it is broken now. I'll try to investigate. |
It looks like this PR has exposed that most run-make tests don't actually do anything with cross-compilation and just happily compile for the host architecture xD To be fair, this was probably the case even with the original Makefile tests, and might have just been the intended thing? Not sure. |
Yeah I think this is how the original |
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.
Anyway, linker-guard changes LGTM. r=me if the try-job comes back green.
I'm kind of surprised that more tests didn't fail though. Probably it's because tests that execute code are usually marked with But this also means that running many tests in cross-compilation is kind of a waste of time, because we just run the same code as for the host (unless the test uses |
I think this is one of the changes that I wanted to make actually. |
☀️ Try build successful - checks-actions |
@bors r+ rollup=never |
Compile run-make-support and run-make tests with the bootstrap compiler It does not seem necessary to have to recompile run-make-support on changes to the local compiler/stdlib. This PR simplifies the implementation of a few tools, then switches rms to stage0 and also makes the handling of environment variables in run-make tests simpler. Best reviewed commit-by-commit. I can split it into multiple PRs if you want. Also tested that `COMPILETEST_FORCE_STAGE0=1 ./x test tests/run-make --stage 0` still works. Incredibly, it looks like it even passes more tests than on `master` 😆 r? `@jieyouxu` try-job: x86_64-apple-1 try-job: x86_64-apple-2 try-job: aarch64-apple try-job: x86_64-msvc-1 try-job: x86_64-msvc-2 try-job: x86_64-mingw-1 try-job: x86_64-mingw-2 try-job: test-various
The job Click to see the possible cause of the failure (guessed by this bot)
|
💔 Test failed - checks-actions |
I was kind of suspecting stage0 tests to be problematic, sigh. I will take a look tomorrow. |
It does not seem necessary to have to recompile run-make-support on changes to the local compiler/stdlib. This PR simplifies the implementation of a few tools, then switches rms to stage0 and also makes the handling of environment variables in run-make tests simpler.
Best reviewed commit-by-commit. I can split it into multiple PRs if you want.
Also tested that
COMPILETEST_FORCE_STAGE0=1 ./x test tests/run-make --stage 0
still works. Incredibly, it looks like it even passes more tests than onmaster
😆r? @jieyouxu
try-job: x86_64-apple-1
try-job: x86_64-apple-2
try-job: aarch64-apple
try-job: x86_64-msvc-1
try-job: x86_64-msvc-2
try-job: x86_64-mingw-1
try-job: x86_64-mingw-2
try-job: test-various