How can you run jtreg with jdk-base-image?
Mandy Chung
mandy.chung at oracle.com
Wed Aug 31 13:59:26 PDT 2011
On 08/31/11 13:36, Sean Mullan wrote:
> On 8/31/11 4:29 PM, Alan Bateman wrote:
>> Sean Mullan wrote:
>>> I'm trying to run tests with only a jdk-base-image but I am getting errors
>>> because jtreg can't find classes that aren't in the installed modules. Is it
>>> possible to run jtreg with this type of setup?
>>>
>> Is it classes that jtreg needs or classes that the tests need?
> jtreg. Here's the exception stack trace:
>
> Exception in thread "main" java.lang.NoClassDefFoundError:
> java/awt/IllegalComponentStateException
> at javax.help.HelpSet.findHelpSet(HelpSet.java:169)
> at javax.help.HelpSet.findHelpSet(HelpSet.java:200)
> at javax.help.HelpSet.findHelpSet(HelpSet.java:213)
> at com.sun.interview.Interview.setHelpSet(Interview.java:380)
> at com.sun.javatest.interview.TestsInterview.<init>(TestsInterview.java:72)
> at
> com.sun.javatest.interview.BasicInterviewParameters.createTestsInterview(BasicInterviewParameters.java:96)
> at
> com.sun.javatest.interview.BasicInterviewParameters.<init>(BasicInterviewParameters.java:64)
> at
> com.sun.javatest.interview.BasicInterviewParameters.<init>(BasicInterviewParameters.java:83)
> at
> com.sun.javatest.regtest.RegressionParameters.<init>(RegressionParameters.java:56)
> at
> com.sun.javatest.regtest.RegressionTestSuite.createInterview(RegressionTestSuite.java:106)
> at com.sun.javatest.regtest.Main.createParameters(Main.java:1434)
> at com.sun.javatest.regtest.Main.run(Main.java:979)
> at com.sun.javatest.regtest.Main.run(Main.java:877)
> at com.sun.javatest.regtest.Main.main(Main.java:821)
>
>> I recall
>> there were issues with jtreg (may have been JavaTest, which jtreg uses)
>> needing JavaHelp and AWT and I remember having to do a bit of hacking to
>> get it to work.
> yep - do you remember what you did?
>
Is JAVA_HOME set to jdk-base-image? Are you using jtreg -jdk option to
specify the jdk to run the tests?
For testing purpose, you can run jtreg with jdk 7. You can either unset
JAVA_HOME or set ST_JAVA to the runtime for launching jtreg.
>> The jdk-base-image has the compiler and tools so we
>> should be able to get this to work. The other useful thing to know is
>> the -compilejdk option so we should be able to run tests with a
>> jre-base-image too.
> Is that a jtreg option?
>
If you unset JAVA_HOME, jtreg should use java on your path. I think
this command should work (except that some tests may fail if they depend
on classes not in the base module):
$ jtreg -jdk:jdk-base-image jdk/test/....
Or
$ jtreg -compilejdk:jdk-base-image -jdk:jre-base-image ....
>> Anyway, once you get past that then the real fun
>> begins because our tests aren't organized by module and will have
>> dependency on modules that aren't in the base image (and since jtreg
>> will be running the tests in legacy mode then it means ClassNotFoundErrors).
> I'm mostly interested in running the security tests, validating signed modules
> and so forth.
>
The above commands should work.
Mandy
More information about the jigsaw-dev
mailing list