Read the file to force streaming.
Bug: 263449831
Test: atest
android.incrementalinstall.cts.IncrementalInstallTest#testAddSplitToExistingInstallAfterReboot
--iterations
Change-Id: I0219b1be3f699adcbb39e0279ee2943a98821da8
Merged-In: I0219b1be3f699adcbb39e0279ee2943a98821da8
diff --git a/hostsidetests/incrementalinstall/appvalidator/src/android/incrementalinstall/inrementaltestappvalidation/AppValidationTest.java b/hostsidetests/incrementalinstall/appvalidator/src/android/incrementalinstall/inrementaltestappvalidation/AppValidationTest.java
index 6654d5b..5dc7dd8 100644
--- a/hostsidetests/incrementalinstall/appvalidator/src/android/incrementalinstall/inrementaltestappvalidation/AppValidationTest.java
+++ b/hostsidetests/incrementalinstall/appvalidator/src/android/incrementalinstall/inrementaltestappvalidation/AppValidationTest.java
@@ -39,6 +39,11 @@
import org.junit.Test;
import org.junit.runner.RunWith;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
@RunWith(AndroidJUnit4.class)
@AppModeFull
public class AppValidationTest {
@@ -87,6 +92,17 @@
assertEquals(isIncfsInstallation,
new PathChecker().isIncFsPath(installedAppInfo.installationPath));
assertEquals(versionCode, installedAppInfo.versionCode);
+ // Read the whole file to make sure it's streamed.
+ readFullFile(new File(installedAppInfo.installationPath, "base.apk"));
+ }
+
+ private static void readFullFile(File file) throws IOException {
+ try (InputStream inputStream = new FileInputStream(file)) {
+ byte[] buffer = new byte[1024];
+ while (inputStream.read(buffer) != -1) {
+ // ignore
+ }
+ }
}
private void launchTestApp() throws Exception {
diff --git a/hostsidetests/incrementalinstall/src/android/incrementalinstall/cts/IncrementalInstallTest.java b/hostsidetests/incrementalinstall/src/android/incrementalinstall/cts/IncrementalInstallTest.java
index a2e316a..c050b2c 100644
--- a/hostsidetests/incrementalinstall/src/android/incrementalinstall/cts/IncrementalInstallTest.java
+++ b/hostsidetests/incrementalinstall/src/android/incrementalinstall/cts/IncrementalInstallTest.java
@@ -23,6 +23,7 @@
import static android.incrementalinstall.common.Consts.SupportedComponents.ON_CREATE_COMPONENT_2;
import static android.incrementalinstall.common.Consts.SupportedComponents.UNCOMPRESSED_NATIVE_COMPONENT;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assume.assumeTrue;
@@ -261,9 +262,9 @@
getDevice().executeAdbCommand("push",
getFilePathFromBuildInfo(TEST_APP_DYNAMIC_CODE_NAME + SIG_SUFFIX),
deviceLocalPath);
- getDevice().executeShellCommand(
+ assertEquals("Success\n", getDevice().executeShellCommand(
String.format("pm install-incremental -p %s %s", TEST_APP_PACKAGE_NAME,
- deviceLocalPath + TEST_APP_DYNAMIC_CODE_NAME));
+ deviceLocalPath + TEST_APP_DYNAMIC_CODE_NAME)));
// Verify still on Incremental.
verifyInstallationTypeAndVersion(TEST_APP_PACKAGE_NAME, /* isIncfs= */ true,
TEST_APP_V1_VERSION);