summaryrefslogtreecommitdiff
path: root/src/tests
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/config.rs9
-rw-r--r--src/tests/mod.rs7
-rw-r--r--src/tests/run.rs15
3 files changed, 23 insertions, 8 deletions
diff --git a/src/tests/config.rs b/src/tests/config.rs
index ea3a0e8..728fdbd 100644
--- a/src/tests/config.rs
+++ b/src/tests/config.rs
@@ -1,7 +1,7 @@
// config.rs
// *************************************************************************
-// * Copyright (C) 2019 Daniel Mueller (deso@posteo.net) *
+// * Copyright (C) 2019-2020 Daniel Mueller (deso@posteo.net) *
// * *
// * This program is free software: you can redistribute it and/or modify *
// * it under the terms of the GNU General Public License as published by *
@@ -39,9 +39,10 @@ $"#,
#[test_device]
fn set_wrong_usage(model: nitrokey::Model) {
let res = Nitrocli::with_model(model).handle(&["config", "set", "--numlock", "2", "-N"]);
- assert_eq!(
- res.unwrap_str_err(),
- "--numlock and --no-numlock are mutually exclusive"
+ let err = res.unwrap_str_err();
+ assert!(
+ err.contains("The argument '--numlock <numlock>' cannot be used with '--no-numlock'"),
+ err,
);
}
diff --git a/src/tests/mod.rs b/src/tests/mod.rs
index 5ebf285..ac420f2 100644
--- a/src/tests/mod.rs
+++ b/src/tests/mod.rs
@@ -50,6 +50,13 @@ where
{
fn unwrap_str_err(self) -> String {
match self.unwrap_err() {
+ crate::Error::ClapError(err) => {
+ if err.use_stderr() {
+ err.message
+ } else {
+ String::new()
+ }
+ }
crate::Error::Error(err) => err,
err => panic!("Unexpected error variant found: {:?}", err),
}
diff --git a/src/tests/run.rs b/src/tests/run.rs
index c59c660..22e7004 100644
--- a/src/tests/run.rs
+++ b/src/tests/run.rs
@@ -1,7 +1,7 @@
// run.rs
// *************************************************************************
-// * Copyright (C) 2019 Daniel Mueller (deso@posteo.net) *
+// * Copyright (C) 2019-2020 Daniel Mueller (deso@posteo.net) *
// * *
// * This program is free software: you can redistribute it and/or modify *
// * it under the terms of the GNU General Public License as published by *
@@ -27,7 +27,8 @@ fn no_command_or_option() {
assert_eq!(out, b"");
let s = String::from_utf8_lossy(&err).into_owned();
- assert!(s.starts_with("Usage:\n"), s);
+ assert!(s.starts_with("nitrocli"), s);
+ assert!(s.contains("USAGE:\n"), s);
}
#[test]
@@ -42,8 +43,10 @@ fn help_options() {
assert_eq!(err, b"");
let s = String::from_utf8_lossy(&out).into_owned();
- let expected = format!("Usage:\n nitrocli {}", args.join(" "));
- assert!(s.starts_with(&expected), s);
+ let mut args = args.to_vec();
+ args.insert(0, "nitrocli");
+ assert!(s.starts_with(&args.join("-")), s);
+ assert!(s.contains("USAGE:\n"), s);
}
fn test(args: &[&str]) {
@@ -84,7 +87,11 @@ fn help_options() {
}
#[test]
+#[ignore]
fn version_option() {
+ // clap sends the version output directly to stdout: https://github.com/clap-rs/clap/issues/1390
+ // Therefore we ignore this test for the time being.
+
fn test(re: &regex::Regex, opt: &'static str) {
let (rc, out, err) = Nitrocli::new().run(&[opt]);