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
This commit is contained in:
@@ -31,7 +31,6 @@ import static org.mockito.Mockito.times;
|
|||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import android.app.AlarmManager;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.BatteryManager;
|
import android.os.BatteryManager;
|
||||||
@@ -48,6 +47,7 @@ import com.android.settings.testutils.FakeFeatureFactory;
|
|||||||
import com.android.settings.widget.UsageView;
|
import com.android.settings.widget.UsageView;
|
||||||
import com.android.settingslib.fuelgauge.Estimate;
|
import com.android.settingslib.fuelgauge.Estimate;
|
||||||
|
|
||||||
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Ignore;
|
import org.junit.Ignore;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -62,6 +62,7 @@ import java.time.Duration;
|
|||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.TimeZone;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@@ -102,6 +103,7 @@ public class BatteryInfoTest {
|
|||||||
private Intent mChargingBatteryBroadcast;
|
private Intent mChargingBatteryBroadcast;
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private FakeFeatureFactory mFeatureFactory;
|
private FakeFeatureFactory mFeatureFactory;
|
||||||
|
private TimeZone mOriginalTimeZone;
|
||||||
|
|
||||||
@Mock private BatteryUsageStats mBatteryUsageStats;
|
@Mock private BatteryUsageStats mBatteryUsageStats;
|
||||||
|
|
||||||
@@ -123,6 +125,13 @@ public class BatteryInfoTest {
|
|||||||
|
|
||||||
// Reset static cache for testing purpose.
|
// Reset static cache for testing purpose.
|
||||||
com.android.settingslib.fuelgauge.BatteryUtils.setChargingStringV2Enabled(null);
|
com.android.settingslib.fuelgauge.BatteryUtils.setChargingStringV2Enabled(null);
|
||||||
|
|
||||||
|
mOriginalTimeZone = TimeZone.getDefault();
|
||||||
|
}
|
||||||
|
|
||||||
|
@After
|
||||||
|
public void tearDown() throws Exception {
|
||||||
|
TimeZone.setDefault(mOriginalTimeZone);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -668,7 +677,7 @@ public class BatteryInfoTest {
|
|||||||
String expectedRemainingLabel,
|
String expectedRemainingLabel,
|
||||||
String expectedChargeLabel) {
|
String expectedChargeLabel) {
|
||||||
mContext.getResources().getConfiguration().setLocale(Locale.US);
|
mContext.getResources().getConfiguration().setLocale(Locale.US);
|
||||||
mContext.getSystemService(AlarmManager.class).setTimeZone("UTC");
|
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
|
||||||
var info =
|
var info =
|
||||||
BatteryInfo.getBatteryInfo(
|
BatteryInfo.getBatteryInfo(
|
||||||
mContext,
|
mContext,
|
||||||
|
Reference in New Issue
Block a user