diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/allInterfaces/allinterfaces001.java b/test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/allInterfaces/allinterfaces001.java index 8ecef8ec440..e0f59a1fb0f 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/allInterfaces/allinterfaces001.java +++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/allInterfaces/allinterfaces001.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -172,7 +172,7 @@ private int runThis (String argv[], PrintStream out) { switch (i2) { - case 0: // Class0ForCheck - 0 interfaces + case 0: // Class0ForCheck - 1 injected interface (java.lang.IdentityObject) List list0 = vm.classesByName(mName + ".Class0ForCheck"); @@ -181,15 +181,15 @@ private int runThis (String argv[], PrintStream out) { List iface0list = ((ClassType) classRefType).allInterfaces(); - if (iface0list.size() != 0) { - log3("ERROR : iface0list.size() != 0 in case: Class0ForCheck"); + if (iface0list.size() != 1) { + log3("ERROR : iface0list.size() != 1 in case: Class0ForCheck"); expresult = 1; break; } break ; - case 1: // Class1forCheck - 1 direct and 1 indirect interfaces + case 1: // Class1forCheck - 1 direct, 1 indirect, and 1 injected (java.lang.IdentityObject) interfaces List list1 = vm.classesByName(mName + ".Class1ForCheck"); @@ -198,8 +198,8 @@ private int runThis (String argv[], PrintStream out) { List iface1list = ((ClassType) classRefType).allInterfaces(); - if (iface1list.size() != 2) { - log3("ERROR : iface1list.size() != 2 in case: Class1forCheck :" + iface1list.size()); + if (iface1list.size() != 3) { + log3("ERROR : iface1list.size() != 3 in case: Class1forCheck :" + iface1list.size()); expresult = 1; break; } @@ -208,7 +208,7 @@ private int runThis (String argv[], PrintStream out) { name = reftype.name(); if (!name.equals(mName + ".Iface1")) { if (!name.equals(mName + ".Iface2")) { - log3("ERROR : name1: !name.equals('.Iface1' or '.Iface2') in Class1forCheck"); + log3("ERROR : name1: !name.equals('.Iface1' or '.Iface2') in Class1forCheck, name: " + name); expresult = 1; break; } @@ -217,14 +217,16 @@ private int runThis (String argv[], PrintStream out) { name = reftype.name(); if (!name.equals(mName + ".Iface1")) { if (!name.equals(mName + ".Iface2")) { - log3("ERROR :name2: !name.equals('.Iface1' or '.Iface2') in Class1forCheck"); - expresult = 1; - break; + if (!name.equals("java.lang.IdentityObject")) { + log3("ERROR :name2: !name.equals('.Iface1' or '.Iface2 or 'java.lang.IdentityObject') in Class1forCheck, name: " + name); + expresult = 1; + break; + } } } break; - case 2: // Class2ForCheck - 1 direct and 2 indirect interfaces + case 2: // Class2ForCheck - 1 direct, 2 indirect, and 1 injected (java.lang.IdentityObject) interfaces List list2 = vm.classesByName(mName + ".Class2ForCheck"); @@ -233,8 +235,8 @@ private int runThis (String argv[], PrintStream out) { List iface2list = ((ClassType) classRefType).allInterfaces(); - if (iface2list.size() != 3) { - log3("ERROR : iface2list.size() != 3 in case: Class2forCheck"); + if (iface2list.size() != 4) { + log3("ERROR : iface2list.size() != 4 in case: Class2forCheck"); expresult = 1; break; } @@ -244,7 +246,7 @@ private int runThis (String argv[], PrintStream out) { if (!name.equals(mName + ".Iface1")) { if (!name.equals(mName + ".Iface2")) { if (!name.equals(mName + ".Iface3")) { - log3("ERROR : name1: !name.equals('.Iface1' or '.Iface3' or 'Iface3) in Class2forCheck"); + log3("ERROR : name1: !name.equals('.Iface1' or '.Iface2' or 'Iface3) in Class2forCheck, name: " + name); expresult = 1; break; } @@ -255,9 +257,11 @@ private int runThis (String argv[], PrintStream out) { if (!name.equals(mName + ".Iface1")) { if (!name.equals(mName + ".Iface2")) { if (!name.equals(mName + ".Iface3")) { - log3("ERROR : name1: !name.equals('.Iface1' or '.Iface3' or 'Iface3) in Class2forCheck"); - expresult = 1; - break; + if (!name.equals("java.lang.IdentityObject")) { + log3("ERROR : name1: !name.equals('.Iface1' or '.Iface2' or 'Iface3' or 'java.lang.IdentityObject') in Class2forCheck, name: " + name); + expresult = 1; + break; + } } } } @@ -266,7 +270,7 @@ private int runThis (String argv[], PrintStream out) { if (!name.equals(mName + ".Iface1")) { if (!name.equals(mName + ".Iface2")) { if (!name.equals(mName + ".Iface3")) { - log3("ERROR : name1: !name.equals('.Iface1' or '.Iface3' or 'Iface3) in Class2forCheck"); + log3("ERROR : name1: !name.equals('.Iface1' or '.Iface3' or 'Iface3) in Class2forCheck, name: " + name); expresult = 1; break; } @@ -274,7 +278,7 @@ private int runThis (String argv[], PrintStream out) { } break; - case 3: // Class3ForCheck - 1 direct and 2 indirect interfaces + case 3: // Class3ForCheck - 1 direct, 2 indirect, and 1 injected (java.lang.IdentityObject) interfaces List list3 = vm.classesByName(mName + ".Class3ForCheck"); @@ -283,8 +287,8 @@ private int runThis (String argv[], PrintStream out) { List iface3list = ((ClassType) classRefType).allInterfaces(); - if (iface3list.size() != 3) { - log3("ERROR : iface3list.size() != 3 in case: Class3forCheck"); + if (iface3list.size() != 4) { + log3("ERROR : iface3list.size() != 4 in case: Class3forCheck"); expresult = 1; break; } @@ -294,7 +298,7 @@ private int runThis (String argv[], PrintStream out) { if (!name.equals(mName + ".Iface1")) { if (!name.equals(mName + ".Iface2")) { if (!name.equals(mName + ".Iface3")) { - log3("ERROR : name1: !name.equals('.Iface1' or '.Iface3' or 'Iface3) in Class3forCheck"); + log3("ERROR : name1: !name.equals('.Iface1' or '.Iface2' or 'Iface3) in Class3forCheck, name: " + name); expresult = 1; break; } @@ -305,9 +309,11 @@ private int runThis (String argv[], PrintStream out) { if (!name.equals(mName + ".Iface1")) { if (!name.equals(mName + ".Iface2")) { if (!name.equals(mName + ".Iface3")) { - log3("ERROR : name1: !name.equals('.Iface1' or '.Iface3' or 'Iface3) in Class3forCheck"); - expresult = 1; - break; + if (!name.equals("java.lang.IdentityObject")) { + log3("ERROR : name1: !name.equals('.Iface1' or '.Iface3' or 'Iface3' or 'java.lang.IdentityObject') in Class3forCheck, name: " + name); + expresult = 1; + break; + } } } } @@ -316,7 +322,7 @@ private int runThis (String argv[], PrintStream out) { if (!name.equals(mName + ".Iface1")) { if (!name.equals(mName + ".Iface2")) { if (!name.equals(mName + ".Iface3")) { - log3("ERROR : name1: !name.equals('.Iface1' or '.Iface3' or 'Iface3) in Class3forCheck"); + log3("ERROR : name1: !name.equals('.Iface1' or '.Iface2' or 'Iface3) in Class3forCheck, name: " + name); expresult = 1; break; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/interfaces/interfaces001.java b/test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/interfaces/interfaces001.java index 429556ceffe..342b5c91f1f 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/interfaces/interfaces001.java +++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/interfaces/interfaces001.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -167,7 +167,7 @@ private int runThis (String argv[], PrintStream out) { switch (i2) { - case 0: // Class0ForCheck - 0 interfaces + case 0: // Class0ForCheck - 1 interface (injected java.lang.IdentityObject) List list0 = vm.classesByName(mName + ".Class0ForCheck"); @@ -176,15 +176,15 @@ private int runThis (String argv[], PrintStream out) { List iface0list = ((ClassType) classRefType).interfaces(); - if (iface0list.size() != 0) { - log3("ERROR : iface0list.size() != 0 in case: Class0ForCheck"); + if (iface0list.size() != 1) { + log3("ERROR : iface0list.size() != 1 in case: Class0ForCheck"); expresult = 1; break; } break; - case 1: // Class1forCheck - 1 interface + case 1: // Class1forCheck - 2 interfaces (includes injected java.lang.IdentityObject) List list1 = vm.classesByName(mName + ".Class1ForCheck"); @@ -193,8 +193,8 @@ private int runThis (String argv[], PrintStream out) { List iface1list = ((ClassType) classRefType).interfaces(); - if (iface1list.size() != 1) { - log3("ERROR : iface1list.size() != 1 in case: Class1forCheck"); + if (iface1list.size() != 2) { + log3("ERROR : iface1list.size() != 2 in case: Class1forCheck"); expresult = 1; break; } @@ -209,7 +209,7 @@ private int runThis (String argv[], PrintStream out) { break; - case 2: // Class2ForCheck - 2 interfaces + case 2: // Class2ForCheck - 3 interfaces (includes injected java.lang.IdentityObject) List list2 = vm.classesByName(mName + ".Class2ForCheck"); @@ -218,8 +218,8 @@ private int runThis (String argv[], PrintStream out) { List iface2list = ((ClassType) classRefType).interfaces(); - if (iface2list.size() != 2) { - log3("ERROR : iface1list.size() != 2 in case: Class2forCheck"); + if (iface2list.size() != 3) { + log3("ERROR : iface1list.size() != 3 in case: Class2forCheck"); expresult = 1; break; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jdi/InterfaceType/implementors/implementors001.java b/test/hotspot/jtreg/vmTestbase/nsk/jdi/InterfaceType/implementors/implementors001.java index 48b68dcaebb..52a201b72b6 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/InterfaceType/implementors/implementors001.java +++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/InterfaceType/implementors/implementors001.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -178,8 +178,8 @@ private int runThis (String argv[], PrintStream out) { List iface0list = ((ClassType) classRefType).interfaces(); - if (iface0list.size() != 1) { - log3("ERROR : iface0list.size() != 1 in case: Iface1"); + if (iface0list.size() != 2) { // includes injected java.lang.IdentityObject + log3("ERROR : iface0list.size() != 2 in case: Iface1"); expresult = 1; break; } @@ -222,8 +222,8 @@ private int runThis (String argv[], PrintStream out) { List iface1list = ((ClassType) classRefType).interfaces(); - if (iface1list.size() != 1) { - log3("ERROR : iface1list.size() != 1 in case: Iface2"); + if (iface1list.size() != 2) { + log3("ERROR : iface1list.size() != 2 in case: Iface2"); expresult = 1; break; } @@ -255,8 +255,8 @@ private int runThis (String argv[], PrintStream out) { List iface3list = ((ClassType) classRefType).interfaces(); - if (iface3list.size() != 1) { - log3("ERROR : iface3list.size() != 1 in case: Iface3"); + if (iface3list.size() != 2) { // includes injected java.lang.IdentityObject + log3("ERROR : iface3list.size() != 2 in case: Iface3"); expresult = 1; break; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jdi/InterfaceType/subinterfaces/subinterfaces001.java b/test/hotspot/jtreg/vmTestbase/nsk/jdi/InterfaceType/subinterfaces/subinterfaces001.java index cffdfa5e770..c55f53f7fe0 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/InterfaceType/subinterfaces/subinterfaces001.java +++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/InterfaceType/subinterfaces/subinterfaces001.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -177,8 +177,8 @@ private int runThis (String argv[], PrintStream out) { List iface0list = ((ClassType) classRefType).interfaces(); - if (iface0list.size() != 1) { - log3("ERROR : iface0list.size() != 1 in case: Iface3"); + if (iface0list.size() != 2) { // includes injected java.lang.IdentityObject + log3("ERROR : iface0list.size() != 2 in case: Iface3"); expresult = 1; break; } @@ -201,8 +201,8 @@ private int runThis (String argv[], PrintStream out) { List iface1list = ((ClassType) classRefType).interfaces(); - if (iface1list.size() != 1) { - log3("ERROR : iface1list.size() != 1 in case: Iface2"); + if (iface1list.size() != 2) { // includes injected java.lang.IdentityObject + log3("ERROR : iface1list.size() != 2 in case: Iface2"); expresult = 1; break; } @@ -234,8 +234,8 @@ private int runThis (String argv[], PrintStream out) { List iface3list = ((ClassType) classRefType).interfaces(); - if (iface3list.size() != 1) { - log3("ERROR : iface3list.size() != 1 in case: Iface1"); + if (iface3list.size() != 2) { // includes injected java.lang.IdentityObject + log3("ERROR : iface3list.size() != 2 in case: Iface1"); expresult = 1; break; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jdi/InterfaceType/superinterfaces/superinterfaces001.java b/test/hotspot/jtreg/vmTestbase/nsk/jdi/InterfaceType/superinterfaces/superinterfaces001.java index 7dd567db76d..71b7054dbff 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jdi/InterfaceType/superinterfaces/superinterfaces001.java +++ b/test/hotspot/jtreg/vmTestbase/nsk/jdi/InterfaceType/superinterfaces/superinterfaces001.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -180,8 +180,8 @@ private int runThis (String argv[], PrintStream out) { List iface0list = ((ClassType) classRefType).interfaces(); - if (iface0list.size() != 1) { - log3("ERROR : iface0list.size() != 1 in case: Iface1"); + if (iface0list.size() != 2) { // includes injected java.lang.IdentityObject + log3("ERROR : iface0list.size() != 2 in case: Iface1"); expresult = 1; break; } @@ -204,8 +204,8 @@ private int runThis (String argv[], PrintStream out) { List iface1list = ((ClassType) classRefType).interfaces(); - if (iface1list.size() != 1) { - log3("ERROR : iface1list.size() != 1 in case: Iface2"); + if (iface1list.size() != 2) { // includes injected java.lang.IdentityObject + log3("ERROR : iface1list.size() != 2 in case: Iface2"); expresult = 1; break; } @@ -237,8 +237,8 @@ private int runThis (String argv[], PrintStream out) { List iface3list = ((ClassType) classRefType).interfaces(); - if (iface3list.size() != 1) { - log3("ERROR : iface3list.size() != 1 in case: Iface3"); + if (iface3list.size() != 2) { // includes injected java.lang.IdentityObject + log3("ERROR : iface3list.size() != 2 in case: Iface3"); expresult = 1; break; } @@ -262,8 +262,8 @@ private int runThis (String argv[], PrintStream out) { List iface4list = ((ClassType) classRefType).interfaces(); - if (iface4list.size() != 1) { - log3("ERROR : iface4list.size() != 1 in case: Iface4"); + if (iface4list.size() != 2) { // includes injected java.lang.IdentityObject + log3("ERROR : iface4list.size() != 2 in case: Iface4"); expresult = 1; break; } diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jdwp/ReferenceType/Interfaces/interfaces001.java b/test/hotspot/jtreg/vmTestbase/nsk/jdwp/ReferenceType/Interfaces/interfaces001.java index 6621302ce91..d0690e4c429 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jdwp/ReferenceType/Interfaces/interfaces001.java +++ b/test/hotspot/jtreg/vmTestbase/nsk/jdwp/ReferenceType/Interfaces/interfaces001.java @@ -46,7 +46,8 @@ public class interfaces001 { static final String class_interfaces [][] = { { DEBUGEE_CLASS_NAME + "$" + "TestedClassInterface1", "" }, - { DEBUGEE_CLASS_NAME + "$" + "TestedClassInterface2", "" } + { DEBUGEE_CLASS_NAME + "$" + "TestedClassInterface2", "" }, + { "java.lang.IdentityObject", ""} }; static final int DECLARED_INTERFACES = class_interfaces.length; static final long interfaceIDs[] = new long[DECLARED_INTERFACES]; diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassPrepare/classprep001/classprep001.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassPrepare/classprep001/classprep001.cpp index 05b8f725ad6..1ba9050225b 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassPrepare/classprep001/classprep001.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassPrepare/classprep001/classprep001.cpp @@ -60,7 +60,7 @@ static size_t eventsCount = 0; static size_t eventsExpected = 0; static class_info classes[] = { { "Lnsk/jvmti/ClassPrepare/classprep001$TestInterface;", EXP_STATUS, 2, 1, 0 }, - { "Lnsk/jvmti/ClassPrepare/classprep001$TestClass;", EXP_STATUS, 3, 2, 1 } + { "Lnsk/jvmti/ClassPrepare/classprep001$TestClass;", EXP_STATUS, 3, 2, 2 } }; void printStatus(jint status) { diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetImplementedInterfaces/getintrf007/getintrf007.cpp b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetImplementedInterfaces/getintrf007/getintrf007.cpp index da6fb2acbc4..2a6845a993d 100644 --- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetImplementedInterfaces/getintrf007/getintrf007.cpp +++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/GetImplementedInterfaces/getintrf007/getintrf007.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -67,15 +67,19 @@ static iface_info i9[] = { { "Lnsk/jvmti/GetImplementedInterfaces/OuterInterface2;" } }; +static iface_info jlio[] = { + { "Ljava/lang/IdentityObject;" } +}; + static class_info classes[] = { - { "InnerClass1", 0, NULL }, + { "InnerClass1", 1, jlio }, { "InnerInterface1", 0, NULL }, { "InnerInterface2", 1, i2 }, - { "InnerClass2", 1, i3 }, - { "OuterClass1", 0, NULL }, + { "InnerClass2", 2, i3 }, + { "OuterClass1", 1, jlio }, { "OuterClass2", 0, NULL }, { "OuterInterface1", 0, NULL }, - { "OuterClass3", 1, i7 }, + { "OuterClass3", 2, i7 }, { "OuterInterface2", 1, i8 }, { "OuterClass4", 1, i9 }, { "OuterClass5", 0, NULL } @@ -155,9 +159,11 @@ Java_nsk_jvmti_GetImplementedInterfaces_getintrf007_check(JNIEnv *env, jclass cl } if ((j < classes[i].icount) && (sig == NULL || strcmp(sig, classes[i].ifaces[j].sig) != 0)) { - printf("(%d:%d) wrong interface: \"%s\"", i, j, sig); - printf(", expected: \"%s\"\n", classes[i].ifaces[j].sig); - result = STATUS_FAILED; + if (strcmp(sig, "Ljava/lang/IdentityObject;") != 0) { + printf("(%d:%d) wrong interface: \"%s\"", i, j, sig); + printf(", expected: \"%s\"\n", classes[i].ifaces[j].sig); + result = STATUS_FAILED; + } } } }