Glob paths can fail. Communicates the error if it happens. thanks (jonathandturner)

This commit is contained in:
Andrés N. Robalino 2019-08-01 16:55:49 -05:00
parent 375f311331
commit 1bc1bb6111
2 changed files with 17 additions and 9 deletions

View File

@ -45,7 +45,15 @@ pub fn rm(args: CommandArgs) -> Result<OutputStream, ShellError> {
file => full_path.push(file), file => full_path.push(file),
} }
for entry in glob(&full_path.to_string_lossy()).expect("Failed to read glob pattern") { let entries = glob(&full_path.to_string_lossy());
if entries.is_err() {
return Err(ShellError::string("Invalid pattern."));
}
let entries = entries.unwrap();
for entry in entries {
match entry { match entry {
Ok(path) => { Ok(path) => {
if path.is_dir() { if path.is_dir() {

View File

@ -88,14 +88,14 @@ fn save_figures_out_intelligently_where_to_write_out_with_metadata() {
.with_files(vec![FileWithContent( .with_files(vec![FileWithContent(
"cargo_sample.toml", "cargo_sample.toml",
r#" r#"
[package] [package]
name = "nu" name = "nu"
version = "0.1.1" version = "0.1.1"
authors = ["Yehuda Katz <wycats@gmail.com>"] authors = ["Yehuda Katz <wycats@gmail.com>"]
description = "A shell for the GitHub era" description = "A shell for the GitHub era"
license = "ISC" license = "ISC"
edition = "2018" edition = "2018"
"#, "#,
)]) )])
.test_dir_name(); .test_dir_name();