serial_test allows for the creation of serialised Rust tests using the
Multiple tests with the
serial attribute are guaranteed to be executed in serial. Ordering of the tests is not guaranteed however. Other tests with the
parallel attribute may run at the same time as each other, but not at the same time as a test with
serial. Tests with neither attribute may run at any time and no guarantees are made about their timing!
For cases like doctests and integration tests where the tests are run as separate processes, we also support
similar properties but based off file locking. Note that there are no guarantees about one test with
serial and another with
file_serial as they lock using different methods, and
parallel doesn't support
file_serial yet (patches welcomed!).
The minimum supported Rust version here is 1.68.2. Note this is minimum supported, as it may well compile with lower versions, but they're not supported at all. Upgrades to this will require at a major version bump. 1.x supports 1.51 if you need a lower version than that.
Add to your Cargo.toml
 = "*"
use serial_test::serial; in your imports section.
You can then either add
#[serial(some_text)] to tests as required.