diff --git a/hed/validator/sidecar_validator.py b/hed/validator/sidecar_validator.py index 0a5fe8e8..42a71c64 100644 --- a/hed/validator/sidecar_validator.py +++ b/hed/validator/sidecar_validator.py @@ -145,6 +145,8 @@ def _validate_refs(self, sidecar, error_handler): found_column_references = {} for column_data in sidecar: column_name = column_data.column_name + if column_data.column_type == ColumnType.Ignore: + continue hed_strings = column_data.get_hed_strings() error_handler.push_error_context(ErrorContext.SIDECAR_COLUMN_NAME, column_name) matches = [] @@ -183,7 +185,6 @@ def _validate_refs(self, sidecar, error_handler): for ref in refs: if ref in found_column_references and ref != column_name: issues += error_handler.format_error_with_context(ColumnErrors.NESTED_COLUMN_REF, column_name, ref) - return issues @staticmethod diff --git a/tests/validator/test_sidecar_validator.py b/tests/validator/test_sidecar_validator.py index db06f1e2..ca0ec748 100644 --- a/tests/validator/test_sidecar_validator.py +++ b/tests/validator/test_sidecar_validator.py @@ -125,6 +125,22 @@ def test_bad_pound_signs(self): issues = sidecar.validate(self.hed_schema) self.assertEqual(len(issues), 3) + def test_missing_hed(self): + sidecar_with_hed_missing = ''' + { + "event_code": { + "HED": { + "face": "Statistical-accuracy/0.677, {response}" + } + }, + "response": "Label/#", + "other": "Description" + } + ''' + sidecar = Sidecar(io.StringIO(sidecar_with_hed_missing)) + issues = sidecar.validate(self.hed_schema) + self.assertEqual(len(issues), 1) + def test_invalid_list(self): sidecar_json = ''' {