[SettingsProvider] GenerationRegistry test for Global settings

BUG: 228619157
Test: atest com.android.providers.settings.GenerationRegistryTest
Change-Id: I5e050b4834d75ab9112efdcd25621ab88e16eb5c
This commit is contained in:
Songchun Fan
2023-03-14 18:09:14 -07:00
parent f4ad413f2e
commit 726c48c5a7
2 changed files with 23 additions and 0 deletions

View File

@@ -14,6 +14,12 @@
limitations under the License.
-->
<configuration description="Run Settings Provider Tests.">
<target_preparer class="com.android.tradefed.targetprep.DeviceSetup">
<option name="set-global-setting" key="verifier_verify_adb_installs" value="0" />
<option name="restore-settings" value="true" />
<option name="force-skip-system-props" value="true" />
</target_preparer>
<target_preparer class="com.android.tradefed.targetprep.TestAppInstallSetup">
<option name="test-file-name" value="SettingsProviderTest.apk" />
</target_preparer>

View File

@@ -170,6 +170,23 @@ public class GenerationRegistryTest {
checkBundle(b, 1, 2, false);
}
@Test
public void testGlobalSettings() throws IOException {
final GenerationRegistry generationRegistry = new GenerationRegistry(new Object());
final int globalKey = SettingsState.makeKey(SettingsState.SETTINGS_TYPE_GLOBAL, 0);
final String testGlobalSetting = "test_global_setting";
final Bundle b = new Bundle();
generationRegistry.addGenerationData(b, globalKey, testGlobalSetting);
checkBundle(b, 0, 1, false);
final MemoryIntArray array = getArray(b);
final int globalKey2 = SettingsState.makeKey(SettingsState.SETTINGS_TYPE_GLOBAL, 10);
b.clear();
generationRegistry.addGenerationData(b, globalKey2, testGlobalSetting);
checkBundle(b, 0, 1, false);
final MemoryIntArray array2 = getArray(b);
// Check that user10 and user0 use the same array to store global settings' generations
assertThat(array).isEqualTo(array2);
}
private void checkBundle(Bundle b, int expectedIndex, int expectedGeneration, boolean isNull)
throws IOException {