-
Notifications
You must be signed in to change notification settings - Fork 13.4k
ci: Start running wasm32 tests on Travis #46291
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
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.