bootclasspath.dir usage
Jonathan Gibbons
jonathan.gibbons at oracle.com
Tue Aug 20 13:15:40 PDT 2013
Henry,
Start with a clean work directory and try to run the test.
Now look at *all* of JTwork/classes and see if you can see any .class
files that seem to be in the wrong directory. Make sure those classes
are mentioned in explicit @build directives in the right place.
Failing that, do the following:
Identify two tests, I'll call them A and B, such that B is the test that
sometimes fails, and A is a test that allows B to pass if you run it first.
1. Clean your work directory.
Run test B (the test that will fail.)
Run test A (in a separate jtreg run)
Execute 'cd JTWork ; find . classes -type f > LIST-B-A.txt
2. Start over. Clean your work directory
Run test A first this time
Run test B (which should pas this time)
Execute 'cd JTWork ; find . classes -type f > LIST-A-B.txt
Compare the two LIST-*.txt files and try and identify the reason for the
differences.
-- Jon
On 08/20/2013 12:55 PM, Jonathan Gibbons wrote:
> Henry,
>
> It sounds like you have insufficient @build directives and that some
> of your library classes are being implicitly compiled (into the wrong
> place)
>
> -- Jon
>
> On 08/19/2013 10:03 PM, Henry Jen wrote:
>> Hi,
>>
>> I try to move a test for Pattern.splitAsStream() into
>> test/java/util/regex because that is where is should be based on
>> convention. The test is now currently several layers under
>> test/java/util/stream as initially developed in part of lambda testng
>> tests.
>>
>> The move is not straightforward because it makes use of stream test
>> framework which has to be included in bootclasspath.
>>
>> I added @library tag, and hopefully it picks up bootclasspath.dir
>> setting from TEST.properties located in
>> test/java/util/stream/bootlib/TEST/properties as that seems to be how
>> stream tests works.
>>
>> This partially works. What I mean by that is, if I try to run regex test
>> from a clean state, the bootclasspath is not picked up and the test
>> failed as show in attached PatternTest.jtr.failed as you can see in the
>> rerun section(a nice feature, BTW).
>>
>> However, if I run a stream test first and keep the JT* working folder,
>> the test passes. Attached is the patch file, and you can reproduce this
>> with following steps after apply attached JDK-8016846 for the test,
>>
>> $ cd jdk
>> $ jtreg -v test/java/util/regex #failed
>> $ jtreg -v
>> test/java/util/stream/test/org/openjdk/tests/java/util/stream/ConcatTest.java
>>
>> $ jtreg -v test/java/util/regex #succeeded
>>
>> or combine above two steps into one also work,
>>
>> $ jtreg -v
>> test/java/util/stream/test/org/openjdk/tests/java/util/stream/ConcatTest.java
>>
>> test/java/util/regex #succeeded
>>
>> Do I miss any option here or this is not really supported?
>>
>> Cheers,
>> Henry
>
More information about the jtreg-use
mailing list