From c521e9c18e0590cd18f51df6954cb35f30a78804 Mon Sep 17 00:00:00 2001 From: Amaan Qureshi Date: Wed, 19 Jul 2023 22:19:22 -0400 Subject: [PATCH] chore: improve error message in some spots loading `grammar.json` --- cli/src/generate/mod.rs | 3 ++- cli/src/tests/helpers/fixtures.rs | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/cli/src/generate/mod.rs b/cli/src/generate/mod.rs index 4838828b..206b74f9 100644 --- a/cli/src/generate/mod.rs +++ b/cli/src/generate/mod.rs @@ -61,7 +61,8 @@ pub fn generate_parser_in_directory( None => { let grammar_js_path = grammar_path.map_or(repo_path.join("grammar.js"), |s| s.into()); grammar_json = load_grammar_file(&grammar_js_path)?; - fs::write(&src_path.join("grammar.json"), &grammar_json)?; + fs::write(&src_path.join("grammar.json"), &grammar_json) + .with_context(|| format!("Failed to write grammar.json to {:?}", src_path))?; } } diff --git a/cli/src/tests/helpers/fixtures.rs b/cli/src/tests/helpers/fixtures.rs index 7d04b24a..46c674cd 100644 --- a/cli/src/tests/helpers/fixtures.rs +++ b/cli/src/tests/helpers/fixtures.rs @@ -86,6 +86,9 @@ pub fn get_test_language(name: &str, parser_code: &str, path: Option<&Path>) -> pub fn get_test_grammar(name: &str) -> (String, Option) { let dir = fixtures_dir().join("test_grammars").join(name); - let grammar = fs::read_to_string(&dir.join("grammar.json")).unwrap(); + let grammar = fs::read_to_string(&dir.join("grammar.json")).expect(&format!( + "Can't find grammar.json for test grammar {}", + name + )); (grammar, Some(dir)) }