RFR(T) : 8243945 : use driver mode in runtime tests
igor.ignatyev at oracle.com
Wed Apr 29 23:10:04 UTC 2020
I've added -XX:+EnableThreadSMRStatistics in both NestedThreadsListHandleInErrorHandlingTest and ThreadsListHandleInErrorHandlingTest, and -Xverify:all in CondyNewInvokeSpecialTest: http://cr.openjdk.java.net/~iignatyev//8243945/webrev.0-1/
the tests are still passing.
> On Apr 29, 2020, at 2:56 PM, Daniel D. Daugherty <daniel.daugherty at oracle.com> wrote:
> On 4/29/20 5:49 PM, Igor Ignatyev wrote:
>> Hi Gerard,
>>> On Apr 29, 2020, at 1:56 PM, gerard ziemski <gerard.ziemski at oracle.com> wrote:
>>> hi Igor,
>>> Looks good, thank you for cleaning so many files!
>> thanks for reviewing them ;)
>>> On 4/29/20 2:19 PM, Igor Ignatyev wrote:
>>>>> 143 lines changed: 46 ins; 0 del; 97 mod;
>>>> Hi all,
>>>> could you please review the trivial patch which updates 109 runtime tests to use driver mode?
>>>> in most cases, the changes are as straightforward as 's/main/driver/', other changes are:
>>>> - runtime/InvocationTests tests throw an exception instead of calling System.exit
>>>> - runtime/condy/CondyLDCTest.java passes "-Xverify:all", although the test didn't do that before, it seems it was intended, in any case it won't cause any harm
>>>> - in runtime/records/ignoreRecordAttribute.java, indent of jtreg test description block was fixed.
>>>> webrev: http://cr.openjdk.java.net/~iignatyev//8243945/webrev.00
>>>> (for the sake of reviewers, copyright year changes are omitted, the final patch changes years in )
>>>> JBS: https://bugs.openjdk.java.net/browse/JDK-8243945
>>>> testing: test/hotspot/jtreg/runtime
>>> How did you determine which tests need to be updated to use driver mode? Can there be more?
>> this clean (as well as a few other) is a side effect of me working on JDK-8151707 where I used instrumented build of JDK to find tests which don't pass JVM flags to child processes, as I was mostly interested in a subset of all tests which fork processes, there can be other which can/should use driver mode.
>>> In "ProtectionDomainCacheTest" we used to have extra arguments, i.e. "policy=test.policy -Djava.security.manager ProtectionDomainCacheTest", but now we don't?
>> right, ProtectionDomainCacheTest itself didn't need security manager being setup, it's needed for JVM which runs ProtectionDomainCacheTest$Test and L#99 and L#105 add these flags.
>>> In "NestedThreadsListHandleInErrorHandlingTest" we used to have "-XX:+UnlockDiagnosticVMOptions -XX:+EnableThreadSMRStatistics", but now we don't?
>>> In "ThreadsListHandleInErrorHandlingTest" we used to have "-XX:+UnlockDiagnosticVMOptions -XX:+EnableThreadSMRStatistics", but now we don't?
>> in both cases, we didn't have these flags in JVM which was doing actual testing, and I doubt EnableThreadSMRStatistics from the JVM which just creates a process and waits for it to finish is helpful. I can add -XX:+EnableThreadSMRStatistics to the child JVM if you think it can be helpful.
> Yes, please add those options to the child JVM.
>>> In "CondyNewInvokeSpecialTest" we used to have "-Xverify:all", but now we don't?
>> kinda the same as w/ CondyLDCTest.java, not sure why I missed this one. I'll add -Xverify:all to the child JVM.
>>> In "ignoreRecordAttribute" we used to have "--enable-preview", but now we don't?
>> ignoreRecordAttribute doesn't load any classes which use preview features, and all child processes have --enable-preview (L#39 and L#45)
More information about the hotspot-runtime-dev