diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java b/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java index 73a5d57e42..def3439eef 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java +++ b/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java @@ -87,8 +87,6 @@ abstract class AbstractRestrictBackgroundNetworkTestCase extends Instrumentation .getPackageInfo(mContext.getPackageName(), 0).applicationInfo.uid; Log.d(TAG, "UIDS: test app=" + myUid + ", app2=" + mUid); - - setMeteredNetwork(); } @Override diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/BatterySaverModeNonMeteredTest.java b/tests/cts/hostside/app/src/com/android/cts/net/hostside/BatterySaverModeNonMeteredTest.java new file mode 100644 index 0000000000..5181057d85 --- /dev/null +++ b/tests/cts/hostside/app/src/com/android/cts/net/hostside/BatterySaverModeNonMeteredTest.java @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.cts.net.hostside; + +//TODO: move this and BatterySaverModeTest's logic into a common superclass +public class BatterySaverModeNonMeteredTest extends AbstractRestrictBackgroundNetworkTestCase { + + @Override + public void setUp() throws Exception { + super.setUp(); + + setPowerSaveMode(false); + assertPowerSaveModeWhitelist(TEST_APP2_PKG, false); // Sanity check + registerApp2BroadcastReceiver(); + } + + @Override + protected void tearDown() throws Exception { + super.tearDown(); + + setPowerSaveMode(false); + } + + public void testBackgroundNetworkAccess_enabled() throws Exception { + setPowerSaveMode(true); + assertBackgroundNetworkAccess(false); + } + + public void testBackgroundNetworkAccess_whitelisted() throws Exception { + setPowerSaveMode(true); + assertBackgroundNetworkAccess(false); + addPowerSaveModeWhitelist(TEST_APP2_PKG); + assertBackgroundNetworkAccess(true); + removePowerSaveModeWhitelist(TEST_APP2_PKG); + assertBackgroundNetworkAccess(false); + } + + public void testBackgroundNetworkAccess_disabled() throws Exception { + setPowerSaveMode(false); + assertBackgroundNetworkAccess(true); + } +} diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/BatterySaverModeTest.java b/tests/cts/hostside/app/src/com/android/cts/net/hostside/BatterySaverModeTest.java index 29a0309bd1..18e2b3e054 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/BatterySaverModeTest.java +++ b/tests/cts/hostside/app/src/com/android/cts/net/hostside/BatterySaverModeTest.java @@ -16,12 +16,14 @@ package com.android.cts.net.hostside; +//TODO: move this and BatterySaverModeNonMeteredTest's logic into a common superclass public class BatterySaverModeTest extends AbstractRestrictBackgroundNetworkTestCase { @Override public void setUp() throws Exception { super.setUp(); + setMeteredNetwork(); setPowerSaveMode(false); assertPowerSaveModeWhitelist(TEST_APP2_PKG, false); // Sanity check registerApp2BroadcastReceiver(); diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java b/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java index 61593a1226..b9fca39312 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java +++ b/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java @@ -26,6 +26,7 @@ public class DataSaverModeTest extends AbstractRestrictBackgroundNetworkTestCase public void setUp() throws Exception { super.setUp(); + setMeteredNetwork(); setRestrictBackground(false); registerApp2BroadcastReceiver(); } diff --git a/tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java b/tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java index eade26184d..2bd76e6c93 100644 --- a/tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java +++ b/tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java @@ -100,6 +100,21 @@ public class HostsideRestrictBackgroundNetworkTests extends HostsideNetworkTestC assertPowerSaveModeWhitelist(TEST_PKG, false); } + public void testBatteryBatterySaverModeNonMeteredTest_disabled() throws Exception { + runDeviceTests(TEST_PKG, TEST_PKG + ".BatterySaverModeNonMeteredTest", + "testBackgroundNetworkAccess_disabled"); + } + + public void testBatteryBatterySaverModeNonMeteredTest_whitelisted() throws Exception { + runDeviceTests(TEST_PKG, TEST_PKG + ".BatterySaverModeNonMeteredTest", + "testBackgroundNetworkAccess_whitelisted"); + } + + public void testBatteryBatterySaverModeNonMeteredTest_enabled() throws Exception { + runDeviceTests(TEST_PKG, TEST_PKG + ".BatterySaverModeNonMeteredTest", + "testBackgroundNetworkAccess_enabled"); + } + private void assertRestrictBackgroundWhitelist(int uid, boolean expected) throws Exception { final int max_tries = 5; boolean actual = false;