Skip to content

Commit 8e9106d

Browse files
authored
Add closure-based guard helpers and must_use to test utils. (#2518)
1 parent 221891f commit 8e9106d

3 files changed

Lines changed: 235 additions & 200 deletions

File tree

cmd/soroban-cli/src/commands/cache/actionlog/read.rs

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -49,49 +49,51 @@ impl Cmd {
4949
#[cfg(test)]
5050
mod tests {
5151
use super::*;
52-
use crate::test_utils::EnvGuard;
52+
use crate::test_utils::with_env_set;
5353
use serial_test::serial;
5454

5555
#[test]
5656
#[serial]
5757
fn path_traversal_via_dotdot_is_rejected() {
5858
let tmp = tempfile::tempdir().unwrap();
59-
let _guard = EnvGuard::set("STELLAR_DATA_HOME", tmp.path());
6059

61-
let outside = tmp.path().join("outside.json");
62-
std::fs::write(&outside, r#"{"leaked":true}"#).unwrap();
60+
with_env_set("STELLAR_DATA_HOME", tmp.path(), || {
61+
let outside = tmp.path().join("outside.json");
62+
std::fs::write(&outside, r#"{"leaked":true}"#).unwrap();
6363

64-
let cmd = Cmd {
65-
id: "../outside".to_string(),
66-
};
64+
let cmd = Cmd {
65+
id: "../outside".to_string(),
66+
};
6767

68-
let err = cmd.run().expect_err("expected error for path-traversal ID");
69-
assert!(
70-
matches!(err, Error::InvalidId(_)),
71-
"expected InvalidId, got {err:?}"
72-
);
68+
let err = cmd.run().expect_err("expected error for path-traversal ID");
69+
assert!(
70+
matches!(err, Error::InvalidId(_)),
71+
"expected InvalidId, got {err:?}"
72+
);
73+
});
7374
}
7475

7576
#[test]
7677
#[serial]
7778
fn absolute_path_id_is_rejected() {
7879
let tmp = tempfile::tempdir().unwrap();
79-
let _guard = EnvGuard::set("STELLAR_DATA_HOME", tmp.path());
8080

81-
let outside = tmp.path().join("outside.json");
82-
std::fs::write(&outside, r#"{"leaked":true}"#).unwrap();
81+
with_env_set("STELLAR_DATA_HOME", tmp.path(), || {
82+
let outside = tmp.path().join("outside.json");
83+
std::fs::write(&outside, r#"{"leaked":true}"#).unwrap();
8384

84-
let abs_id = outside
85-
.to_str()
86-
.unwrap()
87-
.trim_end_matches(".json")
88-
.to_string();
89-
let cmd = Cmd { id: abs_id };
85+
let abs_id = outside
86+
.to_str()
87+
.unwrap()
88+
.trim_end_matches(".json")
89+
.to_string();
90+
let cmd = Cmd { id: abs_id };
9091

91-
let err = cmd.run().expect_err("expected error for absolute-path ID");
92-
assert!(
93-
matches!(err, Error::InvalidId(_)),
94-
"expected InvalidId, got {err:?}"
95-
);
92+
let err = cmd.run().expect_err("expected error for absolute-path ID");
93+
assert!(
94+
matches!(err, Error::InvalidId(_)),
95+
"expected InvalidId, got {err:?}"
96+
);
97+
});
9698
}
9799
}

0 commit comments

Comments
 (0)