-
Notifications
You must be signed in to change notification settings - Fork 13k
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
test: Move run-make tests into compiletest #33093
Conversation
r? @aturon (rust_highfive has picked a reviewer for you, use r? to override) |
@bors r+ |
📌 Commit 9b9c498 has been approved by |
⌛ Testing commit 9b9c498 with merge 8e6113a... |
💔 Test failed - auto-win-msvc-64-opt-mir |
@bors: retry On Fri, Apr 22, 2016 at 8:27 AM, bors [email protected] wrote:
|
☔ The latest upstream changes (presumably #33020) made this pull request unmergeable. Please resolve the merge conflicts. |
🔒 Merge conflict |
9b9c498
to
3bc36dc
Compare
@bors: r=nikomatsakis 3bc36dc |
⌛ Testing commit 3bc36dc with merge f791063... |
💔 Test failed - auto-linux-64-cross-netbsd |
3bc36dc
to
3462117
Compare
@bors: r=nikomatsakis 3462117 |
⌛ Testing commit 3462117 with merge 22463a8... |
💔 Test failed - auto-linux-64-x-android-t |
3462117
to
3ca5b15
Compare
@bors: r=nikomatsakis 3ca5b15 |
⌛ Testing commit 3ca5b15 with merge b11a7c8... |
💔 Test failed - auto-win-msvc-64-opt-rustbuild |
93a4d10
to
9e1bf9f
Compare
@bors: r=nikomatsakis 9e1bf9f |
⌛ Testing commit 9e1bf9f with merge bf67681... |
💔 Test failed - auto-linux-32-nopt-t |
9e1bf9f
to
4bbf7cb
Compare
@bors: r=nikomatsakis 4bbf7cb |
⌛ Testing commit 4bbf7cb with merge 2f8c3f6... |
💔 Test failed - auto-win-msvc-64-opt |
4bbf7cb
to
00865fc
Compare
Forcing them to be embedded in makefiles precludes being able to run them in rustbuild, and adding them to compiletest gives us a great way to leverage future enhancements to our "all encompassing test suite runner" as well as just moving more things into Rust. All tests are still Makefile-based in the sense that they rely on `make` being available to run them, but there's no longer any Makefile-trickery to run them and rustbuild can now run them out of the box as well.
00865fc
to
126e09e
Compare
test: Move run-make tests into compiletest Forcing them to be embedded in makefiles precludes being able to run them in rustbuild, and adding them to compiletest gives us a great way to leverage future enhancements to our "all encompassing test suite runner" as well as just moving more things into Rust. All tests are still Makefile-based in the sense that they rely on `make` being available to run them, but there's no longer any Makefile-trickery to run them and rustbuild can now run them out of the box as well.
@alexcrichton why did you surround From what I can tell, this breaks my use of Is this to accommodate Windows or something? Ah, the above is just noting the same thing as #33285 |
Yes the single quotes were to accomodate windows where cl.exe has lots of spaces in the path, currently. |
Looks like the real bug on nightlies is that the `llvm-pass` run-make test is not actually getting the value of `LLVM_CXXFLAGS` correct. Namely, it's blank! Now the only change rust-lang#33093 which actually affected this is that the argument `$(LLVM_CXXFLAGS_$(2))` was moved up from a makefile rule into the definition of a variable. Sounds innocuous? Turns out the variable this was moved into is defined with `:=`, which means that it's not recursively expanded, which basically means that it's expanded immediately. Unfortunately part of this expansion involves running `llvm-config`, which doesn't exist at the start of distcheck build! This didn't show up on the bots because they run `make` *then* `make check`, and the first step builds llvm-config so the next time `make` is loaded everything is available. The distcheck bots, however, run just a plain `distcheck` so `make` doesn't exist ahead of time. You can see this in action where the distcheck bots start out with a bunch of "llvm-config not found" error messages. This commit just changes a few variables to be defined with `=` which essentially means they're lazily expanded. I did not run a full distcheck locally, but this makes the initial "llvm-config not found" error messages go away so I suspect that this is the fix. Closes rust-lang#33379
mk: Try to fix nightlies again Looks like the real bug on nightlies is that the `llvm-pass` run-make test is not actually getting the value of `LLVM_CXXFLAGS` correct. Namely, it's blank! Now the only change #33093 which actually affected this is that the argument `$(LLVM_CXXFLAGS_$(2))` was moved up from a makefile rule into the definition of a variable. Sounds innocuous? Turns out the variable this was moved into is defined with `:=`, which means that it's not recursively expanded, which basically means that it's expanded immediately. Unfortunately part of this expansion involves running `llvm-config`, which doesn't exist at the start of distcheck build! This didn't show up on the bots because they run `make` *then* `make check`, and the first step builds llvm-config so the next time `make` is loaded everything is available. The distcheck bots, however, run just a plain `distcheck` so `make` doesn't exist ahead of time. You can see this in action where the distcheck bots start out with a bunch of "llvm-config not found" error messages. This commit just changes a few variables to be defined with `=` which essentially means they're lazily expanded. I did not run a full distcheck locally, but this makes the initial "llvm-config not found" error messages go away so I suspect that this is the fix. Closes #33379 (hopefully)
Forcing them to be embedded in makefiles precludes being able to run them in
rustbuild, and adding them to compiletest gives us a great way to leverage
future enhancements to our "all encompassing test suite runner" as well as just
moving more things into Rust.
All tests are still Makefile-based in the sense that they rely on
make
beingavailable to run them, but there's no longer any Makefile-trickery to run them
and rustbuild can now run them out of the box as well.