From 17203a1a5d91a1749adeca0f108aad8efa979ff3 Mon Sep 17 00:00:00 2001 From: Daniel Mueller Date: Tue, 8 Jan 2019 20:55:33 -0800 Subject: Introduce UnwrapError trait to simplify error testing For testing purposes it is beneficial to be able to check for expected errors with the least amount of boiler plate code possible. This change attempts to be a first step into this direction. It introduces a test-only trait that can be used to directly unwrap a specific error from a Result. --- nitrocli/src/tests/status.rs | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) (limited to 'nitrocli/src/tests/status.rs') diff --git a/nitrocli/src/tests/status.rs b/nitrocli/src/tests/status.rs index e8a4f51..838ebc9 100644 --- a/nitrocli/src/tests/status.rs +++ b/nitrocli/src/tests/status.rs @@ -33,17 +33,8 @@ fn not_found_raw() { #[test_device] fn not_found() { - match nitrocli::handle(NO_DEV, &["status"]) { - Ok(_) => assert!(false), - Err(err) => { - // Unfortunately we can't directly compare against the error - // because not all of the variants implement PartialEq. - match err { - crate::Error::Error(x) => assert_eq!(x, "Nitrokey device not found".to_string()), - _ => assert!(false, err), - } - } - } + let res = nitrocli::handle(NO_DEV, &["status"]); + assert_eq!(res.unwrap_str_err(), "Nitrokey device not found"); } #[test_device] -- cgit v1.2.1