diff options
author | Jack Yu <jackcwyu@google.com> | 2022-01-21 10:01:57 +0800 |
---|---|---|
committer | Jack Yu <jackcwyu@google.com> | 2022-01-21 11:02:24 +0800 |
commit | 8eac3568c65d9db111c7c77aa6c36baac455c50e (patch) | |
tree | 729e88cfc292177beb48b1c932abe2037dd3bda1 | |
parent | 8061c56bacd1c5e117b5d254b056a00b84789fe3 (diff) | |
download | SecureElement-8eac3568c65d9db111c7c77aa6c36baac455c50e.tar.gz |
Add vendor stable omapi interface enable check test
Bug: 180640872
Test: atest SecureElementVendorStableInterfaceFlagTest
Change-Id: If405ef1ad8bbf00c62c6bfaad09f43ee94c7b0ab
-rw-r--r-- | TEST_MAPPING | 8 | ||||
-rw-r--r-- | tests/unit/Android.bp | 32 | ||||
-rw-r--r-- | tests/unit/AndroidManifest.xml | 29 | ||||
-rw-r--r-- | tests/unit/AndroidTest.xml | 33 | ||||
-rw-r--r-- | tests/unit/src/com/android/se/SecureElementVendorStableInterfaceFlagTest.java | 64 |
5 files changed, 166 insertions, 0 deletions
diff --git a/TEST_MAPPING b/TEST_MAPPING new file mode 100644 index 0000000..323ab4d --- /dev/null +++ b/TEST_MAPPING @@ -0,0 +1,8 @@ +{ + "postsubmit": [ + { + "name": "SecureElementInstrumentationTests", + "keywords": ["primary-device"] + } + ] +} diff --git a/tests/unit/Android.bp b/tests/unit/Android.bp new file mode 100644 index 0000000..497ed09 --- /dev/null +++ b/tests/unit/Android.bp @@ -0,0 +1,32 @@ +package { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +android_test { + name: "SecureElementInstrumentationTests", + + certificate: "platform", + + libs: [ + "android.test.runner", + "android.test.base", + "android.test.mock", + ], + + static_libs: [ + "androidx.test.core", + "androidx.test.rules", + "androidx.test.ext.junit", + "mockito-target", + "truth-prebuilt", + ], + + // Include all test java files. + srcs: ["src/**/*.java"], + + platform_apis: true, + + test_suites: ["device-tests"], + + instrumentation_for: "SecureElement", +} diff --git a/tests/unit/AndroidManifest.xml b/tests/unit/AndroidManifest.xml new file mode 100644 index 0000000..eaeb718 --- /dev/null +++ b/tests/unit/AndroidManifest.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2022 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.se.tests.unit"> + + <application android:debuggable="true"> + <uses-library android:name="android.test.runner" /> + </application> + + <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner" + android:targetPackage="com.android.se" + android:label="SecureElement Test Cases"> + </instrumentation> + +</manifest> diff --git a/tests/unit/AndroidTest.xml b/tests/unit/AndroidTest.xml new file mode 100644 index 0000000..c04fec8 --- /dev/null +++ b/tests/unit/AndroidTest.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2022 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<configuration description="Runs SecureElement Test Cases."> + <option name="test-suite-tag" value="apct" /> + <option name="test-suite-tag" value="apct-instrumentation" /> + <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"> + <option name="force-root" value="true" /> + </target_preparer> + <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller"> + <option name="cleanup-apks" value="true" /> + <option name="test-file-name" value="SecureElementInstrumentationTests.apk" /> + </target_preparer> + + <option name="test-tag" value="SecureElementInstrumentationTests" /> + <test class="com.android.tradefed.testtype.AndroidJUnitTest" > + <option name="package" value="com.android.se.tests.unit" /> + <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" /> + <option name="hidden-api-checks" value="false"/> + </test> +</configuration> diff --git a/tests/unit/src/com/android/se/SecureElementVendorStableInterfaceFlagTest.java b/tests/unit/src/com/android/se/SecureElementVendorStableInterfaceFlagTest.java new file mode 100644 index 0000000..68d2907 --- /dev/null +++ b/tests/unit/src/com/android/se/SecureElementVendorStableInterfaceFlagTest.java @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.android.se; + +import android.content.Context; +import android.content.pm.PackageManager; +import android.os.IBinder; +import android.os.ServiceManager; + +import androidx.test.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +@RunWith(AndroidJUnit4.class) +public final class SecureElementVendorStableInterfaceFlagTest { + + private static final String TAG = + SecureElementVendorStableInterfaceFlagTest.class.getSimpleName(); + public static final String VSTABLE_SECURE_ELEMENT_SERVICE = + "android.se.omapi.ISecureElementService/default"; + private Context mContext; + + @Before + public void setUp() { + mContext = InstrumentationRegistry.getTargetContext(); + PackageManager pm = mContext.getPackageManager(); + } + + @After + public void tearDown() throws Exception { + } + + @Test + public void testIsVendorStableInterfaceEnabled() { + boolean secure_element_vintf_enabled = + mContext.getResources().getBoolean(R.bool.secure_element_vintf_enabled); + + IBinder binder = ServiceManager.getService(VSTABLE_SECURE_ELEMENT_SERVICE); + if (secure_element_vintf_enabled) { + Assert.assertNotNull(binder); + } else { + Assert.assertNull(binder); + } + + } +} |