summaryrefslogtreecommitdiffstats
path: root/vendor/xshell/tests
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/xshell/tests')
-rw-r--r--vendor/xshell/tests/it/main.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/vendor/xshell/tests/it/main.rs b/vendor/xshell/tests/it/main.rs
index 6ac8fe074..5dc5a851a 100644
--- a/vendor/xshell/tests/it/main.rs
+++ b/vendor/xshell/tests/it/main.rs
@@ -460,3 +460,21 @@ fn string_escapes() {
assert_eq!(cmd!(sh, "\"\"\"asdf\"\"\"").to_string(), r##""""asdf""""##);
assert_eq!(cmd!(sh, "\\\\").to_string(), r#"\\"#);
}
+
+#[test]
+fn nonexistent_current_directory() {
+ let sh = setup();
+ sh.change_dir("nonexistent");
+ let err = cmd!(sh, "ls").run().unwrap_err();
+ let message = err.to_string();
+ if cfg!(unix) {
+ assert!(message.contains("nonexistent"), "{message}");
+ assert!(message.starts_with("failed to get current directory"));
+ assert!(message.ends_with("No such file or directory (os error 2)"));
+ } else {
+ assert_eq!(
+ message,
+ "io error when running command `ls`: The directory name is invalid. (os error 267)"
+ );
+ }
+}