Name of the test doesn't look good (it's too general).
Maybe SuspendWithCurrentThread?


72 throw new RuntimeException("Man: unable to prepare tested thread: " + threads[i]);

Do you mean "Main" (instead of "Man")?


In "run" method you don't actually need "boolean success"

109             success = checkSuspendedStatus(threads);
 110             if (!success) {
111 throw new RuntimeException("Main: FAILED status returned from checkTestedThreadsSuspended");
 112             }

==>
             if (!checkSuspendedStatus(threads)) {
                 throw new RuntimeException(...);
             }

 115             success = resumeTestedThreads();
 116             if (!success) {
117 throw new RuntimeException("Main: FAILED status returned from resumeTestedThreads");
 118             }

==>

             if (!resumeTestedThreads()) {
                 throw new RuntimeException(...);
             }


Looks like all native methods (except checkTestedThreadsSuspended) can return only JNI_TRUE (on error they call jni->FatalError)
So they can be void (and don't need to test returned value)

--alex

On 09/27/2019 18:25, serguei.spit...@oracle.com wrote:
Please, review fix for test enhancement:
   https://bugs.openjdk.java.net/browse/JDK-8231595

Webrev:
http://cr.openjdk.java.net/~sspitsyn/webrevs/2019/8231595-jvmti-susp-tlist.1/

Summary:
   New test is a coverage for the JVMTI bug:
     https://bugs.openjdk.java.net/browse/JDK-8217762
      SuspendThreadList won't work correctly if the current thread is not last in the list

   It provides a prove the bug JDK-8217762 does not exist
   as the test is passed with the current implementation.

Thanks,
Serguei

Reply via email to