You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@daffodil.apache.org by Mike Beckerle <mb...@apache.org> on 2023/05/25 16:05:43 UTC

Re: 3.5.0-SNAPSHOT DFDL Regression Test issues

I wanted to revive this thread from a while back.

If Josh's analysis is right, and I think it is, we may have more
incompatibilities in 3.5.0 than we think.

Lots of internal API things changed package due to the fix allowing the
jars to be OGSI-ified. Many schemas may be depending on internal APIs just
out of laziness to use SAPI.

It is going to be painful if schemas have to change so that there are
versions of the schema that work with daffodil 3.4.0 and then a subsequent
compatibility change requiring 3.5.0, so when fixing it would be best to
update code to use the SAPI/JAPI APIs.

Here's the sublist of the schemas that failed.

[fail] (04/62) dfdl-bmp
[fail] (11/62) dfdl-examples-hexwords
[fail] (12/62) dfdl-examples-self-descriptive-data
[fail] (13/62) dfdl-examples-xslt-csv
[fail] (22/62) dfdl-imf-icalendar-cse
[fail] (23/62) dfdl-ipf-demo
[fail] (29/62) dfdl-jpeg2000
[fail] (30/62) dfdl-jreap
[fail] (34/62) dfdl-mil-std-2045
[fail] (35/62) dfdl-mil-std-2045-0-0-4
[fail] (38/62) dfdl-nitf
[fail] (42/62) dfdl-plc4x-s7
[fail] (43/62) dfdl-png
[fail] (46/62) dfdl-raster
[fail] (49/62) dfdl-stanag-5516
[fail] (50/62) dfdl-stanag-5516-with-nact
[fail] (53/62) dfdl-usmtf
[fail] (54/62) dfdl-usmtf-generic
[fail] (57/62) dfdl-vmf
[fail] (59/62) dfdl-vmf-spock
[fail] (61/62) ibm-dfdl-crosstester

On Mon, Feb 20, 2023 at 3:20 PM Adams, Joshua <ja...@owlcyberdefense.com>
wrote:

