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

Joe Wang huizhe.wang at oracle.com
Mon May 11 16:27:03 UTC 2020



On 5/11/2020 2:32 AM, Alan Bateman wrote:
> 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.

I agree with you, Alan, that this test is obsolete. I just haven't 
thought of getting rid of it. But you're right, it can be removed instead.

-Joe

>
> -Alan
>



More information about the core-libs-dev mailing list