tree a5084b55583f4ed6882f1387f0626273f219d5c1
parent cad16dbd4b637ac288b6a065d79e9fb198a66c42
author Mike McGann <mmcgann@owlcyberdefense.com> 1685534212 -0400
committer Steve Lawrence <slawrence@apache.org> 1685706750 -0400

Remove warnings in serialized parser

Currently, when a DataProcessor is serialized using the save() function,
warnings generated during compilation are also serialized. But this
behavior is not needed, and can sometimes lead to excessive diagnostics
when reloading.

To avoid this, this moves the diagnostics member from the
SchemaSetRuntimeData to the DataProcessor, and clears that member before
serialization.

This also discovered an issue where the TDML runner was not correctly
checking for errors vs warnings and would accept messages of the wrong
type. This fixes that, which requires changes to some expected
errors/warnings.

That change also uncovered a bug where we only output a warning instead
of an error if the main schema is not a DFDL schema. This was caused by
an incorrect comparison in the "allSchemaFiles" logic, which also needed
to be a LV to handle the SDE correctly.

Also, the DaffodilTDMLDFDLProcessor has a getDiagnostics() function to
return compile time diagnostics. However, with this change, if a
processor is saved and reloaded by the TDML runner (which happens for
most tests) those diagnostics are lost. Because getDiagnostics may or
may not actually have diagnostics, this is an unreliable API and so is
removed. Instead, diagnostics should only be taken from the
CompileResult. For consistency, the isError function is also removed and
should only be determined based on the CompileResult.

Some asserts were added to make sure the CompileResult makes sense, and
dead code removed where it was impossible to have a bad processor.

DAFFODIL-2803
