Uploaded image for project: 'Daffodil'
  1. Daffodil
  2. DFDL-1558

RoundTrip: runtime encoding of fillByte

XMLWordPrintableJSON

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Normal Normal
    • 2.0.0
    • None
    • Unparsing
    • None

      The fillByte method in RuntimeData.scala has an assert that the encoding is known. This assertion is preventing test_encoding_property_expression in edu.illinois.ncsa.daffodil.section11.content_framing_properties.TestContentFramingProperties from successfully roundtripping. This test uses a runtime calculated encoding and at some point the fillByte is accessed, which throws the assertion.

      There are probably two changes necessary here:

      1. Turn fillByte into an Evaluatable that is dependent on encoding and pass it into the unparsers that might need it. This has the bonus that we can remove something from the RuntimeData (we probably want this as small as possible).
      2. This test doesn't actually need the fill byte, but the StringLengthUnparser gets it just in case it will need it. We should modify StringLengthUnparser (and anything else that uses fillByte) to only calculate it when it will be used.

              dthompson David Thompson
              slawrence Steve Lawrence
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - Not Specified
                  Not Specified
                  Logged:
                  Time Spent - 10 minutes
                  10m