Detailed description of the bug:

SystemIDResolverAPITest is driven by a table of inputs and expected output suffixes, basically to test that the append to current context location works correctly and that \ in Windows filesystem paths is normalized to / in the URI.

However, the computation of the baseURI string is behaving incorrectly. Rather than file:///home/keshlam/git/xalan-test/, it is coming through as file:////home/keshlam/git/xalan-test/ -- note the extra /.

This means that while the SystemIDResolver is behaving correctly, the concatenated string its result is compared against is wrong, and the test fails as a result.


I'm investigating why this test framework is failing on Linux. I suspect someone working only on Windows tested for the literal character '\' rather than testing for the system file separator; if you aren't thinking about portability that's a common mistake.

I'm expecting to have it isolated and a fix offered before Monday.



On 3/8/2023 9:07 AM, Mukul Gandhi wrote:
Hi Gary,

> > On Wed, Feb 1, 2023, 12:51 Gary Gregory <garydgreg...@gmail.com> wrote:
> >>
> >> I'm missing something:
> >>
> >> "Certain XalanJ "api" tests were causing these issues, and I've now
> >> omitted those "api" tests from XalanJ tests configuration."
> >>
> >> So when are these test run?
>
> What about this question above?

Currently, the XalanJ tests that run with command "build apitest", are configured within xalan-test repo's file test.properties (specified at bottom of this file, with comments # Various tests, that run for ant build.xml's "apitest" target. This configuration has been introduced, starting with XalanJ 2.7.3 release).

We've recently discovered that, the test SystemIDResolverAPITest from this set, is not producing same results on windows and Linux. Joseph Kessselman thinks that, XalanJ codebase within the file SystemIDResolver.java that's been tested by the test class SystemIDResolverAPITest, might have a bug.

Following is an excerpt about usages within XalanJ implementation, of the Java class SystemIDResolver,

systemidresolver.png

This shows that, Java class SystemIDResolver is used extensively within XalanJ codebase. I think, if needed, we should fix any implementation within XalanJ class SystemIDResolver with caution as lot of XalanJ functionality is depending on this class.


--
Regards,
Mukul Gandhi

Reply via email to