mirror of
https://github.com/nushell/nushell.git
synced 2024-11-29 03:44:19 +01:00
Fix ls panics when a file or directory not exists (#6148)
* Fix ls panics when a file or directory not exists Fixes #6146 Signed-off-by: nibon7 <nibon7@163.com> * add test Signed-off-by: nibon7 <nibon7@163.com>
This commit is contained in:
parent
c92211c016
commit
4c6cf36aa5
@ -147,9 +147,13 @@ impl Command for Ls {
|
|||||||
Some(glob_options)
|
Some(glob_options)
|
||||||
};
|
};
|
||||||
let (prefix, paths) =
|
let (prefix, paths) =
|
||||||
nu_engine::glob_from(&glob_path, &cwd, call_span, glob_options)
|
match nu_engine::glob_from(&glob_path, &cwd, call_span, glob_options) {
|
||||||
.expect("glob failure");
|
Ok((prefix, paths)) => (prefix, paths),
|
||||||
|
Err(e) => {
|
||||||
|
shell_errors.push(e);
|
||||||
|
return Vec::from([Value::nothing(call_span)]).into_iter();
|
||||||
|
}
|
||||||
|
};
|
||||||
let mut paths_peek = paths.peekable();
|
let mut paths_peek = paths.peekable();
|
||||||
if paths_peek.peek().is_none() {
|
if paths_peek.peek().is_none() {
|
||||||
shell_errors.push(ShellError::GenericError(
|
shell_errors.push(ShellError::GenericError(
|
||||||
|
@ -527,3 +527,11 @@ fn can_list_system_folder() {
|
|||||||
));
|
));
|
||||||
assert_eq!(ls_with_filter.err, "");
|
assert_eq!(ls_with_filter.err, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn list_a_directory_not_exists() {
|
||||||
|
Playground::setup("ls_test_directory_not_exists", |dirs, _sandbox| {
|
||||||
|
let actual = nu!(cwd: dirs.test(), "ls a_directory_not_exists");
|
||||||
|
assert!(actual.err.contains("directory not found"));
|
||||||
|
})
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user