summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobin Krahl <robin.krahl@ireas.org>2019-01-17 14:21:44 +0000
committerRobin Krahl <robin.krahl@ireas.org>2019-01-20 22:15:29 +0100
commitd87859975dc158919ecd5bf11a1111a2da5fcb30 (patch)
tree27eb8ac46b130e08d917a7b91da8b48a14b644b6 /src
parent17f9c30a0ace070cba856e4e89fcccedcab5e8e6 (diff)
downloadnitrokey-rs-d87859975dc158919ecd5bf11a1111a2da5fcb30.tar.gz
nitrokey-rs-d87859975dc158919ecd5bf11a1111a2da5fcb30.tar.bz2
Check specific error codes in the tests
If possible, check specific error codes instead of `is_err()`. This makes the code more readable and catches bugs resulting in the wrong error code. Also, using the assert_*_err and assert_ok macros yields error messages containing the expected and the actual value. To be able to use these macros with the `get_password_safe` method, we also have to implement `Debug` for `PasswordSafe` and `Device`.
Diffstat (limited to 'src')
-rw-r--r--src/device.rs2
-rw-r--r--src/pws.rs1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/device.rs b/src/device.rs
index 1cf9da9..16064c3 100644
--- a/src/device.rs
+++ b/src/device.rs
@@ -286,7 +286,7 @@ pub struct StorageStatus {
///
/// This trait provides the commands that can be executed without authentication and that are
/// present on all supported Nitrokey devices.
-pub trait Device: Authenticate + GetPasswordSafe + GenerateOtp {
+pub trait Device: Authenticate + GetPasswordSafe + GenerateOtp + fmt::Debug {
/// Returns the model of the connected Nitrokey device.
///
/// # Example
diff --git a/src/pws.rs b/src/pws.rs
index 47965d7..a21527c 100644
--- a/src/pws.rs
+++ b/src/pws.rs
@@ -52,6 +52,7 @@ pub const SLOT_COUNT: u8 = 16;
/// [`get_password_safe`]: trait.GetPasswordSafe.html#method.get_password_safe
/// [`lock`]: trait.Device.html#method.lock
/// [`GetPasswordSafe`]: trait.GetPasswordSafe.html
+#[derive(Debug)]
pub struct PasswordSafe<'a> {
_device: &'a dyn Device,
}