From 8f8345a6e6df8f00ff4363b9dadca9b52bb7478f Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Sun, 30 Apr 2023 20:07:07 +0300 Subject: [PATCH] Check fewer exotic path extractions on Windows --- tests/all.rs | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/tests/all.rs b/tests/all.rs index b6c4f52..722eed8 100644 --- a/tests/all.rs +++ b/tests/all.rs @@ -575,10 +575,6 @@ async fn extracting_malicious_tarball() { .await .map(|m| m.is_file()) .unwrap_or(false)); - assert!(fs::metadata(td.path().join("tmp/abs_evil2.txt")) - .await - .map(|m| m.is_file()) - .unwrap_or(false)); assert!(fs::metadata(td.path().join("tmp/abs_evil3.txt")) .await .map(|m| m.is_file()) @@ -587,14 +583,23 @@ async fn extracting_malicious_tarball() { .await .map(|m| m.is_file()) .unwrap_or(false)); - assert!(fs::metadata(td.path().join("tmp/abs_evil5.txt")) - .await - .map(|m| m.is_file()) - .unwrap_or(false)); assert!(fs::metadata(td.path().join("tmp/abs_evil6.txt")) .await .map(|m| m.is_file()) .unwrap_or(false)); + + // Paths "//tmp/abs_evil2.txt" and "//./tmp/abs_evil5.txt" are not absolute for Windows, + // hence this test part does not work as expected on this OS. + if cfg!(not(windows)) { + assert!(fs::metadata(td.path().join("tmp/abs_evil2.txt")) + .await + .map(|m| m.is_file()) + .unwrap_or(false)); + assert!(fs::metadata(td.path().join("tmp/abs_evil5.txt")) + .await + .map(|m| m.is_file()) + .unwrap_or(false)); + } } #[tokio::test]