summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHui Wang <huiwang@google.com>2022-02-09 18:45:04 +0000
committerHui Wang <huiwang@google.com>2022-02-09 23:35:06 +0000
commit066a4eb2a4e3b0d78d78dfc969e499837c68c912 (patch)
tree656faa14fce7474ca8b4bfc283307ef34bf10d03
parentdbc501f6aee7e87ff3e10d60c54c4ff6a820faaa (diff)
downloadCellBroadcastReceiver-066a4eb2a4e3b0d78d78dfc969e499837c68c912.tar.gz
Fix the flaky test for Android R
Before S, SubscriptionManager#getResourcesForSubId caches the resources for the valid sub no matter whether the mnc is valid. In this case, there is no more interaction to get the resources for the same sub id. Bug: 218685120 Test: atest CellBroadcastReceiverUnitTests:CellBroadcastSettingsTest Change-Id: I7b430be95c24421068c21a7043402fa6c9436b49
-rw-r--r--tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastSettingsTest.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastSettingsTest.java b/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastSettingsTest.java
index 16a5e8ea1..a6b64329e 100644
--- a/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastSettingsTest.java
+++ b/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastSettingsTest.java
@@ -51,6 +51,7 @@ import androidx.test.runner.AndroidJUnit4;
import com.android.cellbroadcastreceiver.CellBroadcastConfigService;
import com.android.cellbroadcastreceiver.CellBroadcastSettings;
+import com.android.modules.utils.build.SdkLevel;
import junit.framework.Assert;
@@ -226,25 +227,27 @@ public class CellBroadcastSettingsTest extends
// The resources will be cached for ths sub
config.mcc = 123;
config.mnc = 456;
+ // The cache logic is updated on S
+ final int timesExpected = SdkLevel.isAtLeastS() ? 2 : 1;
CellBroadcastSettings.getResources(
mockContext, SubscriptionManager.DEFAULT_SUBSCRIPTION_ID - 1);
verify(mockContext, times(2)).getResources();
- verify(mockContext2, times(2)).getResources();
+ verify(mockContext2, times(timesExpected)).getResources();
// The resources should be read from the cached directly
CellBroadcastSettings.getResources(
mockContext, SubscriptionManager.DEFAULT_SUBSCRIPTION_ID - 1);
verify(mockContext, times(2)).getResources();
- verify(mockContext2, times(2)).getResources();
+ verify(mockContext2, times(timesExpected)).getResources();
CellBroadcastSettings.getResources(
mockContext, SubscriptionManager.DEFAULT_SUBSCRIPTION_ID - 2);
verify(mockContext, times(2)).getResources();
- verify(mockContext2, times(3)).getResources();
+ verify(mockContext2, times(timesExpected + 1)).getResources();
}
@Test