From 96d5325305f8ae186127474eb8d814e9b2d8ffe1 Mon Sep 17 00:00:00 2001 From: Martin Klotz Date: Wed, 1 Apr 2026 15:23:32 +0200 Subject: [PATCH 1/3] update tests; extend error message to contain file name --- src/importer/conllu/mod.rs | 3 ++- ...ter__conllu__tests__conll_fail_invalid.snap | 3 ++- ...er__conllu__tests__fail_missing_column.snap | 1 + src/importer/conllu/tests.rs | 18 ++++++++---------- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/importer/conllu/mod.rs b/src/importer/conllu/mod.rs index 415d8e17..4ba9cef7 100644 --- a/src/importer/conllu/mod.rs +++ b/src/importer/conllu/mod.rs @@ -126,7 +126,8 @@ impl ImportCoNLLU { let mut decoder = DecodeReaderBytes::new(f); let mut file_content = String::new(); decoder.read_to_string(&mut file_content)?; // TODO this needs to be buffered. UD Files can be very large - let conllu: Pairs = CoNLLUParser::parse(Rule::conllu, &file_content)?; + let conllu: Pairs = CoNLLUParser::parse(Rule::conllu, &file_content) + .map_err(|e| anyhow!("Could not parse {document_path:?}:\n{e}"))?; self.map_document(step_id, update, document_node_name, conllu, tx)?; Ok(()) } diff --git a/src/importer/conllu/snapshots/annatto__importer__conllu__tests__conll_fail_invalid.snap b/src/importer/conllu/snapshots/annatto__importer__conllu__tests__conll_fail_invalid.snap index 261cae31..72540813 100644 --- a/src/importer/conllu/snapshots/annatto__importer__conllu__tests__conll_fail_invalid.snap +++ b/src/importer/conllu/snapshots/annatto__importer__conllu__tests__conll_fail_invalid.snap @@ -1,7 +1,8 @@ --- source: src/importer/conllu/tests.rs -expression: job.err().unwrap() +expression: job.err().unwrap().to_string() --- +Could not parse "tests/data/import/conll/invalid/test_file.conllu": --> 1:1 | 1 | a _ diff --git a/src/importer/conllu/snapshots/annatto__importer__conllu__tests__fail_missing_column.snap b/src/importer/conllu/snapshots/annatto__importer__conllu__tests__fail_missing_column.snap index 4f0f3ee1..8dc66b64 100644 --- a/src/importer/conllu/snapshots/annatto__importer__conllu__tests__fail_missing_column.snap +++ b/src/importer/conllu/snapshots/annatto__importer__conllu__tests__fail_missing_column.snap @@ -2,6 +2,7 @@ source: src/importer/conllu/tests.rs expression: job.err().unwrap().to_string() --- +Could not parse "tests/data/import/conll/missing-column/website_example.conllu": --> 10:17 | 10 | 6 . . PUNCT . _ punct 2:punct _ diff --git a/src/importer/conllu/tests.rs b/src/importer/conllu/tests.rs index 785945d2..0b60d679 100644 --- a/src/importer/conllu/tests.rs +++ b/src/importer/conllu/tests.rs @@ -59,17 +59,15 @@ fn test_conll_fail_invalid() { let mut u = GraphUpdate::default(); let import = ImportCoNLLU::default(); let step_id = StepID::from_importer_step(&import_step); - assert!( - import - .import_document( - &step_id, - &mut u, - import_path.join("test_file.conllu").as_path(), - import_path.join("test_file").to_str().unwrap().to_string(), - &None - ) - .is_err() + let run = import.import_document( + &step_id, + &mut u, + import_path.join("test_file.conllu").as_path(), + import_path.join("test_file").to_str().unwrap().to_string(), + &None, ); + assert!(run.is_err()); + assert_snapshot!(run.err().unwrap()); } #[test] From 7ba4f18ec4b1a26407fd82db809b7fe163cb50d0 Mon Sep 17 00:00:00 2001 From: Martin Klotz Date: Wed, 1 Apr 2026 15:24:02 +0200 Subject: [PATCH 2/3] new test --- ...importer__conllu__tests__conll_fail_invalid-2.snap | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/importer/conllu/snapshots/annatto__importer__conllu__tests__conll_fail_invalid-2.snap diff --git a/src/importer/conllu/snapshots/annatto__importer__conllu__tests__conll_fail_invalid-2.snap b/src/importer/conllu/snapshots/annatto__importer__conllu__tests__conll_fail_invalid-2.snap new file mode 100644 index 00000000..40df8b4e --- /dev/null +++ b/src/importer/conllu/snapshots/annatto__importer__conllu__tests__conll_fail_invalid-2.snap @@ -0,0 +1,11 @@ +--- +source: src/importer/conllu/tests.rs +expression: run.err().unwrap() +--- +Could not parse "tests/data/import/conll/invalid/test_file.conllu": + --> 1:1 + | +1 | a _ + | ^--- + | + = expected sentence From 447c602c40433ca1694561f80aa8f054b93acfa6 Mon Sep 17 00:00:00 2001 From: Martin Klotz Date: Wed, 1 Apr 2026 15:25:07 +0200 Subject: [PATCH 3/3] update --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 97d3ab21..ac8921f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- import `conllu` parsing errors: Add file name to error message + ## [0.50.1] - 2026-03-31 ### Fixed