> These are the results I'm seeing when I try to run the
> dfdl-regression-test against 3.5.0-SNAPSHOT with the current head of the
> 'main' branch.
>
> [pass] (01/62) dfdl-agnosc-remedy
> [pass] (02/62) dfdl-army-drrs-lh
> [pass] (03/62) dfdl-asterix-raytheon
> [fail] (04/62) dfdl-bmp
> [pass] (05/62) dfdl-cef
> [pass] (06/62) dfdl-cobol1
> [pass] (07/62) dfdl-csv
> [pass] (08/62) dfdl-disv6
> [pass] (09/62) dfdl-edifact
> [pass] (10/62) dfdl-examples-helloworld
> [fail] (11/62) dfdl-examples-hexwords
> [fail] (12/62) dfdl-examples-self-descriptive-data
> [fail] (13/62) dfdl-examples-xslt-csv
> [pass] (14/62) dfdl-geonames
> [pass] (15/62) dfdl-gif
> [pass] (16/62) dfdl-gmtif
> [pass] (17/62) dfdl-hl7
> [pass] (18/62) dfdl-ibm4690-tlog
> [pass] (19/62) dfdl-icalendar
> [pass] (20/62) dfdl-icd-gps-240
> [pass] (21/62) dfdl-imf
> [fail] (22/62) dfdl-imf-icalendar-cse
> [fail] (23/62) dfdl-ipf-demo
> [pass] (24/62) dfdl-ipfix
> [pass] (25/62) dfdl-iso8583
> [pass] (26/62) dfdl-janap-128
> [pass] (27/62) dfdl-janap-128-dev
> [pass] (28/62) dfdl-jpeg
> [fail] (29/62) dfdl-jpeg2000
> [fail] (30/62) dfdl-jreap
> [pass] (31/62) dfdl-link16
> [pass] (32/62) dfdl-link16-spock
> [pass] (33/62) dfdl-magvar
> [fail] (34/62) dfdl-mil-std-2045
> [fail] (35/62) dfdl-mil-std-2045-0-0-4
> [pass] (36/62) dfdl-nacha
> [pass] (37/62) dfdl-nact
> [fail] (38/62) dfdl-nitf
> [pass] (39/62) dfdl-p8
> [pass] (40/62) dfdl-pcap
> [pass] (41/62) dfdl-plc4x-knxnet-ip
> [fail] (42/62) dfdl-plc4x-s7
> [fail] (43/62) dfdl-png
> [pass] (44/62) dfdl-praat-textgrid
> [pass] (45/62) dfdl-quasixml
> [fail] (46/62) dfdl-raster
> [pass] (47/62) dfdl-shp
> [pass] (48/62) dfdl-sotf
> [fail] (49/62) dfdl-stanag-5516
> [fail] (50/62) dfdl-stanag-5516-with-nact
> [pass] (51/62) dfdl-syslog
> [pass] (52/62) dfdl-uscg-ucop-lh
> [fail] (53/62) dfdl-usmtf
> [fail] (54/62) dfdl-usmtf-generic
> [pass] (55/62) dfdl-usmtf-mitre
> [pass] (56/62) dfdl-vcard
> [fail] (57/62) dfdl-vmf
> [pass] (58/62) dfdl-vmf-s2s
> [fail] (59/62) dfdl-vmf-spock
> [pass] (60/62) gen-oilstock
> [fail] (61/62) ibm-dfdl-crosstester
> [pass] (62/62) udf-geout
>
> Of the schemas that I've looked at, it seems several of them fail to
> compile due to relying on packages that either no longer exist or have been
> moved:
>
> dfdl-examples-self-descriptive-data:
> [error]
> /home/jadams/Programming/tresys/dfdl-regression-test/dfdl-examples/hexWords/src/test/java/TestHexWords.java:4:1:
> package org.apache.daffodil.util does not exist
> [error] org.apache.daffodil.util.Misc
> [error]
> /home/jadams/Programming/tresys/dfdl-regression-test/dfdl-examples/hexWords/src/test/java/TestHexWords.java:5:1:
> package org.apache.daffodil.xml does not exist
> [error] org.apache.daffodil.xml.XMLUtils
>
> dfdl-examples-xslt-csv:
> [error]
> /home/jadams/Programming/tresys/dfdl-regression-test/dfdl-examples/xslt-csv/src/test/java/TestXSLTCSV.java:14:1:
> package net.sf.saxon does not exist
> [error] net.sf.saxon.Transform
>
>
> Others are due to various API changes, such as dfdl-imf-icalendar-cse:
> [error]
> /home/jadams/Programming/tresys/dfdl-regression-test/dfdl-imf-icalendar-cse/src/test/scala/com/mitre/imf/TestFiltering.scala:68:21:
> not enough arguments for constructor XMLTextInfosetOutputter: (os:
> java.io.OutputStream, pretty: Boolean, xmlTextEscapeStyle:
> org.apache.daffodil.sapi.infoset.XMLTextEscapeStyle.Value)org.apache.daffodil.sapi.infoset.XMLTextInfosetOutputter.
> [error] Unspecified value parameter pretty.
> [error]     val outputter = new XMLTextInfosetOutputter(pWriter)
> [error]                     ^
> [error]
> /home/jadams/Programming/tresys/dfdl-regression-test/dfdl-imf-icalendar-cse/src/test/scala/com/mitre/imf/TestFiltering.scala:71:34:
> type mismatch;
> [error]  found   : java.nio.channels.ReadableByteChannel
> [error]  required: org.apache.daffodil.sapi.io.InputSourceDataInputStream
> [error]     val pr = dataProcessor.parse(rbc, outputter)
> [error]                                  ^
> [error]
> /home/jadams/Programming/tresys/dfdl-regression-test/dfdl-imf-icalendar-cse/src/test/scala/com/mitre/imf/TestFiltering.scala:84:47:
> type mismatch;
> [error]  found   : java.io.StringReader
> [error]  required: java.io.InputStream
> [error]     val inputter = new XMLTextInfosetInputter(new
> StringReader(doc2));
> [error]                                               ^
> [error]
> /home/jadams/Programming/tresys/dfdl-regression-test/dfdl-imf-icalendar-cse/src/test/scala/com/mitre/imf/TestFiltering.scala:102:35:
> type mismatch;
> [error]  found   : java.nio.channels.ReadableByteChannel
> [error]  required: org.apache.daffodil.sapi.io.InputSourceDataInputStream
> [error]     val pr2 = dataProcessor.parse(rbc2, nullOutputter)
>
> If someone could double check the regression test for me to make sure it's
> not just an issue on my system, that would be great.  Assuming it's not
> just an issue on my system, we will likely have to spend some time going
> through the regression suite and updating test code where appropriate.
>
> Josh Adams
>