From 9280a391672b4eeea25d5bd99f68ba9da63f178a Mon Sep 17 00:00:00 2001 From: JW Wang Date: Mon, 8 Aug 2022 17:01:38 +0800 Subject: [PATCH] Fix remounting /vendor remountVendorWritable() should be called when remounting /vendor Bug: 242272856 Test: atest StagedInstallInternalTest Change-Id: Id699892ae935b2214f7f9bf3c2cc87c3d8ef6690 --- .../host/StagedInstallInternalTest.java | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/tests/StagedInstallTest/src/com/android/tests/stagedinstallinternal/host/StagedInstallInternalTest.java b/tests/StagedInstallTest/src/com/android/tests/stagedinstallinternal/host/StagedInstallInternalTest.java index c4cb33da4a6d9..44265511ee500 100644 --- a/tests/StagedInstallTest/src/com/android/tests/stagedinstallinternal/host/StagedInstallInternalTest.java +++ b/tests/StagedInstallTest/src/com/android/tests/stagedinstallinternal/host/StagedInstallInternalTest.java @@ -123,16 +123,27 @@ public class StagedInstallInternalTest extends BaseHostJUnit4Test { } boolean found = false; + boolean remountSystem = false; + boolean remountVendor = false; for (String file : files) { CommandResult result = getDevice().executeShellV2Command("ls " + file); if (result.getStatus() == CommandStatus.SUCCESS) { found = true; - break; + if (file.startsWith("/system")) { + remountSystem = true; + } else if (file.startsWith("/vendor")) { + remountVendor = true; + } } } if (found) { - getDevice().remountSystemWritable(); + if (remountSystem) { + getDevice().remountSystemWritable(); + } + if (remountVendor) { + getDevice().remountVendorWritable(); + } for (String file : files) { getDevice().executeShellCommand("rm -rf " + file); } @@ -150,7 +161,11 @@ public class StagedInstallInternalTest extends BaseHostJUnit4Test { if (!getDevice().isAdbRoot()) { getDevice().enableAdbRoot(); } - getDevice().remountSystemWritable(); + if ("system".equals(partition)) { + getDevice().remountSystemWritable(); + } else if ("vendor".equals(partition)) { + getDevice().remountVendorWritable(); + } assertTrue(getDevice().pushFile(apex, "/" + partition + "/apex/" + fileName)); } @@ -158,7 +173,7 @@ public class StagedInstallInternalTest extends BaseHostJUnit4Test { if (!getDevice().isAdbRoot()) { getDevice().enableAdbRoot(); } - getDevice().remountSystemWritable(); + getDevice().remountVendorWritable(); File file = File.createTempFile("test-vendor-apex-allow-list", ".xml"); try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) { final String fmt =