WIP: Allow control of tests run in VMs on the host #5339
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a reworking of
falcon_runner.rs
that splits the work between aFalconTest
harness that allows direct manipulation of the runner so that the full falcon API is available, while also wrapping the bash nonsense to run a test and get the result back.The harness is minimal at this point, and purposefully so, to allow for complete flexibility. This allows the user to launch multiple VMs, run arbitrary tests, mount arbitrary data directories into VMs, etc... We can provide more batteries included, perhaps with escape hatches, and we can also simplify further with attribute macros for the batteries included parts.
The example test can be run in the following manner, notably without a nextest target runner.
pfexec
may cause problems with permissions when forced to rebuild however.Notice that we run the "host" test from nextest here, and that test spins up a VM and runs a test (
launch
) inside it.