Try disabling phenotype flag syncing earlier.
Before this change, we disable phenotype flag syncing during the test,
but it seems to be too late. The test were failing because the device
got flags from the server before syncing was disabled.
This change tries to disable phenotype flag syncing by a test preparer
to make it happen earlier.
Bug: 287005577
Test: Presubmit
Change-Id: Iffb1ff8e7654452c9ef62ba224177c6bcbee45ed
diff --git a/test/odsign/odsign-e2e-tests-full.xml b/test/odsign/odsign-e2e-tests-full.xml
index a674721..7ece8e0 100644
--- a/test/odsign/odsign-e2e-tests-full.xml
+++ b/test/odsign/odsign-e2e-tests-full.xml
@@ -19,6 +19,11 @@
<target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer" />
+ <!-- Disable syncing to prevent overwriting flags during testing. -->
+ <target_preparer class="com.android.tradefed.targetprep.DeviceSetup" >
+ <option name="disable-device-config-sync" value="true" />
+ </target_preparer>
+
<test class="com.android.tradefed.testtype.HostTest" >
<option name="jar" value="odsign_e2e_tests_full.jar" />
</test>
diff --git a/test/odsign/test-src/com/android/tests/odsign/DeviceState.java b/test/odsign/test-src/com/android/tests/odsign/DeviceState.java
index 62adcab..d1df79a 100644
--- a/test/odsign/test-src/com/android/tests/odsign/DeviceState.java
+++ b/test/odsign/test-src/com/android/tests/odsign/DeviceState.java
@@ -80,11 +80,6 @@
"device_config delete '%s' '%s'", PHENOTYPE_FLAG_NAMESPACE, flag));
}
- if (!mMutatedPhenotypeFlags.isEmpty()) {
- mTestInfo.getDevice().executeShellV2Command(
- "device_config set_sync_disabled_for_tests none");
- }
-
for (var entry : mDeletedFiles.entrySet()) {
mTestInfo.getDevice().executeShellV2Command(
String.format("cp '%s' '%s'", entry.getValue(), entry.getKey()));
@@ -190,11 +185,6 @@
mMutatedPhenotypeFlags.add(key);
}
- // Disable phenotype flag syncing. Potentially, we can set `set_sync_disabled_for_tests` to
- // `until_reboot`, but setting it to `persistent` prevents unrelated system crashes/restarts
- // from affecting the test. `set_sync_disabled_for_tests` is reset in `restore` anyway.
- mTestUtils.assertCommandSucceeds("device_config set_sync_disabled_for_tests persistent");
-
if (value != null) {
mTestUtils.assertCommandSucceeds(String.format(
"device_config put '%s' '%s' '%s'", PHENOTYPE_FLAG_NAMESPACE, key, value));