I am making much progress on this, but didn't finish it this week as I'd hoped.
Here's the status:
Rebased on top of current asf/master. Branch is visible on
https://github.com/mbeckerle/incubator-daffodil/tree/daffodil-1919-separators
All basic tests run. See note below about "threePass" tests.
sbt it:test has 5 failures - all due to message output changing.
test_3398_CLI_Debugger_occursBounds_2
test_1336_CLI_Debugger_occursBounds
test_3263_CLI_Debugger_occursBounds
test_3227_CLI_Parsing_SimpleParse_DFDL1197_fix
test_3266_CLI_Debugger_occursBounds_shortFor
Of application schemas CSV, PCAP, mil-std-2045 work.
NACHA does not work yet. Length mismatches in the unparsed output.
This is a clue to the fact that daffodil, with these changes, is not
implementing the same behavior it had before, which is also evidenced by the
"threePass" tests.
Added threePass feature to TDMLRunner.
Needed for testing some separator scenarios.
Some tests changed to roundTrip="threePass" to get them to work.
Note that "threePass" can mask errors very easily. It needs to be avoided
whenever possible.
In some cases the "threePass" tests are questionable in terms of
whether Daffodil is doing the right thing vis a vis the DFDL specification.
But they're easily identified by searching for roundTrip="threePass" in
the test modules. Such time as DFDL spec. clarifications are available
for some of these they should be revisited.