diff options
Diffstat (limited to 'docs/TESTING.md')
-rw-r--r-- | docs/TESTING.md | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/docs/TESTING.md b/docs/TESTING.md new file mode 100644 index 0000000..6bcbb48 --- /dev/null +++ b/docs/TESTING.md @@ -0,0 +1,29 @@ +# Testing + +The `virtio-queue` crate is tested using: +- unit tests - defined in their corresponding modules, +- performance tests - defined in the [benches](../benches) directory. For now, + the benchmarks are not run as part of the CI, but they can be run locally. + +The crate provides a mocking framework for the driver side of a virtio queue, +in the [mock](../src/mock.rs) module. +This module is compiled only when using the `test-utils` feature. To run all +the unit tests (which include the documentation examples), and the performance +tests in this crate, you need to specify the `test-utils` feature, otherwise +the build fails. + +```bash +cargo test --features test-utils +cargo bench --features test-utils +cargo test --doc --features test-utils +``` + +The mocking framework and the helpers it provides can be used in other crates +as well in order to test, for example, a specific device implementation. To be +able to use these test utilities, add the following to your `Cargo.toml` in the +`[dev-dependencies]` section: + +```toml +[dev-dependencies] +virtio-queue = { version = "0.1.0", features = ["test-utils"] } +``` |