RFR(S) : 8211977 : move testlibrary tests into one place

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Tue Jun 16 14:03:28 UTC 2020


On 2020-06-16 15:06, Erik Joelsson wrote:
>
>
> On 2020-06-15 17:39, Igor Ignatyev wrote:
>> @David, Erik, Magnus,
>>
>> please find the answers to your comments at the bottom of this email.
>>
>> @all,
>>
>> David's and Erik's comments made me realize that some parts of the 
>> original patch were stashed away and didn't make it to webrev.00. I'm 
>> truly sorry for the confusion and inconvenience. I also agree w/ 
>> David that it's hard to follow/review, and my gaffe just made it 
>> worse, therefore I'd like to start it over again from a clean sate
>>
>> http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02
>
> Build changes look good to me now, except for a missing newline in 
> Main.gmk. (No need for new review.)
>

Ditto.

/Magnus
>
> /Erik
>
>>> 833 lines changed: 228 ins; 591 del; 14 mod; 
>>
>> could you please review the patch which puts all tests for common 
>> testlibrary classes (which is ones located in /test/lib) into one 
>> location under /test/lib-test? please note this intentionally doesn't 
>> move all "testlibrary" tests, e.g. tests for CTW, hotspot-specific 
>> testlibrary, are left in /test/hotspot/jtreg/testlibrary_tests/ctw .
>>
>> to simplify review, the patch has been split into several webrevs, 
>> with each of them accomplishes a more-or-less distinct thing, but is 
>> not necessary self-contained:
>>
>> 0. trivial move of tests from test/jdk and test/hotspot/jtreg test 
>> suites to test/lib-test:
>> http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.00-move/
>>
>> 1. removal of hotspot's AssertsTest, OutputAnalyzerReportingTest and 
>> "merge" of hotspot's and jdk's OutputAnalyzerTest:
>> http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.01-merge/
>>
>> 2. simplification of TestNativeProcessBuilder tests: converts Test 
>> class used by TestNativeProcessBuilder into a static nested class:
>> http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02.02-TestNativeProcessBuilder
>>
>> 3. makefiles changes to build native parts of lib-test tests. in 
>> past, there were no tests w/ native parts in this test suite, 
>> TestNativeProcessBuilder is the 1st such test; this part also removes 
>> now unneeded lines from hotspot test suite makefile:
>> http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02.03-NativeLibTest
>>
>> 4. clean ups in hotspot test suite: adjusted location 
>> of SimpleClassFileLoadHookTest test, which is a test for 
>> hotspot-specific test library (located in 
>> /test/hotspot/jtreg/testlibrary/jvmti) and hence should not be moved 
>> to /test/lib-test; removed TestMutuallyExclusivePlatformPredicates 
>> from TEST.groups:
>> http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.04-hotspot/
>>
>> 5. LingeredAppTest fix (which apparently has never been run before):
>> http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.05-LingeredAppTest/
>>
>> 6. changes to make test/lib-test a fully supported and working test 
>> suite, and add in into tier1,  includes adding ProblemList, 
>> TEST.groups file, and 'randomness' k/w:
>> http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02.06-TESTROOT/
>>
>> webrev: http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02
>> JBS: https://bugs.openjdk.java.net/browse/JDK-8211977
>> testing:
>>  - make test TEST=tier1 locally on macosx
>>  - test/lib-test on  {windows,linux,macosx}-x64
>>  - tier1 job (in progress)
>>
>> Thanks,
>> -- Igor
>>
>>
>>> On Jun 14, 2020, at 11:23 PM, David Holmes <david.holmes at oracle.com 
>>> <mailto:david.holmes at oracle.com>> wrote:
>>> <...>
>>> This doesn't seem to move everything under 
>>> test/hotspot/jtreg/testlibrary_tests/ e.g. ctw directory.
>> this is intentionally, ctw test-library is hotspot specific, hence 
>> its tests are to reside in hotspot test suite (until we decide to 
>> move the library to /test/lib), the same is true 
>> for SimpleClassFileLoadHookTest.
>>>
>>> You did not modify hotspot/jtreg/TEST.groups but it refers to:
>>> testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java \
>>> Plus it should probably refer to the new native_sanity tests somewhere.
>> the actual version of the patch removed reference to 
>> TestMutuallyExclusivePlatformPredicates from hotspot's TEST.groups 
>> and had TestNativeProcessBuilder moved to /test/test-lib, so no 
>> updates w.r.t. native_sanity are needed
>>
>>> The newly added copyright notice needs to have the correct initial 
>>> copyright year based on when the file was first added to the repo.
>>  /test/lib-test/TEST.ROOT file was created by JDK-8243010 on 
>> 2020-04-16, hence the added copyright has 2020 as the initial 
>> copyright year.
>>
>>> You used the wrong license header - makefiles don't use the 
>>> classpath exception.
>> JtregNativeLibTest.gmk is based on make/test/JtregNativeJdk.gmk which 
>> also have classpath exception. quick grep showed that make directory 
>> has 794 files which has '"Classpath" exception', out of 850 which 
>> contain 'GNU General Public License version 2' string. And although I 
>> agree that makefiles shouldn't have the classpath exception, I'd 
>> prefer to keep JtregNativeLibTest.gmk in sync w/ the its siblings and 
>> would leave it up to build team to decide how it's best to handle.
>>
>>
>>> On Jun 15, 2020, at 8:12 AM, Magnus Ihse Bursie 
>>> <magnus.ihse.bursie at oracle.com 
>>> <mailto:magnus.ihse.bursie at oracle.com>> wrote:
>>>
>>> A few comments:
>>>
>>> This seems like code copied from elsewhere:
>>>    57 # This evaluation is expensive and should only be done if this target was
>>>    58 # explicitly called.
>>>    59 ifneq ($(filter build-test-libtest-jtreg-native, $(MAKECMDGOALS)), )
>>> I don't agree that this is an expensive evaluation. Furthermore, the 
>>> makefile is only called for building the testlib and for making 
>>> images, so in worst case it's just the image part that would get a 
>>> penalty (although I highly doubt there is any).
>> right, JtregNativeLibTest.gmk is based 
>> on make/test/JtregNativeJdk.gmk which has this comment, I don't know 
>> enough details to say if it's expensive or not, yet if you insist and 
>> there is a consensus within build team, I can remove the comment.
>>
>>>
>>>    82 $(eval $(call SetupCopyFiles,COPY_LIBTEST_JTREG_NATIVE, \
>>> Please use space after comma.
>> this again was preexisting in JtregNativeJdk.gmk, added the space 
>> nevertheless.
>>
>>
>>> On Jun 15, 2020, at 6:16 AM, Erik Joelsson <erik.joelsson at oracle.com 
>>> <mailto:erik.joelsson at oracle.com>> wrote:
>>>
>>> In JtretNativeLibTest.gmk, lines 51-55 should probably be removed 
>>> (or adjusted if linking to libjvm is actually needed).
>> the lines were updated to define 
>> BUILD_LIBTEST_JTREG_EXECUTABLES_LIBS_exejvm-test-launcher
>>
>>



More information about the core-libs-dev mailing list