8327993: [8u] Unify test libraries into single test library - step 2#467
8327993: [8u] Unify test libraries into single test library - step 2#467zzambers wants to merge 1 commit intoopenjdk:masterfrom
Conversation
|
👋 Welcome back zzambers! A progress list of the required criteria for merging this PR into |
|
Test failures in |
|
❗ This change is not yet ready to be integrated. |
|
AKISerialNumber.java fix has been merged. |
|
@zzambers This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
|
@zzambers This pull request has been inactive for more than 8 weeks and will now be automatically closed. If you would like to continue working on this pull request in the future, feel free to reopen it! This can be done using the |
|
/open |
3 similar comments
|
/open |
|
/open |
|
/open |
|
@zzambers This pull request is now open |
|
@zzambers this pull request can not be integrated into git checkout jtreg-lib-step2
git fetch https://git.openjdk.org/jdk8u-dev.git master
git merge FETCH_HEAD
# resolve conflicts and follow the instructions given by git merge
git commit -m "Merge master"
git push |
|
@zzambers This pull request is already open |
|
@zzambers This pull request is already open |
|
@zzambers This pull request is already open |
9c54bf9 to
4d86add
Compare
|
@zzambers Please do not rebase or force-push to an active PR as it invalidates existing review comments. Note for future reference, the bots always squash all changes into a single commit automatically as part of the integration. See OpenJDK Developers’ Guide for more information. |
|
Sorry for the noise, I have just discovered, that I cannot force push into branch of closed PR, otherwise it cannot be reopened. See: https://bugs.openjdk.org/browse/SKARA-2700 |
|
I have rebased changes to current master and done some minor (necessary) fixes. |
This is second step in the effort to unify duplicate test libraries in jdk8 into single shared test library (as in newer jdks). Motivation is to remove code duplication and make backporting simpler. It only affects tests. More details in step 1.
This changeset eliminates duplicate test lib in hotspot (
hotspot/test/testlibrary) by unifying it with shared test library (test/lib). Hotspot tests have been updated to use (unified) shared test library.DETAILS:
Unification of test libraries was done on per file basis, comparing (diff) classes from both libraries and deciding on approach used. (Generally, files in shared test lib (originally coming from jfr backport) are more updated. However there were some compatibility problems with jdk8 in some places.)
Legend:
testlib packageless (test/lib)
ClassFileInstaller.java- kept (same)RedefineClassHelper.java- used updated one from hs test lib (was missing in shared lib)testlib general (test/lib/jdk/test/lib)
Asserts.java- kept (superset)BuildHelper.java- kept (same)ByteCodeLoader.java- kept (superset)JDKToolFinder.java- kept (same)JDKToolLauncher.java- kept, with reverted changes from JDK-8178415 to match one from hs test lib (otherwise no real differences)Platform.java- kept shared version (superset), with some fixes. Updated debug build detection code as jdk8 does not havejdk.debugsystem property. RemovedareCustomLoadersSupportedForCDSas this is only useful for appcds tests (not in jdk8)Utils.java- kept, added missinggetUnsafe()method, required by hotspot teststestlib cli (test/lib/jdk/test/lib/cli)
testlib compiler (test/lib/jdk/test/lib/compiler)
InMemoryJavaCompiler.java- used updated one from hs test lib (was missing in shared test lib)testlib conainer (test/lib/jdk/test/lib/container)
Common.java- kept (same)DockerfileConfig.java- kept (same)DockerRunOptions.java- kept, added missing changes from JDK-8229182DockerTestUtils.java- kept, added missing changes from JDK-8229182testlib management (test/lib/jdk/test/lib/management)
DynamicVMOption.java- kept (same)testlib process (test/lib/jdk/test/lib/process)
ExitCode.java- kept (same)OutputAnalyzer.java- kept (superset)OutputBuffer.java- kept (same)ProcessTools.java- kept, with added getPlatformSpecificVMArgs (effectively reverted changes from JDK-8178415), updated getProcessId (better to throw on error, kept it returning long (as on newer jdks)), removed pid() method from ProcessImpl (not necessary, Process in jdk8 does not have pid method)StreamPumper.java- kept (superset)whitebox (test/lib/sun/hotspot)
Whitebox.java- went through differences, removed functions not implemented in hotspot from shared lib. (Also fixed few calls in shared lib, wrongly expecting changes from JDK-8171008 in jdk8). Result is close to one from hs testlibrary, some wrapper functions around low level functions kept (used in code).Nmethod.java- used updated file from hs test lib, lack of hotspot support (shared lib version expectedwb.getNMethodto return data in new format - not in jdk8)CodeBlob.java- kept, removed getCodeBlobs method (jdk8 hotspot lacks support for WB.getCodeHeapEntries)CPUInfo.java- kept (same)DiagnosticCommand.java- used updated file from hs test lib (jdk8u is missing changes by JDK-8065783 expected by shared lib version)GC.java- removed - unused and (hotspot) support for this is missing in jdk8 (see JDK-8154096)testlibrary other
PerfCounter.java- moved/updated tohotspot/test/gc/testlibrarycorresponding to newer jdksPerfCounters.java- moved/updated tohotspot/test/gc/testlibraryas in newer jdksInputArguments.java- moved/updated tohotspot/test/gc/metaspaceas in newer jdks (see changes by JDK-8157957)ctw (compile the world,
hotspot/test/testlibrary/ctw)tests
@librarytags were fixed, as necessaryProcessTools.getProcessId()now returns long (not int). Similar to test modifications done by JDK-8153992 (backport not possible due to ProcessHandle unavailable on jdk8)hotspot/test/testlibrary_tests/TestMutuallyExclusivePlatformPredicates.javawas updated, as necessary, to work with Platform class from shared test libProgress
Issue
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk8u-dev.git pull/467/head:pull/467$ git checkout pull/467Update a local copy of the PR:
$ git checkout pull/467$ git pull https://git.openjdk.org/jdk8u-dev.git pull/467/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 467View PR using the GUI difftool:
$ git pr show -t 467Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk8u-dev/pull/467.diff
Using Webrev
Link to Webrev Comment