-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
ci: Start running wasm32 tests on Travis #46291
Conversation
This is the successor of #45905 and #46291 and will help ensure that we don't regress features in wasm over time. Notably this will ensure we don't regress rustc integration itself, the ability to create wasm executables/dylibs/etc, as well as functionality in libstd/libcore. This also relatively importantly actually puts the llvm backend to the test to ensure its correctness. In testing this turned up a bug previously known about in LLVM but one I hadn't gotten around to fixing yet. I've now backported the fix to our LLVM fork as well as the LLVM 5 branch and it's included here to help the tests pass. Note that some downsides of this include:
I think that despite these downsides though it's good to get ahead of the game and get this target testing sooner rather than later. I think these points will get better over time as more and more functionality is implemented (like debuggers or "real" imports). |
956483d
to
edb541d
Compare
src/test/run-pass \ | ||
src/test/compile-fail \ | ||
src/test/parse-fail \ | ||
src/test/run-fail \ |
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.
I think it's better to remove this line over opting-out in bootstrap/check.rs
? There needs to be a FIXME comment next to one of the workarounds anyway.
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.
Sure yeah, I preemptively added that to get a ./x.py test --target wasm32-...
working, but we can always easily add it back later.
@@ -10,6 +10,7 @@ | |||
|
|||
// Tests saturating float->int casts. See u128-as-f32.rs for the opposite direction. | |||
// compile-flags: -Z saturating-float-casts | |||
// ignore-wasm32-bare FIXME this should actually work, but doesn't? |
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.
Would be good to link #46298 here
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.
👍
edb541d
to
e6977bb
Compare
Updated! r? @kennytm |
@bors r+ p=20 (raising priority since new tests from other PRs may not pass) |
📌 Commit e6977bb has been approved by |
⌛ Testing commit e6977bb74a1a75bc2ba405c1519f6d39093ddcd8 with merge ee17cf124e93f32e8eb27bb3180dafbcba8db0c9... |
💔 Test failed - status-travis |
looks spurious?
|
No, legit.
|
nah I think that's a test I need to ignore, I'll do that in a bit |
This commit allocates a builder to running wasm32 tests on Travis. Not all test suites pass right now so this is starting out with just the run-pass and the libcore test suites. This'll hopefully give us a pretty broad set of coverage for integration in rustc itself as well as a somewhat broad coverage of the llvm backend itself through integration/unit tests.
e6977bb
to
73970bf
Compare
@bors: r=kennytm |
📌 Commit 73970bf has been approved by |
ci: Start running wasm32 tests on Travis This commit allocates a builder to running wasm32 tests on Travis. Not all test suites pass right now so this is starting out with just the run-pass and the libcore test suites. This'll hopefully give us a pretty broad set of coverage for integration in rustc itself as well as a somewhat broad coverage of the llvm backend itself through integration/unit tests.
☀️ Test successful - status-appveyor, status-travis |
Not only am I pumped that this landed, but @alexcrichton , apparently this is the 2000th PR you've closed out! 🎊 💯 ❤️ |
…=alexcrichton Rename and fix nolink-with-link-args test There are three problems with the nolink-with-link-args test: * The test fails when using MSVC. It's caused by the `linker-flavor=ld` flag which was added in rust-lang#46291. * In its comment, this test tests that "link_args are indeed passed when nolink is specified", but the `nolink` attribute has been removed [a long time ago](rust-lang#12826). * Pattern has a small typo. At first I was going to completely remove this test, but there is [a closed pull request for that](rust-lang#21090). So: * rename the file as suggested in the closed PR * adjust the comment * fix typo in the pattern * add `ignore-msvc`. r? @alexcrichton
…=alexcrichton Rename and fix nolink-with-link-args test There are three problems with the nolink-with-link-args test: * The test fails when using MSVC. It's caused by the `linker-flavor=ld` flag which was added in rust-lang#46291. * In its comment, this test tests that "link_args are indeed passed when nolink is specified", but the `nolink` attribute has been removed [a long time ago](rust-lang#12826). * Pattern has a small typo. At first I was going to completely remove this test, but there is [a closed pull request for that](rust-lang#21090). So: * rename the file as suggested in the closed PR * adjust the comment * fix typo in the pattern * add `ignore-msvc`. r? @alexcrichton
This commit allocates a builder to running wasm32 tests on Travis. Not all test
suites pass right now so this is starting out with just the run-pass and the
libcore test suites. This'll hopefully give us a pretty broad set of coverage
for integration in rustc itself as well as a somewhat broad coverage of the llvm
backend itself through integration/unit tests.