Support #5665
closedXslt30TestSuiteDriverHE for Saxon 11 HE seems to consider higher-order functions as unavailable
0%
Description
I have been looking into the test driver, both online at https://saxonica.plan.io/projects/saxonmirrorhe/repository/he/revisions/he_mirror_saxon_11_4/entry/src/main/java/net/sf/saxon/testdriver/Xslt30TestSuiteDriverHE.java#L141 and in the resources zip, I wonder why those lines say
public boolean unavailableInXX(String type, String value) {
if (type.equals("feature") && value.equals("higher_order_functions")) {
return true;
}
given that HE 10 and 11 support higher-order functions.
Has the test driver for HE not been updated for HE 10 and 11 or is that check needed for some other restriction?
Updated by Michael Kay about 2 years ago
I think this is dead code. The method unavailableInXX
is used only when the -XX option to the test driver is used, and this option dates from when we had a version of the XX compiler that could be invoked from Java (with the Javascript parts, that is, the XPath parser) running under Nashorn. It also reflects the fact that at that time, SaxonJS didn't support higher-order functions.
We should probably get rid of this code now, because I doubt we will ever reinstate the ability to run the XX compiler from Java.
But it's true that the HE test driver isn't running HOF tests. This is because Xslt30TestDriverHE at line 1242 has
needsEE.add("feature/higher_order_functions");
which is wrong and should be deleted.
I can confirm that if we change this, the tests run and (for those I've tested) they all pass.
QT3TestDriverHE has the same problem: lines 282-3 read
} else if ("higherOrderFunctions".equals(value)) {
return (edition.equals("PE") || edition.equals("EE")) ^ inverse;
which needs to change to:
} else if ("higherOrderFunctions".equals(value)) {
return !inverse;
Updated by Michael Kay about 2 years ago
- Status changed from New to In Progress
- Assignee set to Michael Kay
- Fix Committed on Branch 11 added
I have fixed the test drivers so the HE drivers now run the HOF tests (also, 1.0 backwards compatibility tests).
Under 11.x, this is giving 0 test failures for QT3, 5 test failures for XSLT 3.
docbook-001 - reports "Can't make chunks with Saxonica's processor"
error-3175a - error not reported
mode-1506 - reports "SXST0068 Request for streaming ignored: this Saxon configuration does not support streaming"
sort-079 - incorrect handling of ignorable characters in collation
system-property-014b : expected result out="no", actual result out="4yes"
Updated by Michael Kay about 2 years ago
Fixed error-3175a with a change to the way the test driver handles the dynamic_evaluation dependency.
The same change also fixes system-property-014b.
Updated by Michael Kay about 2 years ago
Fixed mode-1506 by adding a dependency on streaming to the test metadata.
Updated by Michael Kay about 2 years ago
Current status is that we're getting three failures:
- docbook-001
- sort-079
- unparsed-text-2002
I think the failure in unparsed-text-2002 is unrelated to this issue, and occurs because of recent changes to the W3C web site.
Updated by Michael Kay almost 2 years ago
- Status changed from In Progress to Closed
I think we can now close this.
Please register to edit this issue