From 93599816d09896e653ab391784c5204d96a36da8 Mon Sep 17 00:00:00 2001 From: pajacechen Date: Thu, 11 Apr 2024 21:42:36 +0800 Subject: [PATCH] Fix filed test case in BatteryInfoTest Root cause: the test case has timezone dependency, it need to set timezone before run the test case or it will be failed on different timezone. Solution: Replace AlarmManager.setTimeZone with TimeZone.setDefault, AlarmManager.setTimeZone() seems failed to change timezone for test case. Fix: 333857349 Test: http://ab/I51500010265016400 Change-Id: Id36dd10866720cba19cce471d294e09272c8091f --- .../android/settings/fuelgauge/BatteryInfoTest.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java index e6325968b33..7c455f805fd 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java @@ -31,7 +31,6 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.AlarmManager; import android.content.Context; import android.content.Intent; import android.os.BatteryManager; @@ -48,6 +47,7 @@ import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.widget.UsageView; import com.android.settingslib.fuelgauge.Estimate; +import org.junit.After; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; @@ -62,6 +62,7 @@ import java.time.Duration; import java.time.Instant; import java.util.Locale; import java.util.Map; +import java.util.TimeZone; import java.util.concurrent.TimeUnit; @RunWith(RobolectricTestRunner.class) @@ -102,6 +103,7 @@ public class BatteryInfoTest { private Intent mChargingBatteryBroadcast; private Context mContext; private FakeFeatureFactory mFeatureFactory; + private TimeZone mOriginalTimeZone; @Mock private BatteryUsageStats mBatteryUsageStats; @@ -123,6 +125,13 @@ public class BatteryInfoTest { // Reset static cache for testing purpose. com.android.settingslib.fuelgauge.BatteryUtils.setChargingStringV2Enabled(null); + + mOriginalTimeZone = TimeZone.getDefault(); + } + + @After + public void tearDown() throws Exception { + TimeZone.setDefault(mOriginalTimeZone); } @Test @@ -668,7 +677,7 @@ public class BatteryInfoTest { String expectedRemainingLabel, String expectedChargeLabel) { mContext.getResources().getConfiguration().setLocale(Locale.US); - mContext.getSystemService(AlarmManager.class).setTimeZone("UTC"); + TimeZone.setDefault(TimeZone.getTimeZone("UTC")); var info = BatteryInfo.getBatteryInfo( mContext,