-
-
Notifications
You must be signed in to change notification settings - Fork 817
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: Set the "render" kind on tests that need renderer, mark them as heavy for nextest #17574
base: master
Are you sure you want to change the base?
Conversation
bbf45b4
to
1049813
Compare
I think I'd prefer a suffix, usually things are module::path::testname, so this kinda fits |
1049813
to
ab2aa41
Compare
Hmmm okay. Prefix looks fine then |
Cool! Does this count as a green checkmark? π€ |
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.
Unfortunately this will not work properly. There is a certain contract we have to adhere to when using libtest_mimic
β if we list a test, we should also be able to find it by its name. In case of nextest
, tests which do not comply with this requirement will not raise any errors and will be skipped and marked as passed.
Compare logs from this PR and from master. The test visual/shumway_acid_tests/acid_big
took ~0.005s instead of ~1.889s.
I would personally abstain from playing with test names (it's very easy to skip some tests by accident that way), and try using test kinds for that purpose, as we already have support for them (and tests with a kind are being looked up properly).
Good catch, thanks! Can a test have any number of kinds though? |
A test may have one kind only, but we can join multiple kinds with a comma (I think, not entirely sure it'll work) and add support for multiple kinds that way ourselves. |
Now thinking about it... a test kind is just a string prefix (but inside brackets), which is ignored when looking up tests. I think we can safely put multiple strings separated by a comma there and it'll work, even if we pass no kind or an invalid kind when looking up tests. The only situation when the contents of a kind matter is when we parse them, so in |
ab2aa41
to
2b6a645
Compare
Okay, stole some bits and pieces from #15950, now |
.config/nextest.toml
Outdated
[[profile.ci.overrides]] | ||
filter = "test(avm2/pixelbender_shaderdata)" | ||
retries = 3 | ||
filter = "kind(render)" |
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 believe the nextest
's kind is something different from the libtest_mimic
's kind. See https://nexte.st/docs/filtersets/reference/#binary-kinds
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 you'd have to use a regular expression with test(...)
, e.g. test(/\[render\] .*/)
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.
Or rather: test(/^\[render\] /)
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.
How about a glob pattern? like test(#[render] *)
. Less escaping!
EDIT: Hmmm, it doesn't work...
f9ae076
to
007df30
Compare
Aaaand now it automatically does the |
Even one at a time they crash... π¨π΅π΅βπ«π«₯π« |
Maybe just set a higher number of retries for render tests for now? |
007df30
to
32239a3
Compare
Interestingly, it's again only the same two tests that crashed. So I'd allow retries only for those then - but then we're almost back to square one. |
β¦s heavy for nextest
8010d24
to
0b9f160
Compare
0b9f160
to
b87a5f0
Compare
Finally, a stack trace! https://github.com/ruffle-rs/ruffle/actions/runs/10488227410/job/29050242404?pr=17574#step:8:7584
Hmm, LLVM bug? |
Cross-referencing, about the crash: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11797 |
But it doesn't seem to work locally for me...? π΅βπ«Turns out, updating
cargo-nextest
fixed it for me...Relevant docs pages:
https://nexte.st/docs/configuration/threads-required/
https://nexte.st/docs/filtersets/reference/
This will hopefully stop random crashes of visual tests (especially on
avm2/pixelbender_shaderdata
andavm2/graphics_round_rects
) on GHA.