Consolidate some verification code
Remove the duplicated logic for verifying certain extensions exist,
and their versions.
This makes it simpler to verify the state of more extensions.
Test: atest sdkextensions_e2e_tests
Change-Id: I7baddd3b69d29161172dcba1e619bc32de0e6ee8
diff --git a/javatests/com/android/sdkext/extensions/SdkExtensionsHostTest.java b/javatests/com/android/sdkext/extensions/SdkExtensionsHostTest.java
index bfe017d..a4fb3a8 100644
--- a/javatests/com/android/sdkext/extensions/SdkExtensionsHostTest.java
+++ b/javatests/com/android/sdkext/extensions/SdkExtensionsHostTest.java
@@ -187,30 +187,35 @@
}
private void assertRVersionEquals(int version) throws Exception {
- int appValue = broadcastForInt("GET_SDK_VERSION", "r");
- String syspropValue = getExtensionVersionFromSysprop("r");
- assertEquals(version, appValue);
- assertEquals(String.valueOf(version), syspropValue);
- assertEquals(version >= 12, canInstallApp("r12"));
- assertEquals(version >= 45, canInstallApp("r45"));
+ String[] apps = version >= 45 ? new String[]{"r12", "r45"} :
+ version >= 12 ? new String[]{"r12"} : new String[]{};
+ assertExtensionVersionEquals("r", version, apps, true);
}
private void assertSVersionEquals(int version) throws Exception {
- int appValue = broadcastForInt("GET_SDK_VERSION", "s");
- String syspropValue = getExtensionVersionFromSysprop("s");
- if (isAtLeastS()) {
+ // These APKs require the same R version as they do S version.
+ int minVersion = Math.min(version, broadcastForInt("GET_SDK_VERSION", "r"));
+ String[] apps = minVersion >= 45 ? new String[]{"s12", "s45"}
+ : minVersion >= 12 ? new String[]{"s12"} : new String[]{};
+ assertExtensionVersionEquals("s", version, apps, isAtLeastS());
+ }
+
+ private void assertExtensionVersionEquals(String extension, int version, String[] apps,
+ boolean expected) throws Exception {
+ int appValue = broadcastForInt("GET_SDK_VERSION", extension);
+ String syspropValue = getExtensionVersionFromSysprop(extension);
+ if (expected) {
assertEquals(version, appValue);
assertEquals(String.valueOf(version), syspropValue);
-
- // These APKs require the same R version as they do S version.
- int minVersion = Math.min(version, broadcastForInt("GET_SDK_VERSION", "r"));
- assertEquals(minVersion >= 12, canInstallApp("s12"));
- assertEquals(minVersion >= 45, canInstallApp("s45"));
+ for (String app : apps) {
+ assertTrue(canInstallApp(app));
+ }
} else {
assertEquals(0, appValue);
assertEquals("", syspropValue);
- assertFalse(canInstallApp("s12"));
- assertFalse(canInstallApp("s45"));
+ for (String app : apps) {
+ assertFalse(canInstallApp(app));
+ }
}
}