< prev index next >

test/hotspot/jtreg/vmTestbase/nsk/jvmti/AddCapabilities/addcaps003/addcaps003.cpp

Print this page
rev 51942 : [mq]: refactor


  40 static jvmtiEvent events[EVENTS_COUNT] = {
  41     JVMTI_EVENT_VM_INIT,
  42     JVMTI_EVENT_VM_DEATH
  43 };
  44 
  45 static jvmtiCapabilities initCaps;
  46 
  47 /* ============================================================================= */
  48 
  49 /**
  50  * Get and check current capabilities.
  51  * @returns NSK_FALSE if any error occured.
  52  */
  53 static int checkCapabilities(jvmtiEnv* jvmti, jvmtiCapabilities* initCaps, const char where[]) {
  54     int success = NSK_TRUE;
  55     jvmtiCapabilities caps;
  56 
  57     memset(&caps, 0, sizeof(jvmtiCapabilities));
  58 
  59     NSK_DISPLAY0("GetCapabilities() for current JVMTI env\n");
  60     if (!NSK_JVMTI_VERIFY(
  61             NSK_CPP_STUB2(GetCapabilities, jvmti, &caps))) {
  62         return NSK_FALSE;
  63     }
  64 
  65     return success;
  66 }
  67 
  68 /**
  69  * Add given capabilities list.
  70  * @returns NSK_FALSE if any error occured.
  71  */
  72 static int addCapabilities(jvmtiEnv* jvmti, jvmtiCapabilities* caps, const char where[]) {
  73     NSK_DISPLAY0("AddCapabilities() for current JVMTI env\n");
  74     if (!NSK_JVMTI_VERIFY(
  75             NSK_CPP_STUB2(AddCapabilities, jvmti, caps))) {
  76         return NSK_FALSE;
  77     }
  78     NSK_DISPLAY0("  ... set\n");
  79 
  80     return NSK_TRUE;
  81 }
  82 
  83 /**
  84  * Get potential capabilities to the given list.
  85  * @returns NSK_FALSE if any error occured.
  86  */
  87 static int getPotentialCapabilities(jvmtiEnv* jvmti, jvmtiCapabilities* caps) {
  88     NSK_DISPLAY0("GetPotentialCapabilities() for current JVMTI env\n");
  89     if (!NSK_JVMTI_VERIFY(
  90             NSK_CPP_STUB2(GetPotentialCapabilities, jvmti, caps))) {
  91         return NSK_FALSE;
  92     }
  93 
  94     return NSK_TRUE;
  95 }
  96 
  97 /* ============================================================================= */
  98 
  99 /** Agent algorithm. */
 100 static void JNICALL
 101 agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) {
 102     NSK_DISPLAY0("Wait for debugee to become ready\n");
 103     if (!nsk_jvmti_waitForSync(timeout))
 104         return;
 105 
 106     NSK_DISPLAY0(">>> Testcase #3: Check capabilities in agent thread\n");
 107     if (!checkCapabilities(jvmti, &initCaps, "agent thread")) {
 108         nsk_jvmti_setFailStatus();
 109     }
 110 


 166 }
 167 #endif
 168 jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) {
 169     jvmtiEnv* jvmti = NULL;
 170 
 171     if (!NSK_VERIFY(nsk_jvmti_parseOptions(options)))
 172         return JNI_ERR;
 173 
 174     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 175 
 176     if (!NSK_VERIFY((jvmti =
 177             nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
 178         return JNI_ERR;
 179 
 180     {
 181         jvmtiEventCallbacks eventCallbacks;
 182 
 183         memset(&eventCallbacks, 0, sizeof(eventCallbacks));
 184         eventCallbacks.VMInit = callbackVMInit;
 185         eventCallbacks.VMDeath = callbackVMDeath;
 186         if (!NSK_JVMTI_VERIFY(
 187                 NSK_CPP_STUB3(SetEventCallbacks, jvmti,
 188                                     &eventCallbacks, sizeof(eventCallbacks)))) {
 189             return JNI_ERR;
 190         }
 191 
 192     }
 193 
 194     if (!NSK_VERIFY(nsk_jvmti_setAgentProc(agentProc, NULL)))
 195         return JNI_ERR;
 196 
 197     memset(&initCaps, 0, sizeof(jvmtiCapabilities));
 198     if (!getPotentialCapabilities(jvmti, &initCaps)) {
 199         return JNI_ERR;
 200     }
 201 
 202     NSK_DISPLAY0(">>> Testcase #0: Add all potential capabilities in Agent_OnLoad()\n");
 203     if (!addCapabilities(jvmti, &initCaps, "Agent_OnLoad()")) {
 204         nsk_jvmti_setFailStatus();
 205     }
 206 
 207     NSK_DISPLAY0(">>> Testcase #1: Check capabilities in Agent_OnLoad()\n");
 208     if (!checkCapabilities(jvmti, &initCaps, "Agent_OnLoad()")) {


  40 static jvmtiEvent events[EVENTS_COUNT] = {
  41     JVMTI_EVENT_VM_INIT,
  42     JVMTI_EVENT_VM_DEATH
  43 };
  44 
  45 static jvmtiCapabilities initCaps;
  46 
  47 /* ============================================================================= */
  48 
  49 /**
  50  * Get and check current capabilities.
  51  * @returns NSK_FALSE if any error occured.
  52  */
  53 static int checkCapabilities(jvmtiEnv* jvmti, jvmtiCapabilities* initCaps, const char where[]) {
  54     int success = NSK_TRUE;
  55     jvmtiCapabilities caps;
  56 
  57     memset(&caps, 0, sizeof(jvmtiCapabilities));
  58 
  59     NSK_DISPLAY0("GetCapabilities() for current JVMTI env\n");
  60     if (!NSK_JVMTI_VERIFY(jvmti->GetCapabilities(&caps))) {

  61         return NSK_FALSE;
  62     }
  63 
  64     return success;
  65 }
  66 
  67 /**
  68  * Add given capabilities list.
  69  * @returns NSK_FALSE if any error occured.
  70  */
  71 static int addCapabilities(jvmtiEnv* jvmti, jvmtiCapabilities* caps, const char where[]) {
  72     NSK_DISPLAY0("AddCapabilities() for current JVMTI env\n");
  73     if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(caps))) {

  74         return NSK_FALSE;
  75     }
  76     NSK_DISPLAY0("  ... set\n");
  77 
  78     return NSK_TRUE;
  79 }
  80 
  81 /**
  82  * Get potential capabilities to the given list.
  83  * @returns NSK_FALSE if any error occured.
  84  */
  85 static int getPotentialCapabilities(jvmtiEnv* jvmti, jvmtiCapabilities* caps) {
  86     NSK_DISPLAY0("GetPotentialCapabilities() for current JVMTI env\n");
  87     if (!NSK_JVMTI_VERIFY(jvmti->GetPotentialCapabilities(caps))) {

  88         return NSK_FALSE;
  89     }
  90 
  91     return NSK_TRUE;
  92 }
  93 
  94 /* ============================================================================= */
  95 
  96 /** Agent algorithm. */
  97 static void JNICALL
  98 agentProc(jvmtiEnv* jvmti, JNIEnv* jni, void* arg) {
  99     NSK_DISPLAY0("Wait for debugee to become ready\n");
 100     if (!nsk_jvmti_waitForSync(timeout))
 101         return;
 102 
 103     NSK_DISPLAY0(">>> Testcase #3: Check capabilities in agent thread\n");
 104     if (!checkCapabilities(jvmti, &initCaps, "agent thread")) {
 105         nsk_jvmti_setFailStatus();
 106     }
 107 


 163 }
 164 #endif
 165 jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) {
 166     jvmtiEnv* jvmti = NULL;
 167 
 168     if (!NSK_VERIFY(nsk_jvmti_parseOptions(options)))
 169         return JNI_ERR;
 170 
 171     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 172 
 173     if (!NSK_VERIFY((jvmti =
 174             nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
 175         return JNI_ERR;
 176 
 177     {
 178         jvmtiEventCallbacks eventCallbacks;
 179 
 180         memset(&eventCallbacks, 0, sizeof(eventCallbacks));
 181         eventCallbacks.VMInit = callbackVMInit;
 182         eventCallbacks.VMDeath = callbackVMDeath;
 183         if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {


 184             return JNI_ERR;
 185         }
 186 
 187     }
 188 
 189     if (!NSK_VERIFY(nsk_jvmti_setAgentProc(agentProc, NULL)))
 190         return JNI_ERR;
 191 
 192     memset(&initCaps, 0, sizeof(jvmtiCapabilities));
 193     if (!getPotentialCapabilities(jvmti, &initCaps)) {
 194         return JNI_ERR;
 195     }
 196 
 197     NSK_DISPLAY0(">>> Testcase #0: Add all potential capabilities in Agent_OnLoad()\n");
 198     if (!addCapabilities(jvmti, &initCaps, "Agent_OnLoad()")) {
 199         nsk_jvmti_setFailStatus();
 200     }
 201 
 202     NSK_DISPLAY0(">>> Testcase #1: Check capabilities in Agent_OnLoad()\n");
 203     if (!checkCapabilities(jvmti, &initCaps, "Agent_OnLoad()")) {
< prev index next >