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
There was a problem hiding this comment.
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.
Sure yeah, I preemptively added that to get a ./x.py test --target wasm32-... working, but we can always easily add it back later.
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.