You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@daffodil.apache.org by "Dave Thompson (JIRA)" <ji...@apache.org> on 2018/10/05 13:16:00 UTC
[jira] [Closed] (DAFFODIL-1961) TDML Runner - enhance round-trip to
distinguish simple parse-unparse from multi-trip cases
[ https://issues.apache.org/jira/browse/DAFFODIL-1961?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dave Thompson closed DAFFODIL-1961.
-----------------------------------
Pulled latest updates from incubator-daffodil repository which included specified commit, 383148eaeebe57879af2e7589aa1b08e08280ebd.
Verified daffodil builds and executes all sbt tests successfully.
Verified changes specified in the commit comment.
All nightly tests also executed successfully.
> TDML Runner - enhance round-trip to distinguish simple parse-unparse from multi-trip cases
> ------------------------------------------------------------------------------------------
>
> Key: DAFFODIL-1961
> URL: https://issues.apache.org/jira/browse/DAFFODIL-1961
> Project: Daffodil
> Issue Type: New Feature
> Components: TDML Runner
> Affects Versions: 2.1.0
> Reporter: Michael Beckerle
> Priority: Major
> Fix For: 2.2.0
>
>
> TDML Runner does parse-unparse round-trip tests.
> Some tests the input data is not cannonical, but after parse-unparse, the data *IS* cannonical. Hence, a Parse-Unparse-Parse is required before the Infoset matches.
> However, very few tests require this. Those should be explicitly identified by changing the TDML roundTrip='true/false' attribute into an enumeration:
> roundTrip="false/true/simple/multiPass"
> The values true and simple mean the same thing. The value multi-pass means that a parse-unparse-parse cycle is needed for a parse test, and an unparse-parse-unparse cycle is needed for an unparse test.
> TBD: are longer cycles actually needed? If so then tests that require P-U-P-U should be distinghished from those that require only P-U-P, perhaps by changing the enums for round trip to "twoPass" and "threePass".
> By specifying this more specific need for passes, the intent of the test writer is clearer.
> This also avoids cascading errors where a test that should not require multiple passes, is failing, multiple-passes are attempted, and the failure one observes is the multi-pass failure. This can just be some artifact, and not have much useful value when debugging. You want the first failure, in the case of a simple round-trip test. You don't want it to try multi-pass looping.
> Right now I have 140-or-so failures in our TDML-based test suite (daffodil-test). I'd very much like to know which of these are simple failures, and debug those, and ignore the multi-pass failures for now, but I have no way of distinguishing them currently.
> This change could also improve test time - because re-running tests in the multi-test loops wouldn't even be attempted for tests that don't require it.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)