You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now the only communication channel we have between the testrunner and Rust tests, during execution, is the process exit code. We'd like to have a richer protocol but the Rust test harness is kind of limited so we need to be careful about it. Some ideas for things to communicate:
test flakiness
test retries
test timeouts
Some ideas for the protocol itself:
Use lines to stdout (or stderr) that begin with nextest: (similar to cargo: lines in build scripts)
Pass in a random string through the environment and ensure that lines begin with that to avoid confusing random test output with nextest control lines.
Publish a crate which can be used to output these lines, either as function calls or as a proc macro.
The text was updated successfully, but these errors were encountered:
Another solution pointed out by @yaahc: publish a Unix domain socket through an env var and use that to send control messages. That would work quite well and be a cleaner solution/less icky. Potential issue is that this will probably need to select on reading from the socket and stdout. Solutions would be:
do the control channel and process monitoring on separate threads and send messages back and forth
Right now the only communication channel we have between the testrunner and Rust tests, during execution, is the process exit code. We'd like to have a richer protocol but the Rust test harness is kind of limited so we need to be careful about it. Some ideas for things to communicate:
Some ideas for the protocol itself:
nextest:
(similar tocargo:
lines in build scripts)The text was updated successfully, but these errors were encountered: