Merge "MicrodroidTests: Skip test if debug policy is enabled" into android15-tests-dev
diff --git a/tests/hostside/Android.bp b/tests/hostside/Android.bp
index 2eca2fa..f78f41a 100644
--- a/tests/hostside/Android.bp
+++ b/tests/hostside/Android.bp
@@ -2,13 +2,9 @@
default_applicable_licenses: ["Android-Apache-2.0"],
}
-java_test_host {
- name: "MicrodroidHostTestCases",
+java_defaults {
+ name: "MicrodroidHostTestCases.default",
srcs: ["java/**/*.java"],
- test_suites: [
- "cts",
- "general-tests",
- ],
libs: [
"androidx.annotation_annotation",
"tradefed",
@@ -21,25 +17,6 @@
"microdroid_payload_metadata",
],
per_testcase_directory: true,
- data: [
- ":MicrodroidTestApp",
- ":MicrodroidTestAppUpdated",
- ":microdroid_general_sepolicy.conf",
- ":test.com.android.virt.pem",
- ":test2.com.android.virt.pem",
- ],
- data_native_bins: [
- "sepolicy-analyze",
- // For re-sign test
- "avbtool",
- "img2simg",
- "initrd_bootconfig",
- "lpmake",
- "lpunpack",
- "lz4",
- "sign_virt_apex",
- "simg2img",
- ],
// java_test_host doesn't have data_native_libs but jni_libs can be used to put
// native modules under ./lib directory.
// This works because host tools have rpath (../lib and ./lib).
@@ -55,3 +32,103 @@
"libz",
],
}
+
+DEVICE_DATA = [
+ ":MicrodroidTestApp",
+ ":MicrodroidTestAppUpdated",
+ ":microdroid_general_sepolicy.conf",
+ ":test.com.android.virt.pem",
+ ":test2.com.android.virt.pem",
+]
+
+BINS = [
+ "sepolicy-analyze",
+ // For re-sign test
+ "avbtool",
+ "img2simg",
+ "initrd_bootconfig",
+ "lpmake",
+ "lpunpack",
+ "lz4",
+ "sign_virt_apex",
+ "simg2img",
+]
+
+java_test_host {
+ name: "MicrodroidHostTestCases",
+ defaults: ["MicrodroidHostTestCases.default"],
+ test_config_template: "AndroidTestTemplate.xml",
+ auto_gen_config: true,
+ test_suites: [
+ "general-tests",
+ "pts",
+ ],
+ data: DEVICE_DATA,
+ data_native_bins: BINS,
+}
+
+java_test_host {
+ name: "MicrodroidHostTestCases.CTS",
+ defaults: ["MicrodroidHostTestCases.default"],
+ test_config_template: "AndroidTestTemplate.xml",
+ test_suites: ["cts"],
+ auto_gen_config: true,
+ test_options: {
+ tradefed_options: [
+ {
+ name: "include-annotation",
+ value: "com.android.compatibility.common.util.CddTest",
+ },
+ {
+ name: "test-suite-tag",
+ value: "cts",
+ },
+ ],
+ },
+ data: DEVICE_DATA,
+ data_native_bins: BINS,
+}
+
+java_test_host {
+ name: "MicrodroidHostTestCases.VTS",
+ defaults: ["MicrodroidHostTestCases.default"],
+ test_config_template: "AndroidTestTemplate.xml",
+ test_suites: ["vts"],
+ auto_gen_config: true,
+ test_options: {
+ tradefed_options: [
+ {
+ name: "include-annotation",
+ value: "com.android.compatibility.common.util.VsrTest",
+ },
+ {
+ name: "test-suite-tag",
+ value: "vts",
+ },
+ ],
+ },
+ data: DEVICE_DATA,
+ data_native_bins: BINS,
+}
+
+java_test_host {
+ name: "MicrodroidHostTestCases.GTS",
+ defaults: ["MicrodroidHostTestCases.default"],
+ test_config_template: "AndroidTestTemplate.xml",
+ test_suites: ["gts"],
+ auto_gen_config: true,
+ test_options: {
+ tradefed_options: [
+ {
+ name: "include-annotation",
+ value: "com.android.compatibility.common.util.GmsTest",
+ },
+ {
+ name: "test-suite-tag",
+ value: "gts",
+ },
+ ],
+ },
+ data: DEVICE_DATA,
+ data_native_bins: BINS,
+}
diff --git a/tests/hostside/AndroidTest.xml b/tests/hostside/AndroidTestTemplate.xml
similarity index 92%
rename from tests/hostside/AndroidTest.xml
rename to tests/hostside/AndroidTestTemplate.xml
index 18728ad..fb81c90 100644
--- a/tests/hostside/AndroidTest.xml
+++ b/tests/hostside/AndroidTestTemplate.xml
@@ -14,7 +14,6 @@
limitations under the License.
-->
<configuration description="Host driven tests for Microdroid">
- <option name="test-suite-tag" value="cts" />
<option name="config-descriptor:metadata" key="component" value="security" />
<option name="config-descriptor:metadata" key="parameter" value="not_instant_app" />
<option name="config-descriptor:metadata" key="parameter" value="not_multi_abi" />
@@ -26,6 +25,8 @@
</target_preparer>
<test class="com.android.compatibility.common.tradefed.testtype.JarHostTest" >
- <option name="jar" value="MicrodroidHostTestCases.jar" />
+ <option name="jar" value="{MODULE}.jar" />
</test>
+
+ {EXTRA_CONFIGS}
</configuration>
diff --git a/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java b/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java
index 674f2be..8a8cc79 100644
--- a/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java
+++ b/tests/hostside/java/com/android/microdroid/test/MicrodroidHostTests.java
@@ -39,6 +39,8 @@
import android.cts.statsdatom.lib.ReportUtils;
import com.android.compatibility.common.util.CddTest;
+import com.android.compatibility.common.util.GmsTest;
+import com.android.compatibility.common.util.VsrTest;
import com.android.microdroid.test.common.ProcessUtil;
import com.android.microdroid.test.host.CommandRunner;
import com.android.microdroid.test.host.MicrodroidHostTestCaseBase;
@@ -417,6 +419,8 @@
@Test
@CddTest
+ @GmsTest(requirements = {"GMS-3-7.1-002", "GMS-VSR-7.1-001.006"})
+ @VsrTest(requirements = {"VSR-7.1-001.007"})
public void UpgradedPackageIsAcceptedWithSecretkeeper() throws Exception {
assumeUpdatableVmSupported();
getDevice().uninstallPackage(PACKAGE_NAME);
@@ -432,6 +436,8 @@
@Test
@CddTest
+ @GmsTest(requirements = {"GMS-3-7.1-002", "GMS-VSR-7.1-001.006"})
+ @VsrTest(requirements = {"VSR-7.1-001.007"})
public void DowngradedPackageIsRejectedProtectedVm() throws Exception {
assumeProtectedVm(); // Rollback protection is provided only for protected VM.
@@ -477,7 +483,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-2-1", "9.17/C-2-2", "9.17/C-2-6"})
+ @GmsTest(requirements = {"GMS-3-7.1-010"})
public void protectedVmRunsPvmfw() throws Exception {
// Arrange
assumeProtectedVm();
@@ -506,7 +512,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-2-1", "9.17/C-2-2", "9.17/C-2-6"})
+ @GmsTest(requirements = {"GMS-3-7.1-003", "GMS-3-7.1-010"})
public void protectedVmWithImageSignedWithDifferentKeyFailsToVerifyPayload() throws Exception {
// Arrange
assumeProtectedVm();
@@ -531,7 +537,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-2-2", "9.17/C-2-6"})
+ @GmsTest(requirements = {"GMS-3-7.1-003", "GMS-3-7.1-010"})
public void testBootSucceedsWhenNonProtectedVmStartsWithImagesSignedWithDifferentKey()
throws Exception {
assumeNonProtectedVm();
@@ -551,7 +557,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-2-2", "9.17/C-2-6"})
+ @GmsTest(requirements = {"GMS-3-7.1-006"})
public void testBootFailsWhenVbMetaDigestDoesNotMatchBootconfig() throws Exception {
// protectedVmWithImageSignedWithDifferentKeyRunsPvmfw() is the protected case.
assumeNonProtectedVm();
@@ -919,7 +925,8 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1", "9.17/C-1-2", "9.17/C/1-3"})
+ @CddTest
+ @GmsTest(requirements = {"GMS-3-7.1-001.002"})
public void testMicrodroidBoots() throws Exception {
final String configPath = "assets/vm_config.json"; // path inside the APK
testMicrodroidBootsWithBuilder(
@@ -975,6 +982,7 @@
}
@Test
+ @CddTest
public void testPathToBinaryIsRejected() throws Exception {
CommandRunner android = new CommandRunner(getDevice());
@@ -1012,7 +1020,6 @@
}
@Test
- @CddTest(requirements = {"9.17/C-2-2", "9.17/C-2-6"})
public void testAllVbmetaUseSHA256() throws Exception {
File virtApexDir = FileUtil.createTempDir("virt_apex");
// Pull the virt apex's etc/ directory (which contains images)
@@ -1121,6 +1128,7 @@
}
@Test
+ @CddTest
public void testDeviceAssignment() throws Exception {
// Check for preconditions
assumeVfioPlatformSupported();
@@ -1173,6 +1181,8 @@
}
@Test
+ @CddTest
+ @GmsTest(requirements = {"GMS-3-7.1-001.002"})
public void testGkiVersions() throws Exception {
for (String gki : getSupportedGKIVersions()) {
assertTrue(
diff --git a/tests/testapk/Android.bp b/tests/testapk/Android.bp
index 01af51c..35a2197 100644
--- a/tests/testapk/Android.bp
+++ b/tests/testapk/Android.bp
@@ -71,7 +71,8 @@
defaults: ["MicrodroidVersionsTestAppDefaults"],
manifest: "AndroidManifestV5.xml",
test_suites: ["general-tests"],
- test_config: "AndroidTest.xml",
+ test_config_template: "AndroidTestTemplate.xml",
+ auto_gen_config: true,
data: DATA,
}
@@ -79,8 +80,21 @@
name: "MicrodroidTestApp.CTS",
defaults: ["MicrodroidVersionsTestAppDefaults"],
manifest: "AndroidManifestV5.xml",
+ test_config_template: "AndroidTestTemplate.xml",
test_suites: ["cts"],
- test_config: ":MicrodroidTestApp.CTS.config",
+ auto_gen_config: true,
+ test_options: {
+ tradefed_options: [
+ {
+ name: "include-annotation",
+ value: "com.android.compatibility.common.util.CddTest",
+ },
+ {
+ name: "test-suite-tag",
+ value: "cts",
+ },
+ ],
+ },
data: DATA,
}
@@ -88,31 +102,44 @@
name: "MicrodroidTestApp.VTS",
defaults: ["MicrodroidVersionsTestAppDefaults"],
manifest: "AndroidManifestV5.xml",
+ test_config_template: "AndroidTestTemplate.xml",
test_suites: ["vts"],
- test_config: ":MicrodroidTestApp.VTS.config",
+ auto_gen_config: true,
+ test_options: {
+ tradefed_options: [
+ {
+ name: "include-annotation",
+ value: "com.android.compatibility.common.util.VsrTest",
+ },
+ {
+ name: "test-suite-tag",
+ value: "vts",
+ },
+ ],
+ },
data: DATA,
}
-genrule {
- name: "MicrodroidTestApp.CTS.config",
- srcs: ["AndroidTest.xml"],
- out: ["out.xml"],
- cmd: "sed " +
- "-e 's/<!-- PLACEHOLDER_FOR_ANNOTATION -->/" +
- "<option name=\"include-annotation\" value=\"com.android.compatibility.common.util.CddTest\" \\/>/' " +
- "-e 's/MicrodroidTestApp.apk/MicrodroidTestApp.CTS.apk/' " +
- "$(in) > $(out)",
-}
-
-genrule {
- name: "MicrodroidTestApp.VTS.config",
- srcs: ["AndroidTest.xml"],
- out: ["out.xml"],
- cmd: "sed " +
- "-e 's/<!-- PLACEHOLDER_FOR_ANNOTATION -->/" +
- "<option name=\"include-annotation\" value=\"com.android.compatibility.common.util.VsrTest\" \\/>/' " +
- "-e 's/MicrodroidTestApp.apk/MicrodroidTestApp.VTS.apk/' " +
- "$(in) > $(out)",
+android_test {
+ name: "MicrodroidTestApp.GTS",
+ defaults: ["MicrodroidVersionsTestAppDefaults"],
+ manifest: "AndroidManifestV5.xml",
+ test_config_template: "AndroidTestTemplate.xml",
+ test_suites: ["gts"],
+ auto_gen_config: true,
+ test_options: {
+ tradefed_options: [
+ {
+ name: "include-annotation",
+ value: "com.android.compatibility.common.util.GmsTest",
+ },
+ {
+ name: "test-suite-tag",
+ value: "gts",
+ },
+ ],
+ },
+ data: DATA,
}
android_test_helper_app {
diff --git a/tests/testapk/AndroidTest.xml b/tests/testapk/AndroidTestTemplate.xml
similarity index 91%
rename from tests/testapk/AndroidTest.xml
rename to tests/testapk/AndroidTestTemplate.xml
index 58f2c4a..bbcf58d 100644
--- a/tests/testapk/AndroidTest.xml
+++ b/tests/testapk/AndroidTestTemplate.xml
@@ -14,14 +14,12 @@
limitations under the License.
-->
<configuration description="Runs Microdroid device-side tests.">
- <option name="test-suite-tag" value="cts" />
- <option name="test-suite-tag" value="vts" />
<option name="config-descriptor:metadata" key="component" value="security" />
<option name="config-descriptor:metadata" key="parameter" value="not_instant_app" />
<option name="config-descriptor:metadata" key="parameter" value="not_multi_abi" />
<option name="config-descriptor:metadata" key="parameter" value="secondary_user" />
<target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
- <option name="test-file-name" value="MicrodroidTestApp.apk" />
+ <option name="test-file-name" value="{MODULE}.apk" />
<option name="test-file-name" value="MicrodroidVmShareApp.apk" />
</target_preparer>
<target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
@@ -40,5 +38,5 @@
<option name="test-timeout" value="300000" />
</test>
- <!-- PLACEHOLDER_FOR_ANNOTATION -->
+ {EXTRA_CONFIGS}
</configuration>
diff --git a/tests/testapk/src/java/com/android/microdroid/test/MicrodroidCapabilitiesTest.java b/tests/testapk/src/java/com/android/microdroid/test/MicrodroidCapabilitiesTest.java
index 08bc310..df5525f 100644
--- a/tests/testapk/src/java/com/android/microdroid/test/MicrodroidCapabilitiesTest.java
+++ b/tests/testapk/src/java/com/android/microdroid/test/MicrodroidCapabilitiesTest.java
@@ -40,7 +40,7 @@
@RunWith(JUnit4.class)
public class MicrodroidCapabilitiesTest extends MicrodroidDeviceTestBase {
@Test
- @CddTest(requirements = "9.17/C-1-6")
+ @CddTest(requirements = "9.17/C-1-1")
public void supportForProtectedOrNonProtectedVms() {
assumeSupportedDevice();
@@ -61,7 +61,7 @@
}
@Test
- @VsrTest(requirements = "VSR-7.1-001.005")
+ @VsrTest(requirements = "VSR-7.1-001.004")
public void avfIsRequired() {
assumeVsrCompliant();
assume().withMessage("Requirement doesn't apply due to vendor API level")
diff --git a/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java b/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
index 1f2cabd..04c3b23 100644
--- a/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
+++ b/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
@@ -63,6 +63,7 @@
import androidx.test.platform.app.InstrumentationRegistry;
import com.android.compatibility.common.util.CddTest;
+import com.android.compatibility.common.util.GmsTest;
import com.android.compatibility.common.util.VsrTest;
import com.android.microdroid.test.device.MicrodroidDeviceTestBase;
import com.android.microdroid.test.vmshare.IVmShareTestService;
@@ -210,19 +211,21 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1", "9.17/C-2-1"})
+ @CddTest
public void createAndConnectToVm() throws Exception {
createAndConnectToVmHelper(CPU_TOPOLOGY_ONE_CPU);
}
@Test
- @CddTest(requirements = {"9.17/C-1-1", "9.17/C-2-1"})
+ @CddTest
public void createAndConnectToVm_HostCpuTopology() throws Exception {
createAndConnectToVmHelper(CPU_TOPOLOGY_MATCH_HOST);
}
@Test
- @CddTest(requirements = {"9.17/C-1-1", "9.17/C-2-1"})
+ @CddTest
+ @VsrTest(requirements = {"VSR-7.1-001.006"})
+ @GmsTest(requirements = {"GMS-VSR-7.1-001.005"})
public void vmAttestationWhenRemoteAttestationIsNotSupported() throws Exception {
// pVM remote attestation is only supported on protected VMs.
assumeProtectedVM();
@@ -250,7 +253,9 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1", "9.17/C-2-1"})
+ @CddTest
+ @VsrTest(requirements = {"VSR-7.1-001.006"})
+ @GmsTest(requirements = {"GMS-VSR-7.1-001.005"})
public void vmAttestationWithVendorPartitionWhenSupported() throws Exception {
// pVM remote attestation is only supported on protected VMs.
assumeProtectedVM();
@@ -268,7 +273,9 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1", "9.17/C-2-1"})
+ @CddTest
+ @VsrTest(requirements = {"VSR-7.1-001.006"})
+ @GmsTest(requirements = {"GMS-VSR-7.1-001.005"})
public void vmAttestationWhenRemoteAttestationIsSupported() throws Exception {
// pVM remote attestation is only supported on protected VMs.
assumeProtectedVM();
@@ -316,7 +323,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1", "9.17/C-2-1"})
+ @CddTest
public void createAndRunNoDebugVm() throws Exception {
assumeSupportedDevice();
@@ -336,7 +343,7 @@
assertThat(testResults.mAddInteger).isEqualTo(37 + 73);
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void autoCloseVm() throws Exception {
assumeSupportedDevice();
@@ -366,7 +373,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void autoCloseVmDescriptor() throws Exception {
VirtualMachineConfig config =
newVmConfigBuilderWithPayloadBinary("MicrodroidTestNativeLib.so")
@@ -395,7 +402,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void vmDescriptorClosedOnImport() throws Exception {
VirtualMachineConfig config =
newVmConfigBuilderWithPayloadBinary("MicrodroidTestNativeLib.so")
@@ -418,7 +425,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void vmLifecycleChecks() throws Exception {
assumeSupportedDevice();
@@ -466,7 +473,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void connectVsock() throws Exception {
assumeSupportedDevice();
@@ -504,7 +511,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void binderCallbacksWork() throws Exception {
assumeSupportedDevice();
@@ -556,7 +563,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void vmConfigGetAndSetTests() {
// Minimal has as little as specified as possible; everything that can be is defaulted.
VirtualMachineConfig.Builder minimalBuilder =
@@ -616,7 +623,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void vmConfigBuilderValidationTests() {
VirtualMachineConfig.Builder builder =
new VirtualMachineConfig.Builder(getContext()).setProtectedVm(mProtectedVm);
@@ -666,7 +673,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void compatibleConfigTests() {
VirtualMachineConfig baseline = newBaselineBuilder().build();
@@ -750,7 +757,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void vmUnitTests() throws Exception {
VirtualMachineConfig.Builder builder = newVmConfigBuilderWithPayloadBinary("binary.so");
VirtualMachineConfig config = builder.build();
@@ -771,7 +778,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void testAvfRequiresUpdatableApex() throws Exception {
assertWithMessage("Devices that support AVF must also support updatable APEX")
.that(SystemProperties.getBoolean("ro.apex.updatable", false))
@@ -779,7 +786,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void vmmGetAndCreate() throws Exception {
assumeSupportedDevice();
@@ -826,7 +833,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void vmFilesStoredInDeDirWhenCreatedFromDEContext() throws Exception {
final Context ctx = getContext().createDeviceProtectedStorageContext();
final int userId = ctx.getUserId();
@@ -844,7 +851,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void vmFilesStoredInCeDirWhenCreatedFromCEContext() throws Exception {
final Context ctx = getContext().createCredentialProtectedStorageContext();
final int userId = ctx.getUserId();
@@ -861,7 +868,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void differentManagersForDifferentContexts() throws Exception {
final Context ceCtx = getContext().createCredentialProtectedStorageContext();
final Context deCtx = getContext().createDeviceProtectedStorageContext();
@@ -870,11 +877,7 @@
}
@Test
- @CddTest(requirements = {
- "9.17/C-1-1",
- "9.17/C-1-2",
- "9.17/C-1-4",
- })
+ @CddTest
public void createVmWithConfigRequiresPermission() throws Exception {
assumeSupportedDevice();
revokePermission(VirtualMachine.USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION);
@@ -895,9 +898,7 @@
}
@Test
- @CddTest(requirements = {
- "9.17/C-1-1",
- })
+ @CddTest
public void deleteVm() throws Exception {
assumeSupportedDevice();
@@ -921,10 +922,7 @@
}
@Test
- @CddTest(
- requirements = {
- "9.17/C-1-1",
- })
+ @CddTest
public void deleteVmFiles() throws Exception {
assumeSupportedDevice();
@@ -954,9 +952,7 @@
}
@Test
- @CddTest(requirements = {
- "9.17/C-1-1",
- })
+ @CddTest
public void validApkPathIsAccepted() throws Exception {
assumeSupportedDevice();
@@ -981,7 +977,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void invalidVmNameIsRejected() {
VirtualMachineManager vmm = getVirtualMachineManager();
assertThrows(IllegalArgumentException.class, () -> vmm.get("../foo"));
@@ -989,10 +985,7 @@
}
@Test
- @CddTest(requirements = {
- "9.17/C-1-1",
- "9.17/C-2-1"
- })
+ @CddTest
public void extraApk() throws Exception {
assumeSupportedDevice();
@@ -1017,7 +1010,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1", "9.17/C-2-1"})
+ @CddTest
public void extraApkInVmConfig() throws Exception {
assumeSupportedDevice();
assumeFeatureEnabled(VirtualMachineManager.FEATURE_MULTI_TENANT);
@@ -1075,7 +1068,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1", "9.17/C-2-7"})
+ @CddTest
public void changingNonDebuggableVmDebuggableInvalidatesVmIdentity() throws Exception {
// Debuggability changes initrd which is verified by pvmfw.
// Therefore, skip this on non-protected VM.
@@ -1129,7 +1122,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1", "9.17/C-2-7"})
+ @CddTest
public void changingDebuggableVmNonDebuggableInvalidatesVmIdentity() throws Exception {
// Debuggability changes initrd which is verified by pvmfw.
// Therefore, skip this on non-protected VM.
@@ -1210,10 +1203,8 @@
}
@Test
- @CddTest(requirements = {
- "9.17/C-1-1",
- "9.17/C-2-7"
- })
+ @CddTest
+ @GmsTest(requirements = {"GMS-3-7.1-011"})
public void instancesOfSameVmHaveDifferentCdis() throws Exception {
assumeSupportedDevice();
// TODO(b/325094712): VMs on CF with same payload have the same secret. This is because
@@ -1239,10 +1230,8 @@
}
@Test
- @CddTest(requirements = {
- "9.17/C-1-1",
- "9.17/C-2-7"
- })
+ @CddTest
+ @GmsTest(requirements = {"GMS-3-7.1-011"})
public void sameInstanceKeepsSameCdis() throws Exception {
assumeSupportedDevice();
assume().withMessage("Skip on CF. Too Slow. b/257270529").that(isCuttlefish()).isFalse();
@@ -1263,7 +1252,9 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1", "9.17/C-2-7"})
+ @CddTest
+ @VsrTest(requirements = {"VSR-7.1-001.005"})
+ @GmsTest(requirements = {"GMS-VSR-7.1-001.004"})
public void bccIsSuperficiallyWellFormed() throws Exception {
assumeSupportedDevice();
@@ -1308,7 +1299,8 @@
}
@Test
- @VsrTest(requirements = {"VSR-7.1-001.004"})
+ @VsrTest(requirements = {"VSR-7.1-001.005"})
+ @GmsTest(requirements = {"GMS-VSR-7.1-001.004"})
public void protectedVmHasValidDiceChain() throws Exception {
// This test validates two things regarding the pVM DICE chain:
// 1. The DICE chain is well-formed that all the entries conform to the DICE spec.
@@ -1338,10 +1330,7 @@
}
@Test
- @CddTest(requirements = {
- "9.17/C-1-1",
- "9.17/C-1-2"
- })
+ @CddTest
public void accessToCdisIsRestricted() throws Exception {
assumeSupportedDevice();
@@ -1419,10 +1408,7 @@
}
@Test
- @CddTest(requirements = {
- "9.17/C-1-1",
- "9.17/C-2-7"
- })
+ @GmsTest(requirements = {"GMS-3-7.1-006"})
public void bootFailsWhenMicrodroidDataIsCompromised() throws Exception {
// If Updatable VM is supported => No instance.img required
assumeNoUpdatableVmSupport();
@@ -1430,10 +1416,7 @@
}
@Test
- @CddTest(requirements = {
- "9.17/C-1-1",
- "9.17/C-2-7"
- })
+ @GmsTest(requirements = {"GMS-3-7.1-006"})
public void bootFailsWhenPvmFwDataIsCompromised() throws Exception {
// If Updatable VM is supported => No instance.img required
assumeNoUpdatableVmSupport();
@@ -1446,6 +1429,7 @@
}
@Test
+ @GmsTest(requirements = {"GMS-3-7.1-006"})
public void bootFailsWhenConfigIsInvalid() throws Exception {
grantPermission(VirtualMachine.USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION);
VirtualMachineConfig config =
@@ -1460,6 +1444,7 @@
}
@Test
+ @GmsTest(requirements = {"GMS-3-7.1-006"})
public void bootFailsWhenBinaryNameIsInvalid() throws Exception {
VirtualMachineConfig config =
newVmConfigBuilderWithPayloadBinary("DoesNotExist.so")
@@ -1473,6 +1458,7 @@
}
@Test
+ @GmsTest(requirements = {"GMS-3-7.1-006"})
public void bootFailsWhenApkPathIsInvalid() {
VirtualMachineConfig config =
newVmConfigBuilderWithPayloadBinary("MicrodroidTestNativeLib.so")
@@ -1486,6 +1472,7 @@
}
@Test
+ @GmsTest(requirements = {"GMS-3-7.1-006"})
public void bootFailsWhenExtraApkPackageIsInvalid() {
VirtualMachineConfig config =
newVmConfigBuilderWithPayloadBinary("MicrodroidTestNativeLib.so")
@@ -1529,6 +1516,7 @@
}
@Test
+ @GmsTest(requirements = {"GMS-3-7.1-006"})
public void bootFailsWhenBinaryIsMissingEntryFunction() throws Exception {
VirtualMachineConfig normalConfig =
newVmConfigBuilderWithPayloadBinary("MicrodroidEmptyNativeLib.so")
@@ -1541,6 +1529,7 @@
}
@Test
+ @GmsTest(requirements = {"GMS-3-7.1-006"})
public void bootFailsWhenBinaryTriesToLinkAgainstPrivateLibs() throws Exception {
VirtualMachineConfig normalConfig =
newVmConfigBuilderWithPayloadBinary("MicrodroidPrivateLinkingNativeLib.so")
@@ -1553,6 +1542,7 @@
}
@Test
+ @CddTest
public void sameInstancesShareTheSameVmObject() throws Exception {
VirtualMachineConfig config =
newVmConfigBuilderWithPayloadBinary("MicrodroidTestNativeLib.so").build();
@@ -1569,6 +1559,7 @@
}
@Test
+ @CddTest
public void importedVmAndOriginalVmHaveTheSameCdi() throws Exception {
assumeSupportedDevice();
// Arrange
@@ -1664,7 +1655,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void encryptedStorageAvailable() throws Exception {
assumeSupportedDevice();
@@ -1687,7 +1678,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void encryptedStorageIsInaccessibleToDifferentVm() throws Exception {
assumeSupportedDevice();
// TODO(b/325094712): VMs on CF with same payload have the same secret. This is because
@@ -1751,7 +1742,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1", "9.17/C-2-1"})
+ @CddTest
public void microdroidLauncherHasEmptyCapabilities() throws Exception {
assumeSupportedDevice();
@@ -1775,7 +1766,8 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
+ @GmsTest(requirements = {"GMS-3-7.1-005"})
public void payloadIsNotRoot() throws Exception {
assumeSupportedDevice();
assumeFeatureEnabled(VirtualMachineManager.FEATURE_MULTI_TENANT);
@@ -1798,7 +1790,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1"})
+ @CddTest
public void encryptedStorageIsPersistent() throws Exception {
assumeSupportedDevice();
@@ -1834,7 +1826,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-1", "9.17/C-2-1"})
+ @CddTest
public void canReadFileFromAssets_debugFull() throws Exception {
assumeSupportedDevice();
@@ -1858,6 +1850,7 @@
}
@Test
+ @CddTest
public void outputShouldBeExplicitlyCaptured() throws Exception {
assumeSupportedDevice();
@@ -1880,6 +1873,7 @@
}
@Test
+ @CddTest
public void inputShouldBeExplicitlyAllowed() throws Exception {
assumeSupportedDevice();
@@ -1931,6 +1925,7 @@
}
@Test
+ @CddTest
public void outputIsRedirectedToLogcatIfNotCaptured() throws Exception {
assumeSupportedDevice();
@@ -1951,6 +1946,7 @@
}
@Test
+ @CddTest
public void outputIsNotRedirectedToLogcatIfNotDebuggable() throws Exception {
assumeSupportedDevice();
@@ -1961,6 +1957,7 @@
}
@Test
+ @CddTest
public void testConsoleInputSupported() throws Exception {
assumeSupportedDevice();
assumeTrue("Not supported on GKI kernels", mGki == null);
@@ -1990,6 +1987,7 @@
}
@Test
+ @CddTest
public void testStartVmWithPayloadOfAnotherApp() throws Exception {
assumeSupportedDevice();
@@ -2019,6 +2017,7 @@
}
@Test
+ @CddTest
public void testVmDescriptorParcelUnparcel_noTrustedStorage() throws Exception {
assumeSupportedDevice();
@@ -2052,6 +2051,7 @@
}
@Test
+ @CddTest
public void testVmDescriptorParcelUnparcel_withTrustedStorage() throws Exception {
assumeSupportedDevice();
@@ -2105,6 +2105,7 @@
}
@Test
+ @CddTest
public void testShareVmWithAnotherApp() throws Exception {
assumeSupportedDevice();
@@ -2151,6 +2152,7 @@
}
@Test
+ @CddTest
public void testShareVmWithAnotherApp_encryptedStorage() throws Exception {
assumeSupportedDevice();
@@ -2220,7 +2222,8 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-5"})
+ @CddTest
+ @GmsTest(requirements = {"GMS-3-7.1-005"})
public void testFileUnderBinHasExecutePermission() throws Exception {
assumeSupportedDevice();
@@ -2263,7 +2266,7 @@
private static final int MS_NOATIME = 1024;
@Test
- @CddTest(requirements = {"9.17/C-1-5"})
+ @GmsTest(requirements = {"GMS-3-7.1-004", "GMS-3-7.1-005"})
public void dataIsMountedWithNoExec() throws Exception {
assumeSupportedDevice();
@@ -2288,7 +2291,7 @@
}
@Test
- @CddTest(requirements = {"9.17/C-1-5"})
+ @GmsTest(requirements = {"GMS-3-7.1-004", "GMS-3-7.1-005"})
public void encryptedStoreIsMountedWithNoExec() throws Exception {
assumeSupportedDevice();
@@ -2314,7 +2317,6 @@
}
@Test
- @VsrTest(requirements = {"VSR-7.1-001.003"})
public void kernelVersionRequirement() throws Exception {
assumeVsrCompliant();
int firstApiLevel = SystemProperties.getInt("ro.product.first_api_level", 0);
@@ -2415,6 +2417,9 @@
}
@Test
+ @CddTest
+ @GmsTest(requirements = {"GMS-VSR-7.1-001.007"})
+ @VsrTest(requirements = {"VSR-7.1-001.008"})
public void configuringVendorDiskImageRequiresCustomPermission() throws Exception {
File vendorDiskImage =
new File("/data/local/tmp/cts/microdroid/test_microdroid_vendor_image.img");
@@ -2432,6 +2437,9 @@
}
@Test
+ @CddTest
+ @GmsTest(requirements = {"GMS-VSR-7.1-001.007"})
+ @VsrTest(requirements = {"VSR-7.1-001.008"})
public void bootsWithVendorPartition() throws Exception {
File vendorDiskImage = new File("/vendor/etc/avf/microdroid/microdroid_vendor.img");
assumeTrue("Microdroid vendor image doesn't exist, skip", vendorDiskImage.exists());
@@ -2451,6 +2459,9 @@
}
@Test
+ @CddTest
+ @GmsTest(requirements = {"GMS-VSR-7.1-001.007"})
+ @VsrTest(requirements = {"VSR-7.1-001.008"})
public void bootsWithCustomVendorPartitionForNonPvm() throws Exception {
assumeNonProtectedVM();
File vendorDiskImage =
@@ -2472,6 +2483,9 @@
}
@Test
+ @CddTest
+ @GmsTest(requirements = {"GMS-VSR-7.1-001.007"})
+ @VsrTest(requirements = {"VSR-7.1-001.008"})
public void bootFailsWithCustomVendorPartitionForPvm() throws Exception {
assumeProtectedVM();
File vendorDiskImage =
@@ -2484,6 +2498,9 @@
}
@Test
+ @CddTest
+ @GmsTest(requirements = {"GMS-VSR-7.1-001.007"})
+ @VsrTest(requirements = {"VSR-7.1-001.008"})
public void creationFailsWithUnsignedVendorPartition() throws Exception {
File vendorDiskImage =
new File(
@@ -2496,6 +2513,7 @@
}
@Test
+ @GmsTest(requirements = {"GMS-3-7.1-004", "GMS-3-7.1-005"})
public void systemPartitionMountFlags() throws Exception {
assumeSupportedDevice();