1 /* 2 * Copyright (C) 2020 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #include "libnativehelper_test.h" 18 19 TEST_F(LibnativehelperTest, GetCreatedJavaVMs) { 20 JavaVM* createdVMs[2] = { nullptr, nullptr }; 21 jsize count; 22 ASSERT_NE(nullptr, mEnv); 23 ASSERT_EQ(JNI_OK, JNI_GetCreatedJavaVMs(&createdVMs[0], 2, &count)); 24 ASSERT_EQ(1, count); 25 ASSERT_NE(nullptr, createdVMs[0]); 26 ASSERT_EQ(nullptr, createdVMs[1]); 27 28 JavaVM* currentVM; 29 ASSERT_EQ(JNI_OK, mEnv->GetJavaVM(¤tVM)); 30 ASSERT_EQ(createdVMs[0], currentVM); 31 } 32 33 TEST_F(LibnativehelperTest, GetDefaultJavaVMInitArgs) { 34 JavaVMOption options[1]; 35 JavaVMInitArgs initArgs; 36 initArgs.version = JNI_VERSION_1_6; 37 initArgs.nOptions = 0; 38 initArgs.options = options; 39 initArgs.ignoreUnrecognized = JNI_TRUE; 40 // ART does not support JNI_GetDefaultJavaVMInitArgs(), should this change it'll need a test. 41 ASSERT_EQ(JNI_ERR, JNI_GetDefaultJavaVMInitArgs(&initArgs)); 42 } 43