summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md32
1 files changed, 24 insertions, 8 deletions
diff --git a/README.md b/README.md
index 1be2aee..db67122 100644
--- a/README.md
+++ b/README.md
@@ -31,16 +31,32 @@ supported by `nitrokey-rs`:
## Tests
-The default test suite assumes that no Nitrokey device is connected and only
-performs minor sanity checks. There is another test suite that assumes that a
-Nitrokey Pro is connected (admin password `12345678`, user password `123456`).
-To execute this test suite, run `cargo test --no-default-features --features
-test-pro -- --test-threads 1`. Note that this test suite might lock your stick
-if you have different passwords!
+This crate has three test suites that can be selected using features. One test
+suite (feature `test-no-device`) assumes that no Nitrokey device is connected.
+The two other test suites require a Nitrokey Pro (feature `test-pro`) or a
+Nitrokey Storage (feature `test-storage`) to be connected.
+
+Use the `--features` option for Cargo to select one of the test suites. You
+cannot select more than one of the test suites at the same time. Note that the
+test suites that require a Nitrokey device assume that the device’s passwords
+are the factory defaults (admin password `12345678` and user password
+`123456`). Running the test suite with a device with different passwords might
+lock your device! Also note that the test suite might delete or overwrite data
+on all connected devices.
+
+As the tests currently are not synchronized, you have to make sure that they
+are not executed in parallel. To do so, pass the option `--test-threads 1` to
+the test executable.
+
+In conclusion, you can use these commands to run the test suites:
+
+```
+$ cargo test --features test-no-device -- --test-threads 1
+$ cargo test --features test-pro -- --test-threads 1
+$ cargo test --features test-storage -- --test-threads 1
+```
The `totp_no_pin` and `totp_pin` tests can occasionally fail due to bad timing.
-Also make sure to run the tests sequentially (`--test-threads 1`), otherwise
-they might interfere.
## Contact