commit 27b7fb5e0900b9f5457e7b1bd45d9a5ae81de09b
parent 6244aee4ff62a409c2a9163c094a096a79df6c2f
Author: Asher Morgan <59518073+ashermorgan@users.noreply.github.com>
Date: Fri, 9 Aug 2024 14:59:07 -0700
Add filepath to manifest parsing error messages
Diffstat:
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/cli.rs b/src/cli.rs
@@ -83,7 +83,9 @@ fn run_args(args: Args) -> Result<bool> {
}
let manifest = parse_manifest_file(Path::new(&args.manifest))
- .context("Failed to parse manifest")?;
+ .with_context(|| {
+ format!("Failed to parse {}", args.manifest)
+ })?;
if args.list_tags {
list_tags(manifest);
diff --git a/tests/basic.rs b/tests/basic.rs
@@ -72,7 +72,7 @@ fn test_basic_empty_manifest() {
cmd.args(["manifest.yml"]);
write_file(&dirs.local.join("manifest.yml"), "");
- let expected = "Error: Failed to parse manifest: missing field `steps`\n";
+ let expected = "Error: Failed to parse manifest.yml: missing field `steps`\n";
let (stdout, stderr, exitcode) = run_command(&mut cmd);
assert_eq!(&stderr, expected);
assert_eq!(&stdout, "");
@@ -85,8 +85,8 @@ fn test_basic_missing_manifest() {
let (_dirs, mut cmd) = setup_e2e_local("test_basic_missing_manifest");
cmd.args(["missing.yml"]);
- let expected = "Error: Failed to parse manifest: No such file or directory \
- (os error 2)\n";
+ let expected = "Error: Failed to parse missing.yml: No such file or \
+ directory (os error 2)\n";
let (stdout, stderr, exitcode) = run_command(&mut cmd);
assert_eq!(&stderr, expected);
assert_eq!(&stdout, "");
@@ -99,7 +99,7 @@ fn test_basic_missing_manifest() {
let (_dirs, mut cmd) = setup_e2e_local("test_basic_missing_manifest");
cmd.args(["missing.yml"]);
- let expected = "Error: Failed to parse manifest: The system cannot find \
+ let expected = "Error: Failed to parse missing.yml: The system cannot find \
the file specified. (os error 2)\n";
let (stdout, stderr, exitcode) = run_command(&mut cmd);
assert_eq!(&stderr, expected);