Closed Joining7943 closed 1 year ago
I looked into this before and sometimes use it locally. I think the main performance improvement is better parallelism of tests. So, does it still have a performance improvement when parallelism is limited (like in the CI)? Another thing to try is whether the output and logs readable in GH actions.
So, does it still have a performance improvement when parallelism is limited (like in the CI)?
I think, that's something we just would have to try. From the docs, I also would guess that most of the performance improvement comes from parallelism. But even if it's not that significant than on my home pc, 10s per full test run makes like 100s in total per ci run and with 1000s of ci runs, it's maybe still worth it in the end. However, I found the other features like showing each test execution time, having retries, tests configuration possibilites etc. more interesting. What's your impression here?
Another thing to try is whether the output and logs readable in GH actions.
What would cause a problem?
What would cause a problem?
If I recall correctly, it shows the progress of multiple tests at the same time and overwrites lines in the output. I'm not sure how well the CI supports that.
Ok. They must have changed that. The output is changing fast but as far as I can tell it's one line after another. Per default, there's a sticky bottom line showing the current progress, which would cause problems in the ci. But, it can be switched off. A progress bar in the ci doesn't make to much sense anyways.
Alright, should be good then! I might have misremembered.
No problem :) I'll give it a try then...
nextest is an alternative to the standard
cargo test
test runner. Some advantages over the standard test runner which I found could be of interest for us:cargo test --features unix
on my linux pc was1m 35s
. The total execution time ofcargo nextest run --features unix --no-fail-fast
was1m
.nextest
contains the execution time of each test. This would help to identify bottlenecks and figuring out the correct timeout forUCommand
.It's not critical but I also found the output of
nextest
a little bit clearer than that ofcargo test
.Here's also the link to the official docs.
A limitation of
nextest
is, that it's not usable on all cross build targets. But, as far as I could see there's a pre-built binary for all systems we currently run tests on.