summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYi-Yo Chiang <yochiang@google.com>2022-08-03 14:01:43 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-08-03 14:01:43 +0000
commit43c372993d2c8f63571504c03ac1990db8473c7c (patch)
tree604b56f216155234b61ca24677cf71366a592d92
parent586138ef74e6faab8f18d46242b9263e3cf8371a (diff)
parent1799b5b904e660ad0ec116fb1d49c31d1075f7f2 (diff)
downloadgsid-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.java14
-rw-r--r--tests/DsuGsiIntegrationTest.java24
-rw-r--r--tests/DsuTestBase.java10
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(