diff options
author | Yi-Yo Chiang <yochiang@google.com> | 2022-08-03 14:01:43 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-08-03 14:01:43 +0000 |
commit | 43c372993d2c8f63571504c03ac1990db8473c7c (patch) | |
tree | 604b56f216155234b61ca24677cf71366a592d92 | |
parent | 586138ef74e6faab8f18d46242b9263e3cf8371a (diff) | |
parent | 1799b5b904e660ad0ec116fb1d49c31d1075f7f2 (diff) | |
download | gsid-43c372993d2c8f63571504c03ac1990db8473c7c.tar.gz |
DsuGsiIntegrationTest: Add option to override the DSU userdata size am: d934b08192 am: edf4232f59 am: 4c8d2a301a am: 1799b5b904
Original change: https://android-review.googlesource.com/c/platform/system/gsid/+/2171505
Change-Id: Ifc8b50279c74b3727715ec67e4acd938763875c6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | tests/DSUEndtoEndTest.java | 14 | ||||
-rw-r--r-- | tests/DsuGsiIntegrationTest.java | 24 | ||||
-rw-r--r-- | tests/DsuTestBase.java | 10 |
3 files changed, 35 insertions, 13 deletions
diff --git a/tests/DSUEndtoEndTest.java b/tests/DSUEndtoEndTest.java index de8b790..8e464f2 100644 --- a/tests/DSUEndtoEndTest.java +++ b/tests/DSUEndtoEndTest.java @@ -117,8 +117,18 @@ public class DSUEndtoEndTest extends DsuTestBase { // Sleep after installing to allow time for gsi_tool to reboot. This prevents a race between // the device rebooting and waitForDeviceAvailable() returning. - getDevice().executeShellV2Command("gsi_tool install --userdata-size " + mUserdataSize + - " --gsi-size " + gsi.length() + " && sleep 10000000", gsi, null, 10, TimeUnit.MINUTES, 1); + getDevice() + .executeShellV2Command( + String.format( + "gsi_tool install --userdata-size %d" + + " --gsi-size %d" + + " && sleep 10000000", + getDsuUserdataSize(mUserdataSize), gsi.length()), + gsi, + null, + 10, + TimeUnit.MINUTES, + 1); getDevice().waitForDeviceAvailable(); getDevice().enableAdbRoot(); diff --git a/tests/DsuGsiIntegrationTest.java b/tests/DsuGsiIntegrationTest.java index 7c4ac35..b5d2b1e 100644 --- a/tests/DsuGsiIntegrationTest.java +++ b/tests/DsuGsiIntegrationTest.java @@ -45,19 +45,10 @@ import java.util.zip.ZipOutputStream; @RunWith(DeviceJUnit4ClassRunner.class) public class DsuGsiIntegrationTest extends DsuTestBase { private static final long DSU_MAX_WAIT_SEC = 10 * 60; - private static final long DSU_USERDATA_SIZE = 8L << 30; + private static final long DSU_DEFAULT_USERDATA_SIZE = 8L << 30; private static final String GSI_IMAGE_NAME = "system.img"; private static final String DSU_IMAGE_ZIP_PUSH_PATH = "/sdcard/gsi.zip"; - private static final String DSU_INSTALL_COMMAND = - String.format( - "am start-activity" - + " -n com.android.dynsystem/com.android.dynsystem.VerificationActivity" - + " -a android.os.image.action.START_INSTALL" - + " -d file://%s" - + " --el KEY_USERDATA_SIZE %d" - + " --ez KEY_ENABLE_WHEN_COMPLETED true", - DSU_IMAGE_ZIP_PUSH_PATH, DSU_USERDATA_SIZE); private static final String REMOUNT_TEST_PATH = "/system/remount_test"; private static final String REMOUNT_TEST_FILE = REMOUNT_TEST_PATH + "/test_file"; @@ -75,6 +66,17 @@ public class DsuGsiIntegrationTest extends DsuTestBase { private File mSystemImageZip; + private String getDsuInstallCommand() { + return String.format( + "am start-activity" + + " -n com.android.dynsystem/com.android.dynsystem.VerificationActivity" + + " -a android.os.image.action.START_INSTALL" + + " -d file://%s" + + " --el KEY_USERDATA_SIZE %d" + + " --ez KEY_ENABLE_WHEN_COMPLETED true", + DSU_IMAGE_ZIP_PUSH_PATH, getDsuUserdataSize(DSU_DEFAULT_USERDATA_SIZE)); + } + @Before public void setUp() throws IOException { mSystemImageZip = null; @@ -144,7 +146,7 @@ public class DsuGsiIntegrationTest extends DsuTestBase { CLog.i("Pushing '%s' -> '%s'", mSystemImageZip, DSU_IMAGE_ZIP_PUSH_PATH); getDevice().pushFile(mSystemImageZip, DSU_IMAGE_ZIP_PUSH_PATH); - assertShellCommand(DSU_INSTALL_COMMAND); + assertShellCommand(getDsuInstallCommand()); CLog.i("Wait for DSU installation complete and reboot"); assertTrue( "Timed out waiting for DSU installation complete", diff --git a/tests/DsuTestBase.java b/tests/DsuTestBase.java index d60af57..db383be 100644 --- a/tests/DsuTestBase.java +++ b/tests/DsuTestBase.java @@ -21,6 +21,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import com.android.tradefed.config.Option; import com.android.tradefed.device.DeviceNotAvailableException; import com.android.tradefed.log.LogUtil.CLog; import com.android.tradefed.testtype.junit4.BaseHostJUnit4Test; @@ -28,6 +29,15 @@ import com.android.tradefed.util.CommandResult; import com.android.tradefed.util.CommandStatus; abstract class DsuTestBase extends BaseHostJUnit4Test { + @Option( + name = "dsu-userdata-size-in-gb", + description = "Userdata partition size of the DSU installation") + private long mDsuUserdataSizeInGb; + + protected long getDsuUserdataSize(long defaultValue) { + return mDsuUserdataSizeInGb > 0 ? mDsuUserdataSizeInGb << 30 : defaultValue; + } + public CommandResult assertShellCommand(String command) throws DeviceNotAvailableException { CommandResult result = getDevice().executeShellV2Command(command); assertEquals( |