You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@daffodil.apache.org by "Michael Beckerle (JIRA)" <ji...@apache.org> on 2018/08/15 20:27:00 UTC
[jira] [Resolved] (DAFFODIL-1947) TDMLRunner - incorrect error on
left-over data: TDMLException: Left over data. Consumed 48 bit(s) with 0
bit(s) remaining.
[ https://issues.apache.org/jira/browse/DAFFODIL-1947?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Beckerle resolved DAFFODIL-1947.
----------------------------------------
Resolution: Fixed
This was fixed as part of putting explicit pass counts "none", "onePass", "twoPass", "threePass" into the TDML Runner.
commit 383148eaeebe57879af2e7589aa1b08e08280ebd
> TDMLRunner - incorrect error on left-over data: TDMLException: Left over data. Consumed 48 bit(s) with 0 bit(s) remaining.
> --------------------------------------------------------------------------------------------------------------------------
>
> Key: DAFFODIL-1947
> URL: https://issues.apache.org/jira/browse/DAFFODIL-1947
> Project: Daffodil
> Issue Type: Bug
> Components: TDML Runner
> Affects Versions: 2.1.0
> Reporter: Michael Beckerle
> Priority: Major
> Fix For: 2.2.0
>
>
> When a test runs round trip, if the test parse succeeds, but the unparse creates an extra character in the output, on reparse we get a left-over-data error, but the error message is bogus because it says 0 bits remaining, which makes no sense for left-over data.
> org.apache.daffodil.tdml.TDMLException: Left over data. Consumed 48 bit(s) with 0 bit(s) remaining.
> In general, the round-trip logic should be a bit smarter. The output should indicate what phase of the test it was in when the failure occurred. In this specific case, the unparsed output doesn't match the size of the original input. That might be ok on round trip, but in most cases we want parse/unparse to work without having to reparse.
> We need to fix the bug so that this doesn't report incorrect left-over-data info. We also need to change roundTrip to have a mode for one-pass only, meaning that the unparse is expected to create exactly the same as the input data (for parse tests), so that it should not try to reparse the unparsed output, but should immediately report the error.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)