RFR: 8150758: [TESTBUG] need jvmti tests for module aware agents

Dmitry Dmitriev dmitry.dmitriev at oracle.com
Tue Sep 20 10:17:26 UTC 2016


Serguei, Dmitry,

Thank you for the feedback! Here is an updated webrev.01; 
http://cr.openjdk.java.net/~ddmitriev/8150758/webrev.01/ 
<http://cr.openjdk.java.net/%7Eddmitriev/8150758/webrev.01/>

Dmitry

On 20.09.2016 12:48, Dmitry Samersoff wrote:
> Dmitry,
>
> Please, also change
>
> !strcmp(...) to strcmp(...) == 0
>
> because semantically strcmp result is not a boolean false.
>
> -Dmitry
>
> On 2016-09-20 06:38, serguei.spitsyn at oracle.com wrote:
>> Hi Dmitry,
>>
>>
>> Thanks a lot for this additional test coverage and discovering new bug:
>>    https://bugs.openjdk.java.net/browse/JDK-8165681
>>
>> The tests look pretty good to me.
>>
>> A couple of minor comments.
>>
>> Dots are missed in the .c files comments.
>>
>>
>> http://cr.openjdk.java.net/~ddmitriev/8150758/webrev.00/test/serviceability/jvmti
>>
>>
>>
>>   265         printf("Expecting to find '%s' class in ClassLoad events
>> duringVM start phase.\n", EXPECTED_SIGNATURE);
>>   266         if (class_in_class_load_events_vm_start == JNI_FALSE) {
>>   267             throw_exc(env, "Unable to find expected class in
>> ClassLoad events duringstart phase!\n");
>>   268             return FAILED;
>>   269         }
>>   270
>>   271         if (class_prepare_events_vm_start_count == 0) {
>>   272             throw_exc(env, "Didn't get ClassPrepare events in start
>> phase!\n");
>>   273             return FAILED;
>>   274         }
>>   275
>>   276         printf("Expecting to find '%s' class in ClassPrepare events
>> duringVM start phase.\n", EXPECTED_SIGNATURE);
>>   277         if (class_in_class_prepare_events_vm_start == JNI_FALSE) {
>>   278             throw_exc(env, "Unable to find expected class in
>> ClassPrepare events duringstart phase!\n");
>>   279             return FAILED;
>>   280         }
>>
>>
>>     Could you, please, replace "start phase" with "early start phase"?
>> It will be more clear that the start phase mode is "early".
>>
>>   288         if (class_in_class_prepare_events_vm_start == JNI_TRUE) {
>>   289             throw_exc(env, "Class is found in ClassLoad events
>> duringVM Start phase!\n");
>>   290             return FAILED;
>>   291         }
>>   292
>>   293         printf("Expecting that '%s' class is absent in ClassPrepare
>> events.\n", EXPECTED_SIGNATURE);
>>   294         if (class_in_class_prepare_events_vm_start == JNI_TRUE) {
>>   295             throw_exc(env, "Class is found in ClassPrepare events
>> duringVM Start phase!\n");
>>   296             return FAILED;
>>   297         }
>>
>>     Could you, please, replace "VM Start phase" with "normal VM start
>> phase"?    It will be more clear that the start phase mode is "normal".
>> Thanks, Serguei On 9/19/16 05:47, Dmitry Dmitriev wrote:
>>> Hello, Please review new tests for module aware agents. There are 3
>>> tests: 1) MAAClassFileLoadHook.java - verifies ClassFileLoadHook event
>>> with different combinations of can_generate_early_vmstart and
>>> can_generate_early_class_hook_events JVMTI capabilities. Expects to
>>> find(or not) class from java.base module in the right VM phase. 2)
>>> MAAClassLoadPrepare.java - verifies ClassLoad and ClassPrepare events
>>> with and without can_generate_early_vmstart JVMTI capability. Expects
>>> to find(or not) class from java.base module in the VM start phase. 3)
>>> MAAThreadStart.java - verifies ThreadStart event with
>>> can_generate_early_vmstart JVMTI capability. Expect to find events in
>>> the VM start phase. JBS:
>>> https://bugs.openjdk.java.net/browse/JDK-8150758 webrev.00:
>>> http://cr.openjdk.java.net/~ddmitriev/8150758/webrev.00/
>>> <http://cr.openjdk.java.net/%7Eddmitriev/8150758/webrev.00/> Testing:
>>> RBT on all platforms Thanks, Dmitry
>



More information about the serviceability-dev mailing list