From 5b70940596aa6767c6dec3a4cc99b132376941af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Miguel?= Date: Tue, 6 Apr 2021 04:44:08 -0300 Subject: [PATCH] Fix `cargo test` --- .gitignore | 2 ++ src/test.rs | 13 ++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 767dae2..2c748b5 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,8 @@ # will have compiled files and executables target/ +makeshift_testing.py + # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html Cargo.lock diff --git a/src/test.rs b/src/test.rs index 802307d..d4115e7 100644 --- a/src/test.rs +++ b/src/test.rs @@ -86,23 +86,30 @@ mod argparsing { } #[test] - fn test_arg_parsing_decompress_subcommand() { + fn test_arg_parsing_decompress_subcommand() -> crate::Result<()> { + let files = vec!["a", "b", "c"]; + make_dummy_files(&*files)?; let files: Vec<_> = ["a", "b", "c"].iter().map(PathBuf::from).collect(); let expected = Command::Decompress { - files: files.clone(), + files: files.iter().filter_map(|p| fs::canonicalize(p).ok()).collect(), output_folder: None, }; assert_eq!(expected, parse!("a b c").command); let expected = Command::Decompress { - files, + files: files.iter().map(fs::canonicalize).map(Result::unwrap).collect(), output_folder: Some("folder".into()), }; assert_eq!(expected, parse!("a b c --output folder").command); assert_eq!(expected, parse!("a b --output folder c").command); assert_eq!(expected, parse!("a --output folder b c").command); assert_eq!(expected, parse!("--output folder a b c").command); + + fs::remove_file("a")?; + fs::remove_file("b")?; + fs::remove_file("c")?; + Ok(()) } }