-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
Enable more tests for Emscripten targets #68082
Conversation
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
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.
Nice! Looks like there's a rustfmt thing and otherwise just one small nit, but otherwise r=me
Thanks!
@alexcrichton I took a look at the timings, and the wasm32 bot here takes about 25 minutes longer than the wasm32 bot on the latest bors jobs (2h44m intead of 2h18m). The JS bot (which is disabled) is only a couple minutes shy of the 3 hour mark. How much of a problem is this? |
Hm ok that's a little excessive in terms of time, mind keeping the wasm32 tests as-is and we can reevaluate when we get some more powerful builders? |
Actually, looking at some of the other builders, 2h44m doesn't seem so bad. Plenty of other builders are in the 2h40m or even 2h50m range. On the latest run a lot of the Windows builders have just passed the 3h mark: https://dev.azure.com/rust-lang/rust/_build/results?buildId=18111. I would be happy to disable some of the longer-running wasm tests to save some time, but I would want to specifically disable long-running tests rather than just leaving historically buggy tests disabled. If you have an idea of what a reasonable runtime goal would be, I can selectively disable tests to try to meet that goal. On a related note, is there a way to avoid rebuilding LLVM on every run of the builders? |
☔ The latest upstream changes (presumably #67000) made this pull request unmergeable. Please resolve the merge conflicts. |
Specifically, enable SIMD intrinsic tests, target-independent asm! tests, and tests that were ignored due to old fastcomp bugs that have long since become irrelevant. Also re-enables asmjs tests that pass -g by reducing the corresponding Emscripten debug level so that it does not error out with a message about source maps being unsupported. This required fixing the asmjs target's `arch` string to be `"asmjs"` rather than `"wasm32"`, and that in turn required auditing many cfg attributes and fixing them to include both asmjs and wasm32. For many tests that could not be re-enabled, also adds an explanatory comment to make future auditing easier. In particular, tests requiring threads are left to be re-enabled in future work.
This reverts commit cdb4415e5be2ec06713a7b3b58146b65675f43a1.
@alexcrichton The merge conflict was just a deleted test, so it didn't seem worth going through re-enabling and disabling the wasm/asmjs CI for the PR. This should be good to go unless you have thoughts on the run time. |
Hm I'd personally prefer at least a good headroom with our slowest tests, I'd rather not try to get up next to them in terms of execution time. 3h is already far too long and we've been looking to reduce it. I think it's probably best to leave the set of tests as-is for now and we can investigate expanding coverage in a separate PR?
Not currently, but LLVM is cached with |
☔ The latest upstream changes (presumably #68311) made this pull request unmergeable. Please resolve the merge conflicts. |
Ping from triage: |
Thanks, @JohnCSimon! The current status of this PR is that I need to disable a large number of long-running tests to get the bot time under control. If that doesn’t work, I’ll probably want to remove most of the test changes from the PR. I am not yet actively working on these changes yet. |
Ping from triage - |
Still no progress here, but I’ll put this on my list of things to do soon. |
Ping from triage |
I'll close this for now since I am not actively working on it. I'll get back to it at some point, but I don't know when. |
Specifically, enable SIMD intrinsic tests, target-independent asm!
tests, and tests that were ignored due to old fastcomp bugs that have
long since become irrelevant.
Also re-enables asmjs tests that pass -g by reducing the corresponding
Emscripten debug level so that it does not error out with a message
about source maps being unsupported. This required fixing the asmjs
target's
arch
string to be"asmjs"
rather than"wasm32"
, andthat in turn required auditing many cfg attributes and fixing them to
include both asmjs and wasm32.
For many tests that could not be re-enabled, also adds an explanatory
comment to make future auditing easier. In particular, tests requiring
threads are left to be re-enabled in future work.
r? @alexcrichton