Test vmTestbase/nsk/jvmti/Breakpoint/breakpoint001 has incorrect check of strcmp results here:
for (i=0; i<METH_NUM; i++)
if (strcmp(methNam,METHODS[i][0]) &&
strcmp(methSig,METHODS[i][1])) {
printf("CHECK PASSED: method name: \"%s\"\tsignature: \"%s\" %d\n",
methNam, methSig, i);
if (checkStatus == PASSED)
bpEvents[i]++;
break;
}
So test passed when both strcmp (name,sig) are not zero.
The test passes only because there are 2 methods are checked and it increases counters for "incorrect" methods.
for (i=0; i<METH_NUM; i++)
if (strcmp(methNam,METHODS[i][0]) &&
strcmp(methSig,METHODS[i][1])) {
printf("CHECK PASSED: method name: \"%s\"\tsignature: \"%s\" %d\n",
methNam, methSig, i);
if (checkStatus == PASSED)
bpEvents[i]++;
break;
}
So test passed when both strcmp (name,sig) are not zero.
The test passes only because there are 2 methods are checked and it increases counters for "incorrect" methods.