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 
TEST_F(LibnativehelperTest,GetCreatedJavaVMs)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(&currentVM));
30     ASSERT_EQ(createdVMs[0], currentVM);
31 }
32 
TEST_F(LibnativehelperTest,GetDefaultJavaVMInitArgs)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