#nextest — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #nextest, aggregated by home.social.
-
if you use #nextest, I'd really love it if you tried out cargo-nextest 0.9.95-rc.2 -- there are some changes to the way test failures are output that I'd love feedback on:
cargo nextest self update --force --version 0.9.95-rc.2
Thanks!
-
#nextest 0.9.91 now lets you set test priorities: reorder tests so that they run before or after all others.
To update, run `cargo nextest self update`, or wait for your package manager to update it!
-
Did you know that #nextest has an expression language to select subsets of tests? https://nexte.st/book/filter-expressions.html
One of the more interesting predicates is `rdeps`, which stands for reverse dependencies of a crate. (The name is inspired by Bazel and Buck.) Why might that be useful? For example, consider nextest's support for setup scripts: https://nexte.st/book/setup-scripts.html
It's common to say "set up a db for tests that depend on any crate that could use the db handling code", and that's exactly what rdeps does.
-
Just released a new version of cargo-nextest, with a new headline feature: the ability to say what version of #nextest your project or tool needs, or recommends.
(Won't work with older versions, but will work going forward!)
Part of this is also to inspire other tools to put in similar features!
-
Looks like Chromium's crosvm (https://chromium.googlesource.com/chromiumos/platform/crosvm) just added support for running tests via #nextest! Using nextest's build reuse functionality, they were able to achieve 6-7x faster test runs.
https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4144641?tab=comments
-
In the post I show how async #RustLang solves practical select problems in #Nextest, and does so in a deeply principled, composable manner. I'm really proud of it because I've taken a view that has been talked about in 1:1 messages and discussions in the past, but hasn't really been written down like this before to the best of my knowledge.
-
Reupping a post I wrote a few months ago: How and why #Nextest uses #RustLang #Tokio.
This post delves right into the heart of why async Rust exists: to perform *heterogenous selects*. Previous explanations have always been a bit unsatisfying for me. It's more efficient than OS threads, but is that really it? In reality, async Rust satisfies a fundamental need that no other paradigm does, which is to use tokio::select! across arbitrary async sources and platforms.
-
Would you find setup and teardown scripts useful for #rustlang #nextest test runs? Please upvote and comment in this issue with your use cases! Contributions and design suggestions would be welcome as well, especially if you've had practical experience with setup and teardown scripts for (e.g.) integration tests.
Please boost for reach!
-
One of the ways I disagree with many of my esteemed fellow Rust people is that I think #async #RustLang is great. Switching #nextest over to #asynchronous Rust has yielded incredible dividends, including but not limited to what I described in https://sunshowers.io/posts/nextest-and-tokio/.
The ability to write cross-platform heterogenous selects provides an extraordinary amount of power.
BTW, now that I'm at @oxidecomputer, I've been trying out nextest on #illumos and it works with zero (0) code changes!
-
Hi friends, if you're managing an #OpenSource or #FOSS project please tag every release you make. It's really helpful for inspecting source code and finding regressions.
#Nextest has its automated release flow be triggered by tag pushes, which means that creating and pushing tags (managed by cargo-release) is an essential part of the process. Feel free to adapt nextest's release flow to your liking!
https://github.com/nextest-rs/nextest/blob/main/.github/workflows/release.yml
https://github.com/nextest-rs/nextest/blob/main/internal-docs/releasing.md
-
If you're using #nextest in a corporate or controlled open-source CI environment, you could try a staged rollout. Roll this out to a percentage of users or CI jobs, then see if anything breaks. Thanks!
-
cargo-nextest 0.9.44 is out! A call for testing:
This version of my next-gen #RustLang #TestRunner supports pausing and resuming test runs on Unix (#NextestCtrlZ).
To make this work reliably, #nextest needs to use a "double-spawn" approach. This is currently off by default but can be turned on with an env var, `NEXTEST_EXPERIMENTAL_DOUBLE_SPAWN=1`.
Call for testing: If you're on Unix, please help test this! Update to 0.9.44, then set this environment variable. Thanks!
-
Part 4 of my #rustlang #nextest #unix #NextestCtrlZ post is out! This one covers some really fun issues with hung processes that I ran into.
The post also introduces strace as a debugging tool on Linux.
https://cohost.org/sunshowers/post/390013-nextest-and-ctrl-z
-
Next post in the #rustlang #unix #nextest #NextestCtrlZ series coming tomorrow on https://cohost.org/sunshowers! Some quotes from the current draft:
"And strace just hangs as well.
*Oh no. It's spreading.*"
"So that would explain why SIGTSTP didn't work: it's a signal, which is an *interrupt*.
An immovable object meets an unstoppable force. Except the object won, and the force was stoppable after all."
-
Over at Cohost, I've been making a series of posts about making nextest handle ctrl-z. Today's post is about *process groups*: why they exist and how nextest interacts with them.
https://cohost.org/sunshowers/post/303392-nextest-and-ctrl-z
You can find the full series of posts under Cohost's #nextest-ctrl-z tag.