aboutsummaryrefslogtreecommitdiff
path: root/docs/TESTING.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/TESTING.md')
-rw-r--r--docs/TESTING.md29
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"] }
+```