From 756dc2ed9d16a3edbfdc4778feb11f0b0c84d897 Mon Sep 17 00:00:00 2001 From: Daniel Mueller Date: Thu, 9 Jul 2020 19:01:52 -0700 Subject: Remove UnwrapError test trait This change wraps up the removal of the UnwrapError test trait. This step prepares us for the subsequent removal of the application's global Error enum type, in favor of the usage of anyhow's Error type. --- src/tests/mod.rs | 22 ---------------------- src/tests/otp.rs | 11 +++++------ src/tests/pws.rs | 22 ++++++++++------------ 3 files changed, 15 insertions(+), 40 deletions(-) diff --git a/src/tests/mod.rs b/src/tests/mod.rs index 65223ae..878a26f 100644 --- a/src/tests/mod.rs +++ b/src/tests/mod.rs @@ -18,7 +18,6 @@ // ************************************************************************* use std::ffi; -use std::fmt; use nitrokey_test::test as test_device; @@ -35,27 +34,6 @@ mod run; mod status; mod unencrypted; -/// A trait simplifying checking for expected errors. -pub trait UnwrapError { - /// Unwrap a Error::CommandError variant. - fn unwrap_cmd_err(self) -> (Option<&'static str>, nitrokey::CommandError); -} - -impl UnwrapError for crate::Result -where - T: fmt::Debug, -{ - fn unwrap_cmd_err(self) -> (Option<&'static str>, nitrokey::CommandError) { - match self.unwrap_err() { - crate::Error::NitrokeyError(ctx, err) => match err { - nitrokey::Error::CommandError(err) => (ctx, err), - err => panic!("Unexpected error variant found: {:?}", err), - }, - err => panic!("Unexpected error variant found: {:?}", err), - } - } -} - struct Nitrocli { model: Option, admin_pin: Option, diff --git a/src/tests/otp.rs b/src/tests/otp.rs index 8802d9e..7361688 100644 --- a/src/tests/otp.rs +++ b/src/tests/otp.rs @@ -121,12 +121,11 @@ fn clear(model: nitrokey::Model) -> crate::Result<()> { let _ = ncli.handle(&["otp", "clear", "3"])?; let res = ncli.handle(&["otp", "get", "3"]); - assert_eq!( - res.unwrap_cmd_err(), - ( - Some("Could not generate OTP"), - nitrokey::CommandError::SlotNotProgrammed - ) + let err = res.unwrap_err().to_string(); + let expected = format!( + "Could not generate OTP: {}", + nitrokey::Error::CommandError(nitrokey::CommandError::SlotNotProgrammed) ); + assert_eq!(err, expected); Ok(()) } diff --git a/src/tests/pws.rs b/src/tests/pws.rs index 42cb847..7f8107e 100644 --- a/src/tests/pws.rs +++ b/src/tests/pws.rs @@ -96,13 +96,12 @@ fn set_reset_get(model: nitrokey::Model) -> crate::Result<()> { assert_eq!(out, ""); let res = ncli.handle(&["pws", "get", "2"]); - assert_eq!( - res.unwrap_cmd_err(), - ( - Some("Could not access PWS slot"), - nitrokey::CommandError::SlotNotProgrammed - ) + let err = res.unwrap_err().to_string(); + let expected = format!( + "Could not access PWS slot: {}", + nitrokey::Error::CommandError(nitrokey::CommandError::SlotNotProgrammed) ); + assert_eq!(err, expected); Ok(()) } @@ -113,12 +112,11 @@ fn clear(model: nitrokey::Model) -> crate::Result<()> { let _ = ncli.handle(&["pws", "clear", "10"])?; let res = ncli.handle(&["pws", "get", "10"]); - assert_eq!( - res.unwrap_cmd_err(), - ( - Some("Could not access PWS slot"), - nitrokey::CommandError::SlotNotProgrammed - ) + let err = res.unwrap_err().to_string(); + let expected = format!( + "Could not access PWS slot: {}", + nitrokey::Error::CommandError(nitrokey::CommandError::SlotNotProgrammed) ); + assert_eq!(err, expected); Ok(()) } -- cgit v1.2.3