RFR: JDK-8209774 - [TESTBUG]Refactor shell test javax/xml/jaxp/common/8035437/run.sh to java

Alan Bateman Alan.Bateman at oracle.com
Mon May 11 09:32:56 UTC 2020


On 08/05/2020 18:19, Fernando Guallini wrote:
> Hi Daniel and Alan,
> @compile/module=java.xml was my first try, but for the nature of this 
> test, it didn't work. The reason is that the original shell test does 
> the following:
> - Compiles it’s own version of Node and Document interfaces
> - Compiles DocumentImpl patching java.xml with those 2 interfaces
> - Executes the AbstractMethodErrorTest patching the java.xml module 
> *only with DocumentImpl* patch(not including Document and Node)
>
> It does that by keeping the patches output in different folders. 
> That’s important otherwise AbstractMethodErrorTest doesn’t compile, 
> because it references some methods not declared in its custom 
> interfaces, and it seems to be coded this way to reproduce the 
> original bug. That is also the reason why I added the *@clean* command 
> to remove Document and Node *before* running the test.
>
> But when using *@compile/module=java.xml*, under the hood, JTREG 
> generates a folder named “patches/java.xml/..” including all the 
> compiled classes under it. Unfortunately, the temporary interfaces 
> can’t be removed because *@clean* does not know how to resolve the 
> path "/patches/java.xml/..”.
>
> To sum up, this test creates a temporary java.xml patch that needs to 
> be ignored after compiling *DocumentImpl. *I am using —patch-module 
> because it’s more flexible than @compile/module
> *
> *
> Hope I explained myself!
This may be a question for Joe Wang but I'm curious if this need to 
override/upgrade W3C DOM API classes dates back to when it was an 
endorsed standard that could be overridden with the endorsed standards 
override mechanism. The @bug on the test suggests otherwise but I'm 
curious if it make any sense with JDK 9+. This doesn't impact the good 
work to replace the script of course, I'm just curious how separately 
compilation issue arises here.

-Alan



More information about the core-libs-dev mailing list