From 0001cfd931e810acc905cf43292cd32e58ec5213 Mon Sep 17 00:00:00 2001 From: Suprabh Shukla Date: Mon, 8 Apr 2024 18:57:28 -0700 Subject: [PATCH] Breaking up hostside network tests module Tests for the connectivity module and network policy are both currently residing in the same cts module leading to significant problems while maintaining the tests. Breaking them up into two separate modules so making changes and maintaining error free tests is easier. Development of network policy changes occurs in non-updatable system code so relevant tests should be moved outside of the apex module respository. This will be possible after this change. Network policy related tests are moved to the new module CtsHostsideNetworkPolicyTests, with classes renamed accordingly. Since some code was shared between tests, that code is now duplicated in the new module. No functional change to tests is intended. Further refactorings to better suit the new structure should be pursued independently via follow-up changes in respective modules from now on. Test: atest CtsHostsideNetworkTests Test: atest CtsHostsideNetworkPolicyTests Bug: 322115994 Change-Id: I2c6ad2281ede6bad099c971b1f212244881a262d --- tests/cts/hostside-network-policy/Android.bp | 46 +++++ .../hostside-network-policy/AndroidTest.xml | 51 +++++ tests/cts/hostside-network-policy/OWNERS | 3 + .../cts/hostside-network-policy/TEST_MAPPING | 27 +++ .../hostside-network-policy/aidl/Android.bp | 26 +++ .../cts/netpolicy}/hostside/IMyService.aidl | 6 +- .../netpolicy}/hostside/INetworkCallback.aidl | 2 +- .../hostside/INetworkStateObserver.aidl | 4 +- .../hostside/NetworkCheckResult.aidl | 2 +- .../hostside-network-policy/app/Android.bp | 57 ++++++ .../app/AndroidManifest.xml | 50 +++++ .../hostside/AbstractAppIdleTestCase.java | 6 +- .../AbstractBatterySaverModeTestCase.java | 4 +- .../AbstractDefaultRestrictionsTest.java | 2 +- .../hostside/AbstractDozeModeTestCase.java | 6 +- .../hostside/AbstractExpeditedJobTest.java | 14 +- ...ractRestrictBackgroundNetworkTestCase.java | 38 ++-- .../hostside/AppIdleMeteredTest.java | 4 +- .../hostside/AppIdleNonMeteredTest.java | 4 +- .../hostside/BatterySaverModeMeteredTest.java | 4 +- .../BatterySaverModeNonMeteredTest.java | 4 +- .../hostside/ConnOnActivityStartTest.java | 18 +- .../hostside/DataSaverModeTest.java | 10 +- .../hostside/DataWarningReceiverTest.java | 4 +- .../DefaultRestrictionsMeteredTest.java | 4 +- .../DefaultRestrictionsNonMeteredTest.java | 4 +- .../hostside/DozeModeMeteredTest.java | 4 +- .../hostside/DozeModeNonMeteredTest.java | 4 +- .../hostside/DumpOnFailureRule.java | 10 +- .../hostside/ExpeditedJobMeteredTest.java | 4 +- .../hostside/ExpeditedJobNonMeteredTest.java | 4 +- .../MeterednessConfigurationRule.java | 8 +- .../netpolicy}/hostside/MixedModesTest.java | 16 +- .../MyNotificationListenerService.java | 2 +- .../netpolicy}/hostside/MyServiceClient.java | 2 +- .../hostside/NetworkCallbackTest.java | 12 +- .../hostside/NetworkPolicyManagerTest.java | 14 +- .../hostside/NetworkPolicyTestRunner.java | 2 +- .../hostside/NetworkPolicyTestUtils.java | 4 +- .../cts/netpolicy}/hostside/Property.java | 16 +- .../hostside/RequiredProperties.java | 2 +- .../hostside/RequiredPropertiesRule.java | 4 +- .../hostside/RestrictedModeTest.java | 2 +- .../hostside-network-policy/app2/Android.bp | 39 ++++ .../app2/AndroidManifest.xml | 77 +++++++ .../app2/res/drawable/ic_notification.png | Bin .../cts/netpolicy}/hostside/app2/Common.java | 22 +- .../netpolicy}/hostside/app2/MyActivity.java | 8 +- .../hostside/app2/MyBroadcastReceiver.java | 26 +-- .../hostside/app2/MyForegroundService.java | 10 +- .../hostside/app2/MyJobService.java | 8 +- .../netpolicy}/hostside/app2/MyService.java | 16 +- .../certs/Android.bp | 4 +- .../certs/README | 0 .../certs/cts-net-app.pk8 | Bin .../certs/cts-net-app.x509.pem | 0 .../instrumentation_arguments/Android.bp | 0 .../arguments/InstrumentationArguments.java | 2 +- .../HostsideConnOnActivityStartTest.java | 9 +- ...stsideDefaultNetworkRestrictionsTests.java | 11 +- .../HostsideNetworkCallbackTests.java | 10 +- .../HostsideNetworkPolicyManagerTests.java | 6 +- .../HostsideNetworkPolicyTestCase.java | 189 ++++++++++++++++++ ...ostsideRestrictBackgroundNetworkTests.java | 8 +- .../NetworkPolicyTestsPreparer.java | 2 +- tests/cts/hostside/Android.bp | 1 - tests/cts/hostside/AndroidTest.xml | 2 - tests/cts/hostside/OWNERS | 4 - tests/cts/hostside/app/Android.bp | 1 - tests/cts/hostside/app/AndroidManifest.xml | 8 - tests/cts/hostside/app2/Android.bp | 1 - tests/cts/hostside/app2/AndroidManifest.xml | 25 --- .../cts/net/HostsideNetworkTestCase.java | 96 --------- 73 files changed, 761 insertions(+), 334 deletions(-) create mode 100644 tests/cts/hostside-network-policy/Android.bp create mode 100644 tests/cts/hostside-network-policy/AndroidTest.xml create mode 100644 tests/cts/hostside-network-policy/OWNERS create mode 100644 tests/cts/hostside-network-policy/TEST_MAPPING create mode 100644 tests/cts/hostside-network-policy/aidl/Android.bp rename tests/cts/{hostside/aidl/com/android/cts/net => hostside-network-policy/aidl/com/android/cts/netpolicy}/hostside/IMyService.aidl (87%) rename tests/cts/{hostside/aidl/com/android/cts/net => hostside-network-policy/aidl/com/android/cts/netpolicy}/hostside/INetworkCallback.aidl (95%) rename tests/cts/{hostside/aidl/com/android/cts/net => hostside-network-policy/aidl/com/android/cts/netpolicy}/hostside/INetworkStateObserver.aidl (90%) rename tests/cts/{hostside/aidl/com/android/cts/net => hostside-network-policy/aidl/com/android/cts/netpolicy}/hostside/NetworkCheckResult.aidl (94%) create mode 100644 tests/cts/hostside-network-policy/app/Android.bp create mode 100644 tests/cts/hostside-network-policy/app/AndroidManifest.xml rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/AbstractAppIdleTestCase.java (97%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/AbstractBatterySaverModeTestCase.java (96%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/AbstractDefaultRestrictionsTest.java (98%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/AbstractDozeModeTestCase.java (96%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/AbstractExpeditedJobTest.java (88%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/AbstractRestrictBackgroundNetworkTestCase.java (97%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/AppIdleMeteredTest.java (85%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/AppIdleNonMeteredTest.java (85%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/BatterySaverModeMeteredTest.java (86%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/BatterySaverModeNonMeteredTest.java (86%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/ConnOnActivityStartTest.java (85%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/DataSaverModeTest.java (95%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/DataWarningReceiverTest.java (96%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/DefaultRestrictionsMeteredTest.java (86%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/DefaultRestrictionsNonMeteredTest.java (86%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/DozeModeMeteredTest.java (86%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/DozeModeNonMeteredTest.java (85%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/DumpOnFailureRule.java (92%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/ExpeditedJobMeteredTest.java (86%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/ExpeditedJobNonMeteredTest.java (85%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/MeterednessConfigurationRule.java (86%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/MixedModesTest.java (95%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/MyNotificationListenerService.java (99%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/MyServiceClient.java (99%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/NetworkCallbackTest.java (97%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/NetworkPolicyManagerTest.java (95%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/NetworkPolicyTestRunner.java (97%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/NetworkPolicyTestUtils.java (99%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/Property.java (72%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/RequiredProperties.java (95%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/RequiredPropertiesRule.java (96%) rename tests/cts/{hostside/app/src/com/android/cts/net => hostside-network-policy/app/src/com/android/cts/netpolicy}/hostside/RestrictedModeTest.java (98%) create mode 100644 tests/cts/hostside-network-policy/app2/Android.bp create mode 100644 tests/cts/hostside-network-policy/app2/AndroidManifest.xml rename tests/cts/{hostside => hostside-network-policy}/app2/res/drawable/ic_notification.png (100%) rename tests/cts/{hostside/app2/src/com/android/cts/net => hostside-network-policy/app2/src/com/android/cts/netpolicy}/hostside/app2/Common.java (92%) rename tests/cts/{hostside/app2/src/com/android/cts/net => hostside-network-policy/app2/src/com/android/cts/netpolicy}/hostside/app2/MyActivity.java (91%) rename tests/cts/{hostside/app2/src/com/android/cts/net => hostside-network-policy/app2/src/com/android/cts/netpolicy}/hostside/app2/MyBroadcastReceiver.java (86%) rename tests/cts/{hostside/app2/src/com/android/cts/net => hostside-network-policy/app2/src/com/android/cts/netpolicy}/hostside/app2/MyForegroundService.java (88%) rename tests/cts/{hostside/app2/src/com/android/cts/net => hostside-network-policy/app2/src/com/android/cts/netpolicy}/hostside/app2/MyJobService.java (90%) rename tests/cts/{hostside/app2/src/com/android/cts/net => hostside-network-policy/app2/src/com/android/cts/netpolicy}/hostside/app2/MyService.java (93%) rename tests/cts/{hostside => hostside-network-policy}/certs/Android.bp (59%) rename tests/cts/{hostside => hostside-network-policy}/certs/README (100%) rename tests/cts/{hostside => hostside-network-policy}/certs/cts-net-app.pk8 (100%) rename tests/cts/{hostside => hostside-network-policy}/certs/cts-net-app.x509.pem (100%) rename tests/cts/{hostside => hostside-network-policy}/instrumentation_arguments/Android.bp (100%) rename tests/cts/{hostside/instrumentation_arguments/src/com/android/cts/net => hostside-network-policy/instrumentation_arguments/src/com/android/cts/netpolicy}/arguments/InstrumentationArguments.java (94%) rename tests/cts/{hostside/src/com/android/cts/net => hostside-network-policy/src/com/android/cts/netpolicy}/HostsideConnOnActivityStartTest.java (91%) rename tests/cts/{hostside/src/com/android/cts/net => hostside-network-policy/src/com/android/cts/netpolicy}/HostsideDefaultNetworkRestrictionsTests.java (93%) rename tests/cts/{hostside/src/com/android/cts/net => hostside-network-policy/src/com/android/cts/netpolicy}/HostsideNetworkCallbackTests.java (88%) rename tests/cts/{hostside/src/com/android/cts/net => hostside-network-policy/src/com/android/cts/netpolicy}/HostsideNetworkPolicyManagerTests.java (95%) create mode 100644 tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideNetworkPolicyTestCase.java rename tests/cts/{hostside/src/com/android/cts/net => hostside-network-policy/src/com/android/cts/netpolicy}/HostsideRestrictBackgroundNetworkTests.java (99%) rename tests/cts/{hostside/src/com/android/cts/net => hostside-network-policy/src/com/android/cts/netpolicy}/NetworkPolicyTestsPreparer.java (99%) delete mode 100644 tests/cts/hostside/OWNERS diff --git a/tests/cts/hostside-network-policy/Android.bp b/tests/cts/hostside-network-policy/Android.bp new file mode 100644 index 0000000000..c3ce0b95a5 --- /dev/null +++ b/tests/cts/hostside-network-policy/Android.bp @@ -0,0 +1,46 @@ +// Copyright (C) 2024 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 { + default_team: "trendy_team_framework_backstage_power", + default_applicable_licenses: ["Android-Apache-2.0"], +} + +java_test_host { + name: "CtsHostsideNetworkPolicyTests", + defaults: ["cts_defaults"], + // Only compile source java files in this apk. + srcs: [ + "src/**/*.java", + ":ArgumentConstants", + ], + libs: [ + "cts-tradefed", + "tradefed", + ], + static_libs: [ + "modules-utils-build-testing", + ], + // Tag this module as a cts test artifact + test_suites: [ + "cts", + "general-tests", + "sts", + ], + data: [ + ":CtsHostsideNetworkPolicyTestsApp", + ":CtsHostsideNetworkPolicyTestsApp2", + ], + per_testcase_directory: true, +} diff --git a/tests/cts/hostside-network-policy/AndroidTest.xml b/tests/cts/hostside-network-policy/AndroidTest.xml new file mode 100644 index 0000000000..44f77f8d0c --- /dev/null +++ b/tests/cts/hostside-network-policy/AndroidTest.xml @@ -0,0 +1,51 @@ + + + + diff --git a/tests/cts/hostside-network-policy/OWNERS b/tests/cts/hostside-network-policy/OWNERS new file mode 100644 index 0000000000..ea83e61a5c --- /dev/null +++ b/tests/cts/hostside-network-policy/OWNERS @@ -0,0 +1,3 @@ +# Bug component: 61373 +# Inherits parent owners +include platform/frameworks/base:/services/core/java/com/android/server/net/OWNERS diff --git a/tests/cts/hostside-network-policy/TEST_MAPPING b/tests/cts/hostside-network-policy/TEST_MAPPING new file mode 100644 index 0000000000..57ac4f7beb --- /dev/null +++ b/tests/cts/hostside-network-policy/TEST_MAPPING @@ -0,0 +1,27 @@ +{ + "presubmit-large": [ + { + "name": "CtsHostsideNetworkPolicyTests", + "options": [ + { + "exclude-annotation": "android.platform.test.annotations.FlakyTest" + }, + { + "exclude-annotation": "android.platform.test.annotations.RequiresDevice" + } + ] + } + ], + "postsubmit": [ + { + // Postsubmit on virtual devices to monitor flakiness of all tests that don't require a + // physical device + "name": "CtsHostsideNetworkPolicyTests", + "options": [ + { + "exclude-annotation": "androidx.test.filters.RequiresDevice" + } + ] + } + ] +} diff --git a/tests/cts/hostside-network-policy/aidl/Android.bp b/tests/cts/hostside-network-policy/aidl/Android.bp new file mode 100644 index 0000000000..b18209068b --- /dev/null +++ b/tests/cts/hostside-network-policy/aidl/Android.bp @@ -0,0 +1,26 @@ +// Copyright (C) 2024 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 { + default_team: "trendy_team_framework_backstage_power", + default_applicable_licenses: ["Android-Apache-2.0"], +} + +java_test_helper_library { + name: "CtsHostsideNetworkPolicyTestsAidl", + sdk_version: "current", + srcs: [ + "com/android/cts/netpolicy/hostside/*.aidl", + ], +} diff --git a/tests/cts/hostside/aidl/com/android/cts/net/hostside/IMyService.aidl b/tests/cts/hostside-network-policy/aidl/com/android/cts/netpolicy/hostside/IMyService.aidl similarity index 87% rename from tests/cts/hostside/aidl/com/android/cts/net/hostside/IMyService.aidl rename to tests/cts/hostside-network-policy/aidl/com/android/cts/netpolicy/hostside/IMyService.aidl index 906024b82b..068d9d8f97 100644 --- a/tests/cts/hostside/aidl/com/android/cts/net/hostside/IMyService.aidl +++ b/tests/cts/hostside-network-policy/aidl/com/android/cts/netpolicy/hostside/IMyService.aidl @@ -14,12 +14,12 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; import android.app.job.JobInfo; -import com.android.cts.net.hostside.INetworkCallback; -import com.android.cts.net.hostside.NetworkCheckResult; +import com.android.cts.netpolicy.hostside.INetworkCallback; +import com.android.cts.netpolicy.hostside.NetworkCheckResult; interface IMyService { void registerBroadcastReceiver(); diff --git a/tests/cts/hostside/aidl/com/android/cts/net/hostside/INetworkCallback.aidl b/tests/cts/hostside-network-policy/aidl/com/android/cts/netpolicy/hostside/INetworkCallback.aidl similarity index 95% rename from tests/cts/hostside/aidl/com/android/cts/net/hostside/INetworkCallback.aidl rename to tests/cts/hostside-network-policy/aidl/com/android/cts/netpolicy/hostside/INetworkCallback.aidl index 2048bab498..38efc7b0af 100644 --- a/tests/cts/hostside/aidl/com/android/cts/net/hostside/INetworkCallback.aidl +++ b/tests/cts/hostside-network-policy/aidl/com/android/cts/netpolicy/hostside/INetworkCallback.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; import android.net.Network; import android.net.NetworkCapabilities; diff --git a/tests/cts/hostside/aidl/com/android/cts/net/hostside/INetworkStateObserver.aidl b/tests/cts/hostside-network-policy/aidl/com/android/cts/netpolicy/hostside/INetworkStateObserver.aidl similarity index 90% rename from tests/cts/hostside/aidl/com/android/cts/net/hostside/INetworkStateObserver.aidl rename to tests/cts/hostside-network-policy/aidl/com/android/cts/netpolicy/hostside/INetworkStateObserver.aidl index 8ef465970f..c6b7a1c346 100644 --- a/tests/cts/hostside/aidl/com/android/cts/net/hostside/INetworkStateObserver.aidl +++ b/tests/cts/hostside-network-policy/aidl/com/android/cts/netpolicy/hostside/INetworkStateObserver.aidl @@ -14,11 +14,11 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; import android.net.NetworkInfo; -import com.android.cts.net.hostside.NetworkCheckResult; +import com.android.cts.netpolicy.hostside.NetworkCheckResult; interface INetworkStateObserver { void onNetworkStateChecked(int resultCode, in NetworkCheckResult networkCheckResult); diff --git a/tests/cts/hostside/aidl/com/android/cts/net/hostside/NetworkCheckResult.aidl b/tests/cts/hostside-network-policy/aidl/com/android/cts/netpolicy/hostside/NetworkCheckResult.aidl similarity index 94% rename from tests/cts/hostside/aidl/com/android/cts/net/hostside/NetworkCheckResult.aidl rename to tests/cts/hostside-network-policy/aidl/com/android/cts/netpolicy/hostside/NetworkCheckResult.aidl index cdd6b7010f..7aac2ab5e3 100644 --- a/tests/cts/hostside/aidl/com/android/cts/net/hostside/NetworkCheckResult.aidl +++ b/tests/cts/hostside-network-policy/aidl/com/android/cts/netpolicy/hostside/NetworkCheckResult.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; import android.net.NetworkInfo; diff --git a/tests/cts/hostside-network-policy/app/Android.bp b/tests/cts/hostside-network-policy/app/Android.bp new file mode 100644 index 0000000000..a31c843b7b --- /dev/null +++ b/tests/cts/hostside-network-policy/app/Android.bp @@ -0,0 +1,57 @@ +// +// Copyright (C) 2024 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 { + default_team: "trendy_team_framework_backstage_power", + default_applicable_licenses: ["Android-Apache-2.0"], +} + +java_defaults { + name: "CtsHostsideNetworkPolicyTestsAppDefaults", + platform_apis: true, + static_libs: [ + "CtsHostsideNetworkPolicyTestsAidl", + "androidx.test.ext.junit", + "androidx.test.rules", + "androidx.test.uiautomator_uiautomator", + "compatibility-device-util-axt", + "cts-net-utils", + "ctstestrunner-axt", + "modules-utils-build", + ], + libs: [ + "android.test.runner", + "android.test.base", + ], + srcs: [ + "src/**/*.java", + ":ArgumentConstants", + ], + // Tag this module as a cts test artifact + test_suites: [ + "general-tests", + "sts", + ], +} + +android_test_helper_app { + name: "CtsHostsideNetworkPolicyTestsApp", + defaults: [ + "cts_support_defaults", + "framework-connectivity-test-defaults", + "CtsHostsideNetworkPolicyTestsAppDefaults", + ], +} diff --git a/tests/cts/hostside-network-policy/app/AndroidManifest.xml b/tests/cts/hostside-network-policy/app/AndroidManifest.xml new file mode 100644 index 0000000000..f19e35f4d8 --- /dev/null +++ b/tests/cts/hostside-network-policy/app/AndroidManifest.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractAppIdleTestCase.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AbstractAppIdleTestCase.java similarity index 97% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractAppIdleTestCase.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AbstractAppIdleTestCase.java index d9ff53955c..19e4364a8e 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractAppIdleTestCase.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AbstractAppIdleTestCase.java @@ -14,10 +14,10 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.Property.APP_STANDBY_MODE; -import static com.android.cts.net.hostside.Property.BATTERY_SAVER_MODE; +import static com.android.cts.netpolicy.hostside.Property.APP_STANDBY_MODE; +import static com.android.cts.netpolicy.hostside.Property.BATTERY_SAVER_MODE; import static org.junit.Assert.assertEquals; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractBatterySaverModeTestCase.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AbstractBatterySaverModeTestCase.java similarity index 96% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractBatterySaverModeTestCase.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AbstractBatterySaverModeTestCase.java index 0d7365f786..ae226e241d 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractBatterySaverModeTestCase.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AbstractBatterySaverModeTestCase.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.Property.BATTERY_SAVER_MODE; +import static com.android.cts.netpolicy.hostside.Property.BATTERY_SAVER_MODE; import org.junit.After; import org.junit.Before; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractDefaultRestrictionsTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AbstractDefaultRestrictionsTest.java similarity index 98% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractDefaultRestrictionsTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AbstractDefaultRestrictionsTest.java index 8a3e79021d..da633c0795 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractDefaultRestrictionsTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AbstractDefaultRestrictionsTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; import static android.app.ActivityManager.PROCESS_STATE_TOP_SLEEPING; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractDozeModeTestCase.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AbstractDozeModeTestCase.java similarity index 96% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractDozeModeTestCase.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AbstractDozeModeTestCase.java index b03795321a..0c8cb7066b 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractDozeModeTestCase.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AbstractDozeModeTestCase.java @@ -14,12 +14,12 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; import static android.app.ActivityManager.PROCESS_STATE_BOUND_FOREGROUND_SERVICE; -import static com.android.cts.net.hostside.Property.DOZE_MODE; -import static com.android.cts.net.hostside.Property.NOT_LOW_RAM_DEVICE; +import static com.android.cts.netpolicy.hostside.Property.DOZE_MODE; +import static com.android.cts.netpolicy.hostside.Property.NOT_LOW_RAM_DEVICE; import android.os.SystemClock; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractExpeditedJobTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AbstractExpeditedJobTest.java similarity index 88% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractExpeditedJobTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AbstractExpeditedJobTest.java index 7cac2afee9..5435920842 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractExpeditedJobTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AbstractExpeditedJobTest.java @@ -14,14 +14,14 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.setRestrictBackground; -import static com.android.cts.net.hostside.Property.APP_STANDBY_MODE; -import static com.android.cts.net.hostside.Property.BATTERY_SAVER_MODE; -import static com.android.cts.net.hostside.Property.DATA_SAVER_MODE; -import static com.android.cts.net.hostside.Property.DOZE_MODE; -import static com.android.cts.net.hostside.Property.METERED_NETWORK; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.setRestrictBackground; +import static com.android.cts.netpolicy.hostside.Property.APP_STANDBY_MODE; +import static com.android.cts.netpolicy.hostside.Property.BATTERY_SAVER_MODE; +import static com.android.cts.netpolicy.hostside.Property.DATA_SAVER_MODE; +import static com.android.cts.netpolicy.hostside.Property.DOZE_MODE; +import static com.android.cts.netpolicy.hostside.Property.METERED_NETWORK; import org.junit.After; import org.junit.Before; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AbstractRestrictBackgroundNetworkTestCase.java similarity index 97% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AbstractRestrictBackgroundNetworkTestCase.java index 4437986fd9..d0203c5bed 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AbstractRestrictBackgroundNetworkTestCase.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; import static android.app.ActivityManager.PROCESS_STATE_BOUND_FOREGROUND_SERVICE; import static android.app.ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE; @@ -23,18 +23,18 @@ import static android.app.job.JobScheduler.RESULT_SUCCESS; import static android.net.ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED; import static android.os.BatteryManager.BATTERY_PLUGGED_ANY; -import static com.android.cts.net.arguments.InstrumentationArguments.ARG_CONNECTION_CHECK_CUSTOM_URL; -import static com.android.cts.net.arguments.InstrumentationArguments.ARG_WAIVE_BIND_PRIORITY; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.executeShellCommand; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.forceRunJob; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.getConnectivityManager; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.getContext; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.getInstrumentation; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.isAppStandbySupported; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.isBatterySaverSupported; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.isDozeModeSupported; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.restrictBackgroundValueToString; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.setRestrictBackgroundInternal; +import static com.android.cts.netpolicy.arguments.InstrumentationArguments.ARG_CONNECTION_CHECK_CUSTOM_URL; +import static com.android.cts.netpolicy.arguments.InstrumentationArguments.ARG_WAIVE_BIND_PRIORITY; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.executeShellCommand; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.forceRunJob; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.getConnectivityManager; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.getContext; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.getInstrumentation; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.isAppStandbySupported; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.isBatterySaverSupported; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.isDozeModeSupported; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.restrictBackgroundValueToString; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.setRestrictBackgroundInternal; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -93,8 +93,8 @@ import java.util.function.Predicate; public abstract class AbstractRestrictBackgroundNetworkTestCase { public static final String TAG = "RestrictBackgroundNetworkTests"; - protected static final String TEST_PKG = "com.android.cts.net.hostside"; - protected static final String TEST_APP2_PKG = "com.android.cts.net.hostside.app2"; + protected static final String TEST_PKG = "com.android.cts.netpolicy.hostside"; + protected static final String TEST_APP2_PKG = "com.android.cts.netpolicy.hostside.app2"; // TODO(b/321797685): Configure it via device-config once it is available. protected static final long PROCESS_STATE_TRANSITION_DELAY_MS = TimeUnit.SECONDS.toMillis(5); @@ -112,17 +112,17 @@ public abstract class AbstractRestrictBackgroundNetworkTestCase { private static final String MANIFEST_RECEIVER = "ManifestReceiver"; private static final String DYNAMIC_RECEIVER = "DynamicReceiver"; private static final String ACTION_FINISH_ACTIVITY = - "com.android.cts.net.hostside.app2.action.FINISH_ACTIVITY"; + "com.android.cts.netpolicy.hostside.app2.action.FINISH_ACTIVITY"; private static final String ACTION_FINISH_JOB = - "com.android.cts.net.hostside.app2.action.FINISH_JOB"; + "com.android.cts.netpolicy.hostside.app2.action.FINISH_JOB"; // Copied from com.android.server.net.NetworkPolicyManagerService class private static final String ACTION_SNOOZE_WARNING = "com.android.server.net.action.SNOOZE_WARNING"; private static final String ACTION_RECEIVER_READY = - "com.android.cts.net.hostside.app2.action.RECEIVER_READY"; + "com.android.cts.netpolicy.hostside.app2.action.RECEIVER_READY"; static final String ACTION_SHOW_TOAST = - "com.android.cts.net.hostside.app2.action.SHOW_TOAST"; + "com.android.cts.netpolicy.hostside.app2.action.SHOW_TOAST"; protected static final String NOTIFICATION_TYPE_CONTENT = "CONTENT"; protected static final String NOTIFICATION_TYPE_DELETE = "DELETE"; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AppIdleMeteredTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AppIdleMeteredTest.java similarity index 85% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/AppIdleMeteredTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AppIdleMeteredTest.java index f1858d65a5..6b802f68ca 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AppIdleMeteredTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AppIdleMeteredTest.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.Property.METERED_NETWORK; +import static com.android.cts.netpolicy.hostside.Property.METERED_NETWORK; @RequiredProperties({METERED_NETWORK}) public class AppIdleMeteredTest extends AbstractAppIdleTestCase { diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AppIdleNonMeteredTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AppIdleNonMeteredTest.java similarity index 85% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/AppIdleNonMeteredTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AppIdleNonMeteredTest.java index e737a6dabe..2e725ae5c8 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AppIdleNonMeteredTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/AppIdleNonMeteredTest.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.Property.NON_METERED_NETWORK; +import static com.android.cts.netpolicy.hostside.Property.NON_METERED_NETWORK; @RequiredProperties({NON_METERED_NETWORK}) public class AppIdleNonMeteredTest extends AbstractAppIdleTestCase { diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/BatterySaverModeMeteredTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/BatterySaverModeMeteredTest.java similarity index 86% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/BatterySaverModeMeteredTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/BatterySaverModeMeteredTest.java index c78ca2ec77..2e421f6fce 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/BatterySaverModeMeteredTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/BatterySaverModeMeteredTest.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.Property.METERED_NETWORK; +import static com.android.cts.netpolicy.hostside.Property.METERED_NETWORK; @RequiredProperties({METERED_NETWORK}) public class BatterySaverModeMeteredTest extends AbstractBatterySaverModeTestCase { diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/BatterySaverModeNonMeteredTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/BatterySaverModeNonMeteredTest.java similarity index 86% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/BatterySaverModeNonMeteredTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/BatterySaverModeNonMeteredTest.java index fb52a540d8..0be5644e92 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/BatterySaverModeNonMeteredTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/BatterySaverModeNonMeteredTest.java @@ -14,10 +14,10 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.Property.NON_METERED_NETWORK; +import static com.android.cts.netpolicy.hostside.Property.NON_METERED_NETWORK; @RequiredProperties({NON_METERED_NETWORK}) public class BatterySaverModeNonMeteredTest extends AbstractBatterySaverModeTestCase { diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/ConnOnActivityStartTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/ConnOnActivityStartTest.java similarity index 85% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/ConnOnActivityStartTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/ConnOnActivityStartTest.java index 3e22a23428..4fbf116196 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/ConnOnActivityStartTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/ConnOnActivityStartTest.java @@ -14,20 +14,20 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; import static android.app.ActivityManager.PROCESS_STATE_BOUND_FOREGROUND_SERVICE; import static android.app.ActivityManager.PROCESS_STATE_TOP_SLEEPING; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.getUiDevice; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.setRestrictBackground; -import static com.android.cts.net.hostside.Property.APP_STANDBY_MODE; -import static com.android.cts.net.hostside.Property.BATTERY_SAVER_MODE; -import static com.android.cts.net.hostside.Property.DATA_SAVER_MODE; -import static com.android.cts.net.hostside.Property.DOZE_MODE; -import static com.android.cts.net.hostside.Property.METERED_NETWORK; -import static com.android.cts.net.hostside.Property.NON_METERED_NETWORK; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.getUiDevice; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.setRestrictBackground; +import static com.android.cts.netpolicy.hostside.Property.APP_STANDBY_MODE; +import static com.android.cts.netpolicy.hostside.Property.BATTERY_SAVER_MODE; +import static com.android.cts.netpolicy.hostside.Property.DATA_SAVER_MODE; +import static com.android.cts.netpolicy.hostside.Property.DOZE_MODE; +import static com.android.cts.netpolicy.hostside.Property.METERED_NETWORK; +import static com.android.cts.netpolicy.hostside.Property.NON_METERED_NETWORK; import static org.junit.Assume.assumeTrue; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DataSaverModeTest.java similarity index 95% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DataSaverModeTest.java index 790e03124f..66e0d005f8 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DataSaverModeTest.java @@ -14,17 +14,17 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; import static android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_DISABLED; import static android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_ENABLED; import static android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_WHITELISTED; import static com.android.compatibility.common.util.FeatureUtil.isTV; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.setRestrictBackground; -import static com.android.cts.net.hostside.Property.DATA_SAVER_MODE; -import static com.android.cts.net.hostside.Property.METERED_NETWORK; -import static com.android.cts.net.hostside.Property.NO_DATA_SAVER_MODE; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.setRestrictBackground; +import static com.android.cts.netpolicy.hostside.Property.DATA_SAVER_MODE; +import static com.android.cts.netpolicy.hostside.Property.METERED_NETWORK; +import static com.android.cts.netpolicy.hostside.Property.NO_DATA_SAVER_MODE; import static org.junit.Assert.fail; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataWarningReceiverTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DataWarningReceiverTest.java similarity index 96% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/DataWarningReceiverTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DataWarningReceiverTest.java index 13bbab662f..69ca2061eb 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataWarningReceiverTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DataWarningReceiverTest.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.clearSnoozeTimestamps; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.clearSnoozeTimestamps; import android.content.pm.PackageManager; import android.telephony.SubscriptionManager; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DefaultRestrictionsMeteredTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DefaultRestrictionsMeteredTest.java similarity index 86% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/DefaultRestrictionsMeteredTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DefaultRestrictionsMeteredTest.java index f3a1026261..810fd19a8d 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DefaultRestrictionsMeteredTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DefaultRestrictionsMeteredTest.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.Property.METERED_NETWORK; +import static com.android.cts.netpolicy.hostside.Property.METERED_NETWORK; @RequiredProperties({METERED_NETWORK}) public class DefaultRestrictionsMeteredTest extends AbstractDefaultRestrictionsTest { diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DefaultRestrictionsNonMeteredTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DefaultRestrictionsNonMeteredTest.java similarity index 86% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/DefaultRestrictionsNonMeteredTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DefaultRestrictionsNonMeteredTest.java index 5651dd05c7..fef546c212 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DefaultRestrictionsNonMeteredTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DefaultRestrictionsNonMeteredTest.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.Property.NON_METERED_NETWORK; +import static com.android.cts.netpolicy.hostside.Property.NON_METERED_NETWORK; @RequiredProperties({NON_METERED_NETWORK}) public class DefaultRestrictionsNonMeteredTest extends AbstractDefaultRestrictionsTest { diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DozeModeMeteredTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DozeModeMeteredTest.java similarity index 86% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/DozeModeMeteredTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DozeModeMeteredTest.java index 4306c991c2..741dd7e4d9 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DozeModeMeteredTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DozeModeMeteredTest.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.Property.METERED_NETWORK; +import static com.android.cts.netpolicy.hostside.Property.METERED_NETWORK; @RequiredProperties({METERED_NETWORK}) public class DozeModeMeteredTest extends AbstractDozeModeTestCase { diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DozeModeNonMeteredTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DozeModeNonMeteredTest.java similarity index 85% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/DozeModeNonMeteredTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DozeModeNonMeteredTest.java index 1e89f158a3..f343df526d 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DozeModeNonMeteredTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DozeModeNonMeteredTest.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.Property.NON_METERED_NETWORK; +import static com.android.cts.netpolicy.hostside.Property.NON_METERED_NETWORK; @RequiredProperties({NON_METERED_NETWORK}) public class DozeModeNonMeteredTest extends AbstractDozeModeTestCase { diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DumpOnFailureRule.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DumpOnFailureRule.java similarity index 92% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/DumpOnFailureRule.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DumpOnFailureRule.java index 07434b19b1..2dc6cc4298 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DumpOnFailureRule.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/DumpOnFailureRule.java @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.AbstractRestrictBackgroundNetworkTestCase.TAG; -import static com.android.cts.net.hostside.AbstractRestrictBackgroundNetworkTestCase.TEST_APP2_PKG; -import static com.android.cts.net.hostside.AbstractRestrictBackgroundNetworkTestCase.TEST_PKG; +import static com.android.cts.netpolicy.hostside.AbstractRestrictBackgroundNetworkTestCase.TAG; +import static com.android.cts.netpolicy.hostside.AbstractRestrictBackgroundNetworkTestCase.TEST_APP2_PKG; +import static com.android.cts.netpolicy.hostside.AbstractRestrictBackgroundNetworkTestCase.TEST_PKG; import android.os.Environment; import android.os.FileUtils; @@ -42,7 +42,7 @@ import java.nio.charset.StandardCharsets; public class DumpOnFailureRule extends OnFailureRule { private File mDumpDir = new File(Environment.getExternalStorageDirectory(), - "CtsHostsideNetworkTests"); + "CtsHostsideNetworkPolicyTests"); @Override public void onTestFailure(Statement base, Description description, Throwable throwable) { diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/ExpeditedJobMeteredTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/ExpeditedJobMeteredTest.java similarity index 86% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/ExpeditedJobMeteredTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/ExpeditedJobMeteredTest.java index 3809534e21..d56a50bf19 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/ExpeditedJobMeteredTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/ExpeditedJobMeteredTest.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.Property.METERED_NETWORK; +import static com.android.cts.netpolicy.hostside.Property.METERED_NETWORK; @RequiredProperties({METERED_NETWORK}) public class ExpeditedJobMeteredTest extends AbstractExpeditedJobTest { diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/ExpeditedJobNonMeteredTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/ExpeditedJobNonMeteredTest.java similarity index 85% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/ExpeditedJobNonMeteredTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/ExpeditedJobNonMeteredTest.java index 6596269ceb..0a776eeb2c 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/ExpeditedJobNonMeteredTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/ExpeditedJobNonMeteredTest.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.Property.NON_METERED_NETWORK; +import static com.android.cts.netpolicy.hostside.Property.NON_METERED_NETWORK; @RequiredProperties({NON_METERED_NETWORK}) public class ExpeditedJobNonMeteredTest extends AbstractExpeditedJobTest { diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/MeterednessConfigurationRule.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/MeterednessConfigurationRule.java similarity index 86% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/MeterednessConfigurationRule.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/MeterednessConfigurationRule.java index 5c99c679c8..4f4e68e5a7 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/MeterednessConfigurationRule.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/MeterednessConfigurationRule.java @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.setupActiveNetworkMeteredness; -import static com.android.cts.net.hostside.Property.METERED_NETWORK; -import static com.android.cts.net.hostside.Property.NON_METERED_NETWORK; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.setupActiveNetworkMeteredness; +import static com.android.cts.netpolicy.hostside.Property.METERED_NETWORK; +import static com.android.cts.netpolicy.hostside.Property.NON_METERED_NETWORK; import android.util.ArraySet; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/MixedModesTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/MixedModesTest.java similarity index 95% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/MixedModesTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/MixedModesTest.java index c9edda6e0b..b0fa1067be 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/MixedModesTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/MixedModesTest.java @@ -13,15 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.setRestrictBackground; -import static com.android.cts.net.hostside.Property.APP_STANDBY_MODE; -import static com.android.cts.net.hostside.Property.BATTERY_SAVER_MODE; -import static com.android.cts.net.hostside.Property.DATA_SAVER_MODE; -import static com.android.cts.net.hostside.Property.DOZE_MODE; -import static com.android.cts.net.hostside.Property.METERED_NETWORK; -import static com.android.cts.net.hostside.Property.NON_METERED_NETWORK; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.setRestrictBackground; +import static com.android.cts.netpolicy.hostside.Property.APP_STANDBY_MODE; +import static com.android.cts.netpolicy.hostside.Property.BATTERY_SAVER_MODE; +import static com.android.cts.netpolicy.hostside.Property.DATA_SAVER_MODE; +import static com.android.cts.netpolicy.hostside.Property.DOZE_MODE; +import static com.android.cts.netpolicy.hostside.Property.METERED_NETWORK; +import static com.android.cts.netpolicy.hostside.Property.NON_METERED_NETWORK; import android.os.SystemClock; import android.util.Log; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/MyNotificationListenerService.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/MyNotificationListenerService.java similarity index 99% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/MyNotificationListenerService.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/MyNotificationListenerService.java index 013253670a..6dc9921393 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/MyNotificationListenerService.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/MyNotificationListenerService.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; import android.app.Notification; import android.app.PendingIntent; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/MyServiceClient.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/MyServiceClient.java similarity index 99% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/MyServiceClient.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/MyServiceClient.java index 494192f084..71b28f6f66 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/MyServiceClient.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/MyServiceClient.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; import android.app.job.JobInfo; import android.content.ComponentName; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/NetworkCallbackTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/NetworkCallbackTest.java similarity index 97% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/NetworkCallbackTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/NetworkCallbackTest.java index 5552b8f8b7..7038d026a3 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/NetworkCallbackTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/NetworkCallbackTest.java @@ -14,18 +14,18 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; import static android.app.ActivityManager.PROCESS_STATE_BOUND_FOREGROUND_SERVICE; import static android.app.ActivityManager.PROCESS_STATE_TOP_SLEEPING; import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_METERED; import static android.net.NetworkCapabilities.SIGNAL_STRENGTH_UNSPECIFIED; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.canChangeActiveNetworkMeteredness; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.getActiveNetworkCapabilities; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.setRestrictBackground; -import static com.android.cts.net.hostside.Property.BATTERY_SAVER_MODE; -import static com.android.cts.net.hostside.Property.DATA_SAVER_MODE; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.canChangeActiveNetworkMeteredness; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.getActiveNetworkCapabilities; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.setRestrictBackground; +import static com.android.cts.netpolicy.hostside.Property.BATTERY_SAVER_MODE; +import static com.android.cts.netpolicy.hostside.Property.DATA_SAVER_MODE; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/NetworkPolicyManagerTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/NetworkPolicyManagerTest.java similarity index 95% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/NetworkPolicyManagerTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/NetworkPolicyManagerTest.java index 968e270fdd..9b3fe9f554 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/NetworkPolicyManagerTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/NetworkPolicyManagerTest.java @@ -14,18 +14,18 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; import static android.app.ActivityManager.PROCESS_STATE_BOUND_FOREGROUND_SERVICE; import static android.app.ActivityManager.PROCESS_STATE_TOP_SLEEPING; import static android.os.Process.SYSTEM_UID; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.assertIsUidRestrictedOnMeteredNetworks; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.assertNetworkingBlockedStatusForUid; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.isUidNetworkingBlocked; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.setRestrictBackground; -import static com.android.cts.net.hostside.Property.BATTERY_SAVER_MODE; -import static com.android.cts.net.hostside.Property.DATA_SAVER_MODE; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.assertIsUidRestrictedOnMeteredNetworks; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.assertNetworkingBlockedStatusForUid; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.isUidNetworkingBlocked; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.setRestrictBackground; +import static com.android.cts.netpolicy.hostside.Property.BATTERY_SAVER_MODE; +import static com.android.cts.netpolicy.hostside.Property.DATA_SAVER_MODE; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/NetworkPolicyTestRunner.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/NetworkPolicyTestRunner.java similarity index 97% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/NetworkPolicyTestRunner.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/NetworkPolicyTestRunner.java index f340907ae5..0207b00f3e 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/NetworkPolicyTestRunner.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/NetworkPolicyTestRunner.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/NetworkPolicyTestUtils.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/NetworkPolicyTestUtils.java similarity index 99% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/NetworkPolicyTestUtils.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/NetworkPolicyTestUtils.java index 5331601e04..26a88f2061 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/NetworkPolicyTestUtils.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/NetworkPolicyTestUtils.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; import static android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_DISABLED; import static android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_ENABLED; @@ -26,7 +26,7 @@ import static android.net.wifi.WifiConfiguration.METERED_OVERRIDE_METERED; import static android.net.wifi.WifiConfiguration.METERED_OVERRIDE_NONE; import static com.android.compatibility.common.util.SystemUtil.runShellCommandOrThrow; -import static com.android.cts.net.hostside.AbstractRestrictBackgroundNetworkTestCase.TAG; +import static com.android.cts.netpolicy.hostside.AbstractRestrictBackgroundNetworkTestCase.TAG; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/Property.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/Property.java similarity index 72% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/Property.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/Property.java index 18805f9613..a03833ff98 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/Property.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/Property.java @@ -13,15 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.canChangeActiveNetworkMeteredness; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.isActiveNetworkMetered; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.isAppStandbySupported; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.isBatterySaverSupported; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.isDataSaverSupported; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.isDozeModeSupported; -import static com.android.cts.net.hostside.NetworkPolicyTestUtils.isLowRamDevice; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.canChangeActiveNetworkMeteredness; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.isActiveNetworkMetered; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.isAppStandbySupported; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.isBatterySaverSupported; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.isDataSaverSupported; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.isDozeModeSupported; +import static com.android.cts.netpolicy.hostside.NetworkPolicyTestUtils.isLowRamDevice; public enum Property { BATTERY_SAVER_MODE(1 << 0) { diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/RequiredProperties.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/RequiredProperties.java similarity index 95% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/RequiredProperties.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/RequiredProperties.java index 96838bba0a..799a5136c6 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/RequiredProperties.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/RequiredProperties.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.ElementType.TYPE; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/RequiredPropertiesRule.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/RequiredPropertiesRule.java similarity index 96% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/RequiredPropertiesRule.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/RequiredPropertiesRule.java index 01f9f3ea81..5dea67c904 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/RequiredPropertiesRule.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/RequiredPropertiesRule.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; -import static com.android.cts.net.hostside.AbstractRestrictBackgroundNetworkTestCase.TAG; +import static com.android.cts.netpolicy.hostside.AbstractRestrictBackgroundNetworkTestCase.TAG; import android.text.TextUtils; import android.util.ArraySet; diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/RestrictedModeTest.java b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/RestrictedModeTest.java similarity index 98% rename from tests/cts/hostside/app/src/com/android/cts/net/hostside/RestrictedModeTest.java rename to tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/RestrictedModeTest.java index 4777bf4be3..f183f4e3e1 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/RestrictedModeTest.java +++ b/tests/cts/hostside-network-policy/app/src/com/android/cts/netpolicy/hostside/RestrictedModeTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.cts.net.hostside; +package com.android.cts.netpolicy.hostside; import org.junit.After; import org.junit.Before; diff --git a/tests/cts/hostside-network-policy/app2/Android.bp b/tests/cts/hostside-network-policy/app2/Android.bp new file mode 100644 index 0000000000..6ef0b0641b --- /dev/null +++ b/tests/cts/hostside-network-policy/app2/Android.bp @@ -0,0 +1,39 @@ +// +// Copyright (C) 2024 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 { + default_team: "trendy_team_framework_backstage_power", + default_applicable_licenses: ["Android-Apache-2.0"], +} + +android_test_helper_app { + name: "CtsHostsideNetworkPolicyTestsApp2", + defaults: ["cts_support_defaults"], + platform_apis: true, + static_libs: [ + "androidx.annotation_annotation", + "CtsHostsideNetworkPolicyTestsAidl", + "modules-utils-build", + ], + srcs: ["src/**/*.java"], + // Tag this module as a cts test artifact + test_suites: [ + "cts", + "general-tests", + "sts", + ], + certificate: ":cts-netpolicy-app", +} diff --git a/tests/cts/hostside-network-policy/app2/AndroidManifest.xml b/tests/cts/hostside-network-policy/app2/AndroidManifest.xml new file mode 100644 index 0000000000..668f2dabde --- /dev/null +++ b/tests/cts/hostside-network-policy/app2/AndroidManifest.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/cts/hostside/app2/res/drawable/ic_notification.png b/tests/cts/hostside-network-policy/app2/res/drawable/ic_notification.png similarity index 100% rename from tests/cts/hostside/app2/res/drawable/ic_notification.png rename to tests/cts/hostside-network-policy/app2/res/drawable/ic_notification.png diff --git a/tests/cts/hostside/app2/src/com/android/cts/net/hostside/app2/Common.java b/tests/cts/hostside-network-policy/app2/src/com/android/cts/netpolicy/hostside/app2/Common.java similarity index 92% rename from tests/cts/hostside/app2/src/com/android/cts/net/hostside/app2/Common.java rename to tests/cts/hostside-network-policy/app2/src/com/android/cts/netpolicy/hostside/app2/Common.java index 1c4557956a..1719f9b7ce 100644 --- a/tests/cts/hostside/app2/src/com/android/cts/net/hostside/app2/Common.java +++ b/tests/cts/hostside-network-policy/app2/src/com/android/cts/netpolicy/hostside/app2/Common.java @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.cts.net.hostside.app2; +package com.android.cts.netpolicy.hostside.app2; -import static com.android.cts.net.hostside.INetworkStateObserver.RESULT_ERROR_OTHER; -import static com.android.cts.net.hostside.INetworkStateObserver.RESULT_ERROR_UNEXPECTED_CAPABILITIES; -import static com.android.cts.net.hostside.INetworkStateObserver.RESULT_ERROR_UNEXPECTED_PROC_STATE; +import static com.android.cts.netpolicy.hostside.INetworkStateObserver.RESULT_ERROR_OTHER; +import static com.android.cts.netpolicy.hostside.INetworkStateObserver.RESULT_ERROR_UNEXPECTED_CAPABILITIES; +import static com.android.cts.netpolicy.hostside.INetworkStateObserver.RESULT_ERROR_UNEXPECTED_PROC_STATE; import android.app.ActivityManager; import android.content.Context; @@ -31,8 +31,8 @@ import android.os.Process; import android.os.RemoteException; import android.util.Log; -import com.android.cts.net.hostside.INetworkStateObserver; -import com.android.cts.net.hostside.NetworkCheckResult; +import com.android.cts.netpolicy.hostside.INetworkStateObserver; +import com.android.cts.netpolicy.hostside.NetworkCheckResult; import java.net.HttpURLConnection; import java.net.InetAddress; @@ -49,13 +49,13 @@ public final class Common { static final String DYNAMIC_RECEIVER = "DynamicReceiver"; static final String ACTION_RECEIVER_READY = - "com.android.cts.net.hostside.app2.action.RECEIVER_READY"; + "com.android.cts.netpolicy.hostside.app2.action.RECEIVER_READY"; static final String ACTION_FINISH_ACTIVITY = - "com.android.cts.net.hostside.app2.action.FINISH_ACTIVITY"; + "com.android.cts.netpolicy.hostside.app2.action.FINISH_ACTIVITY"; static final String ACTION_FINISH_JOB = - "com.android.cts.net.hostside.app2.action.FINISH_JOB"; + "com.android.cts.netpolicy.hostside.app2.action.FINISH_JOB"; static final String ACTION_SHOW_TOAST = - "com.android.cts.net.hostside.app2.action.SHOW_TOAST"; + "com.android.cts.netpolicy.hostside.app2.action.SHOW_TOAST"; // Copied from com.android.server.net.NetworkPolicyManagerService class static final String ACTION_SNOOZE_WARNING = "com.android.server.net.action.SNOOZE_WARNING"; @@ -71,7 +71,7 @@ public final class Common { static final String NOTIFICATION_TYPE_ACTION_BUNDLE = "ACTION_BUNDLE"; static final String NOTIFICATION_TYPE_ACTION_REMOTE_INPUT = "ACTION_REMOTE_INPUT"; - static final String TEST_PKG = "com.android.cts.net.hostside"; + static final String TEST_PKG = "com.android.cts.netpolicy.hostside"; static final String KEY_NETWORK_STATE_OBSERVER = TEST_PKG + ".observer"; static final String KEY_SKIP_VALIDATION_CHECKS = TEST_PKG + ".skip_validation_checks"; static final String KEY_CUSTOM_URL = TEST_PKG + ".custom_url"; diff --git a/tests/cts/hostside/app2/src/com/android/cts/net/hostside/app2/MyActivity.java b/tests/cts/hostside-network-policy/app2/src/com/android/cts/netpolicy/hostside/app2/MyActivity.java similarity index 91% rename from tests/cts/hostside/app2/src/com/android/cts/net/hostside/app2/MyActivity.java rename to tests/cts/hostside-network-policy/app2/src/com/android/cts/netpolicy/hostside/app2/MyActivity.java index aa58ff9c29..d274c50910 100644 --- a/tests/cts/hostside/app2/src/com/android/cts/net/hostside/app2/MyActivity.java +++ b/tests/cts/hostside-network-policy/app2/src/com/android/cts/netpolicy/hostside/app2/MyActivity.java @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.cts.net.hostside.app2; +package com.android.cts.netpolicy.hostside.app2; -import static com.android.cts.net.hostside.app2.Common.ACTION_FINISH_ACTIVITY; -import static com.android.cts.net.hostside.app2.Common.TAG; -import static com.android.cts.net.hostside.app2.Common.TYPE_COMPONENT_ACTIVTY; +import static com.android.cts.netpolicy.hostside.app2.Common.ACTION_FINISH_ACTIVITY; +import static com.android.cts.netpolicy.hostside.app2.Common.TAG; +import static com.android.cts.netpolicy.hostside.app2.Common.TYPE_COMPONENT_ACTIVTY; import android.app.Activity; import android.content.BroadcastReceiver; diff --git a/tests/cts/hostside/app2/src/com/android/cts/net/hostside/app2/MyBroadcastReceiver.java b/tests/cts/hostside-network-policy/app2/src/com/android/cts/netpolicy/hostside/app2/MyBroadcastReceiver.java similarity index 86% rename from tests/cts/hostside/app2/src/com/android/cts/net/hostside/app2/MyBroadcastReceiver.java rename to tests/cts/hostside-network-policy/app2/src/com/android/cts/netpolicy/hostside/app2/MyBroadcastReceiver.java index 1fd3745da9..27aec8cd0d 100644 --- a/tests/cts/hostside/app2/src/com/android/cts/net/hostside/app2/MyBroadcastReceiver.java +++ b/tests/cts/hostside-network-policy/app2/src/com/android/cts/netpolicy/hostside/app2/MyBroadcastReceiver.java @@ -14,22 +14,22 @@ * limitations under the License. */ -package com.android.cts.net.hostside.app2; +package com.android.cts.netpolicy.hostside.app2; import static android.net.ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED; -import static com.android.cts.net.hostside.app2.Common.ACTION_RECEIVER_READY; -import static com.android.cts.net.hostside.app2.Common.ACTION_SHOW_TOAST; -import static com.android.cts.net.hostside.app2.Common.ACTION_SNOOZE_WARNING; -import static com.android.cts.net.hostside.app2.Common.MANIFEST_RECEIVER; -import static com.android.cts.net.hostside.app2.Common.NOTIFICATION_TYPE_ACTION; -import static com.android.cts.net.hostside.app2.Common.NOTIFICATION_TYPE_ACTION_BUNDLE; -import static com.android.cts.net.hostside.app2.Common.NOTIFICATION_TYPE_ACTION_REMOTE_INPUT; -import static com.android.cts.net.hostside.app2.Common.NOTIFICATION_TYPE_BUNDLE; -import static com.android.cts.net.hostside.app2.Common.NOTIFICATION_TYPE_CONTENT; -import static com.android.cts.net.hostside.app2.Common.NOTIFICATION_TYPE_DELETE; -import static com.android.cts.net.hostside.app2.Common.NOTIFICATION_TYPE_FULL_SCREEN; -import static com.android.cts.net.hostside.app2.Common.TAG; +import static com.android.cts.netpolicy.hostside.app2.Common.ACTION_RECEIVER_READY; +import static com.android.cts.netpolicy.hostside.app2.Common.ACTION_SHOW_TOAST; +import static com.android.cts.netpolicy.hostside.app2.Common.ACTION_SNOOZE_WARNING; +import static com.android.cts.netpolicy.hostside.app2.Common.MANIFEST_RECEIVER; +import static com.android.cts.netpolicy.hostside.app2.Common.NOTIFICATION_TYPE_ACTION; +import static com.android.cts.netpolicy.hostside.app2.Common.NOTIFICATION_TYPE_ACTION_BUNDLE; +import static com.android.cts.netpolicy.hostside.app2.Common.NOTIFICATION_TYPE_ACTION_REMOTE_INPUT; +import static com.android.cts.netpolicy.hostside.app2.Common.NOTIFICATION_TYPE_BUNDLE; +import static com.android.cts.netpolicy.hostside.app2.Common.NOTIFICATION_TYPE_CONTENT; +import static com.android.cts.netpolicy.hostside.app2.Common.NOTIFICATION_TYPE_DELETE; +import static com.android.cts.netpolicy.hostside.app2.Common.NOTIFICATION_TYPE_FULL_SCREEN; +import static com.android.cts.netpolicy.hostside.app2.Common.TAG; import android.app.Notification; import android.app.Notification.Action; diff --git a/tests/cts/hostside/app2/src/com/android/cts/net/hostside/app2/MyForegroundService.java b/tests/cts/hostside-network-policy/app2/src/com/android/cts/netpolicy/hostside/app2/MyForegroundService.java similarity index 88% rename from tests/cts/hostside/app2/src/com/android/cts/net/hostside/app2/MyForegroundService.java rename to tests/cts/hostside-network-policy/app2/src/com/android/cts/netpolicy/hostside/app2/MyForegroundService.java index b55761c58d..54cee3cab0 100644 --- a/tests/cts/hostside/app2/src/com/android/cts/net/hostside/app2/MyForegroundService.java +++ b/tests/cts/hostside-network-policy/app2/src/com/android/cts/netpolicy/hostside/app2/MyForegroundService.java @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.cts.net.hostside.app2; +package com.android.cts.netpolicy.hostside.app2; -import static com.android.cts.net.hostside.app2.Common.TAG; -import static com.android.cts.net.hostside.app2.Common.TEST_PKG; -import static com.android.cts.net.hostside.app2.Common.TYPE_COMPONENT_FOREGROUND_SERVICE; +import static com.android.cts.netpolicy.hostside.app2.Common.TAG; +import static com.android.cts.netpolicy.hostside.app2.Common.TEST_PKG; +import static com.android.cts.netpolicy.hostside.app2.Common.TYPE_COMPONENT_FOREGROUND_SERVICE; import android.R; import android.app.Notification; @@ -31,7 +31,7 @@ import android.os.IBinder; import android.os.RemoteException; import android.util.Log; -import com.android.cts.net.hostside.INetworkStateObserver; +import com.android.cts.netpolicy.hostside.INetworkStateObserver; /** * Service used to change app state to FOREGROUND_SERVICE. diff --git a/tests/cts/hostside/app2/src/com/android/cts/net/hostside/app2/MyJobService.java b/tests/cts/hostside-network-policy/app2/src/com/android/cts/netpolicy/hostside/app2/MyJobService.java similarity index 90% rename from tests/cts/hostside/app2/src/com/android/cts/net/hostside/app2/MyJobService.java rename to tests/cts/hostside-network-policy/app2/src/com/android/cts/netpolicy/hostside/app2/MyJobService.java index 8c112b6326..eba55ed482 100644 --- a/tests/cts/hostside/app2/src/com/android/cts/net/hostside/app2/MyJobService.java +++ b/tests/cts/hostside-network-policy/app2/src/com/android/cts/netpolicy/hostside/app2/MyJobService.java @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.cts.net.hostside.app2; +package com.android.cts.netpolicy.hostside.app2; -import static com.android.cts.net.hostside.app2.Common.ACTION_FINISH_JOB; -import static com.android.cts.net.hostside.app2.Common.TAG; -import static com.android.cts.net.hostside.app2.Common.TYPE_COMPONENT_EXPEDITED_JOB; +import static com.android.cts.netpolicy.hostside.app2.Common.ACTION_FINISH_JOB; +import static com.android.cts.netpolicy.hostside.app2.Common.TAG; +import static com.android.cts.netpolicy.hostside.app2.Common.TYPE_COMPONENT_EXPEDITED_JOB; import android.app.job.JobParameters; import android.app.job.JobService; diff --git a/tests/cts/hostside/app2/src/com/android/cts/net/hostside/app2/MyService.java b/tests/cts/hostside-network-policy/app2/src/com/android/cts/netpolicy/hostside/app2/MyService.java similarity index 93% rename from tests/cts/hostside/app2/src/com/android/cts/net/hostside/app2/MyService.java rename to tests/cts/hostside-network-policy/app2/src/com/android/cts/netpolicy/hostside/app2/MyService.java index 5010234927..71bcead637 100644 --- a/tests/cts/hostside/app2/src/com/android/cts/net/hostside/app2/MyService.java +++ b/tests/cts/hostside-network-policy/app2/src/com/android/cts/netpolicy/hostside/app2/MyService.java @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.cts.net.hostside.app2; +package com.android.cts.netpolicy.hostside.app2; import static android.net.ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED; -import static com.android.cts.net.hostside.app2.Common.ACTION_RECEIVER_READY; -import static com.android.cts.net.hostside.app2.Common.ACTION_SNOOZE_WARNING; -import static com.android.cts.net.hostside.app2.Common.DYNAMIC_RECEIVER; -import static com.android.cts.net.hostside.app2.Common.TAG; +import static com.android.cts.netpolicy.hostside.app2.Common.ACTION_RECEIVER_READY; +import static com.android.cts.netpolicy.hostside.app2.Common.ACTION_SNOOZE_WARNING; +import static com.android.cts.netpolicy.hostside.app2.Common.DYNAMIC_RECEIVER; +import static com.android.cts.netpolicy.hostside.app2.Common.TAG; import android.app.NotificationChannel; import android.app.NotificationManager; @@ -38,9 +38,9 @@ import android.os.IBinder; import android.os.RemoteException; import android.util.Log; -import com.android.cts.net.hostside.IMyService; -import com.android.cts.net.hostside.INetworkCallback; -import com.android.cts.net.hostside.NetworkCheckResult; +import com.android.cts.netpolicy.hostside.IMyService; +import com.android.cts.netpolicy.hostside.INetworkCallback; +import com.android.cts.netpolicy.hostside.NetworkCheckResult; import com.android.modules.utils.build.SdkLevel; /** diff --git a/tests/cts/hostside/certs/Android.bp b/tests/cts/hostside-network-policy/certs/Android.bp similarity index 59% rename from tests/cts/hostside/certs/Android.bp rename to tests/cts/hostside-network-policy/certs/Android.bp index 301973ea20..bfbc34167d 100644 --- a/tests/cts/hostside/certs/Android.bp +++ b/tests/cts/hostside-network-policy/certs/Android.bp @@ -1,9 +1,9 @@ package { - default_team: "trendy_team_fwk_core_networking", + default_team: "trendy_team_framework_backstage_power", default_applicable_licenses: ["Android-Apache-2.0"], } android_app_certificate { - name: "cts-net-app", + name: "cts-netpolicy-app", certificate: "cts-net-app", } diff --git a/tests/cts/hostside/certs/README b/tests/cts/hostside-network-policy/certs/README similarity index 100% rename from tests/cts/hostside/certs/README rename to tests/cts/hostside-network-policy/certs/README diff --git a/tests/cts/hostside/certs/cts-net-app.pk8 b/tests/cts/hostside-network-policy/certs/cts-net-app.pk8 similarity index 100% rename from tests/cts/hostside/certs/cts-net-app.pk8 rename to tests/cts/hostside-network-policy/certs/cts-net-app.pk8 diff --git a/tests/cts/hostside/certs/cts-net-app.x509.pem b/tests/cts/hostside-network-policy/certs/cts-net-app.x509.pem similarity index 100% rename from tests/cts/hostside/certs/cts-net-app.x509.pem rename to tests/cts/hostside-network-policy/certs/cts-net-app.x509.pem diff --git a/tests/cts/hostside/instrumentation_arguments/Android.bp b/tests/cts/hostside-network-policy/instrumentation_arguments/Android.bp similarity index 100% rename from tests/cts/hostside/instrumentation_arguments/Android.bp rename to tests/cts/hostside-network-policy/instrumentation_arguments/Android.bp diff --git a/tests/cts/hostside/instrumentation_arguments/src/com/android/cts/net/arguments/InstrumentationArguments.java b/tests/cts/hostside-network-policy/instrumentation_arguments/src/com/android/cts/netpolicy/arguments/InstrumentationArguments.java similarity index 94% rename from tests/cts/hostside/instrumentation_arguments/src/com/android/cts/net/arguments/InstrumentationArguments.java rename to tests/cts/hostside-network-policy/instrumentation_arguments/src/com/android/cts/netpolicy/arguments/InstrumentationArguments.java index 911b129a5c..0fe98e9410 100644 --- a/tests/cts/hostside/instrumentation_arguments/src/com/android/cts/net/arguments/InstrumentationArguments.java +++ b/tests/cts/hostside-network-policy/instrumentation_arguments/src/com/android/cts/netpolicy/arguments/InstrumentationArguments.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.cts.net.arguments; +package com.android.cts.netpolicy.arguments; public interface InstrumentationArguments { String ARG_WAIVE_BIND_PRIORITY = "waive_bind_priority"; diff --git a/tests/cts/hostside/src/com/android/cts/net/HostsideConnOnActivityStartTest.java b/tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideConnOnActivityStartTest.java similarity index 91% rename from tests/cts/hostside/src/com/android/cts/net/HostsideConnOnActivityStartTest.java rename to tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideConnOnActivityStartTest.java index fff716d3ba..422231d7a4 100644 --- a/tests/cts/hostside/src/com/android/cts/net/HostsideConnOnActivityStartTest.java +++ b/tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideConnOnActivityStartTest.java @@ -14,13 +14,12 @@ * limitations under the License. */ -package com.android.cts.net; +package com.android.cts.netpolicy; -import static com.android.cts.net.arguments.InstrumentationArguments.ARG_WAIVE_BIND_PRIORITY; +import static com.android.cts.netpolicy.arguments.InstrumentationArguments.ARG_WAIVE_BIND_PRIORITY; import android.platform.test.annotations.FlakyTest; -import com.android.testutils.SkipPresubmit; import com.android.tradefed.device.DeviceNotAvailableException; import com.android.tradefed.invoker.TestInformation; import com.android.tradefed.testtype.junit4.AfterClassWithInfo; @@ -30,8 +29,8 @@ import org.junit.Test; import java.util.Map; -@SkipPresubmit(reason = "Out of SLO flakiness") -public class HostsideConnOnActivityStartTest extends HostsideNetworkTestCase { +@FlakyTest(bugId = 288324467) +public class HostsideConnOnActivityStartTest extends HostsideNetworkPolicyTestCase { private static final String TEST_CLASS = TEST_PKG + ".ConnOnActivityStartTest"; @BeforeClassWithInfo diff --git a/tests/cts/hostside/src/com/android/cts/net/HostsideDefaultNetworkRestrictionsTests.java b/tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideDefaultNetworkRestrictionsTests.java similarity index 93% rename from tests/cts/hostside/src/com/android/cts/net/HostsideDefaultNetworkRestrictionsTests.java rename to tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideDefaultNetworkRestrictionsTests.java index faabbefeee..62952bb7b9 100644 --- a/tests/cts/hostside/src/com/android/cts/net/HostsideDefaultNetworkRestrictionsTests.java +++ b/tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideDefaultNetworkRestrictionsTests.java @@ -14,11 +14,12 @@ * limitations under the License. */ -package com.android.cts.net; +package com.android.cts.netpolicy; -import static com.android.cts.net.arguments.InstrumentationArguments.ARG_WAIVE_BIND_PRIORITY; +import static com.android.cts.netpolicy.arguments.InstrumentationArguments.ARG_WAIVE_BIND_PRIORITY; + +import android.platform.test.annotations.FlakyTest; -import com.android.testutils.SkipPresubmit; import com.android.tradefed.device.DeviceNotAvailableException; import org.junit.After; @@ -28,8 +29,8 @@ import org.junit.Test; import java.util.Map; // TODO(b/321848487): Annotate with @RequiresFlagsEnabled to mirror the device-side tests. -@SkipPresubmit(reason = "Monitoring for flakiness") -public class HostsideDefaultNetworkRestrictionsTests extends HostsideNetworkTestCase { +@FlakyTest(bugId = 288324467) +public class HostsideDefaultNetworkRestrictionsTests extends HostsideNetworkPolicyTestCase { private static final String METERED_TEST_CLASS = TEST_PKG + ".DefaultRestrictionsMeteredTest"; private static final String NON_METERED_TEST_CLASS = TEST_PKG + ".DefaultRestrictionsNonMeteredTest"; diff --git a/tests/cts/hostside/src/com/android/cts/net/HostsideNetworkCallbackTests.java b/tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideNetworkCallbackTests.java similarity index 88% rename from tests/cts/hostside/src/com/android/cts/net/HostsideNetworkCallbackTests.java rename to tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideNetworkCallbackTests.java index c4bcdfd321..2c2b118d60 100644 --- a/tests/cts/hostside/src/com/android/cts/net/HostsideNetworkCallbackTests.java +++ b/tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideNetworkCallbackTests.java @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.cts.net; +package com.android.cts.netpolicy; -import static com.android.cts.net.arguments.InstrumentationArguments.ARG_WAIVE_BIND_PRIORITY; +import static com.android.cts.netpolicy.arguments.InstrumentationArguments.ARG_WAIVE_BIND_PRIORITY; -import com.android.testutils.SkipPresubmit; +import android.platform.test.annotations.FlakyTest; import org.junit.After; import org.junit.Before; @@ -25,8 +25,8 @@ import org.junit.Test; import java.util.Map; -@SkipPresubmit(reason = "Out of SLO flakiness") -public class HostsideNetworkCallbackTests extends HostsideNetworkTestCase { +@FlakyTest(bugId = 288324467) +public class HostsideNetworkCallbackTests extends HostsideNetworkPolicyTestCase { @Before public void setUp() throws Exception { diff --git a/tests/cts/hostside/src/com/android/cts/net/HostsideNetworkPolicyManagerTests.java b/tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideNetworkPolicyManagerTests.java similarity index 95% rename from tests/cts/hostside/src/com/android/cts/net/HostsideNetworkPolicyManagerTests.java rename to tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideNetworkPolicyManagerTests.java index 4730b14c20..8ffe360094 100644 --- a/tests/cts/hostside/src/com/android/cts/net/HostsideNetworkPolicyManagerTests.java +++ b/tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideNetworkPolicyManagerTests.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package com.android.cts.net; +package com.android.cts.netpolicy; -import static com.android.cts.net.arguments.InstrumentationArguments.ARG_WAIVE_BIND_PRIORITY; +import static com.android.cts.netpolicy.arguments.InstrumentationArguments.ARG_WAIVE_BIND_PRIORITY; import org.junit.After; import org.junit.Before; @@ -24,7 +24,7 @@ import org.junit.Test; import java.util.Map; -public class HostsideNetworkPolicyManagerTests extends HostsideNetworkTestCase { +public class HostsideNetworkPolicyManagerTests extends HostsideNetworkPolicyTestCase { @Before public void setUp() throws Exception { uninstallPackage(TEST_APP2_PKG, false); diff --git a/tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideNetworkPolicyTestCase.java b/tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideNetworkPolicyTestCase.java new file mode 100644 index 0000000000..b662aa1e0e --- /dev/null +++ b/tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideNetworkPolicyTestCase.java @@ -0,0 +1,189 @@ +/* + * Copyright (C) 2024 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.netpolicy; + +import static com.android.cts.netpolicy.arguments.InstrumentationArguments.ARG_CONNECTION_CHECK_CUSTOM_URL; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.fail; + +import com.android.ddmlib.Log; +import com.android.tradefed.config.Option; +import com.android.tradefed.device.DeviceNotAvailableException; +import com.android.tradefed.invoker.TestInformation; +import com.android.tradefed.targetprep.BuildError; +import com.android.tradefed.targetprep.TargetSetupError; +import com.android.tradefed.targetprep.suite.SuiteApkInstaller; +import com.android.tradefed.testtype.DeviceJUnit4ClassRunner; +import com.android.tradefed.testtype.junit4.AfterClassWithInfo; +import com.android.tradefed.testtype.junit4.BaseHostJUnit4Test; +import com.android.tradefed.testtype.junit4.BeforeClassWithInfo; +import com.android.tradefed.testtype.junit4.DeviceTestRunOptions; +import com.android.tradefed.util.RunUtil; + +import org.junit.runner.RunWith; + +import java.util.Map; + +@RunWith(DeviceJUnit4ClassRunner.class) +abstract class HostsideNetworkPolicyTestCase extends BaseHostJUnit4Test { + protected static final boolean DEBUG = false; + protected static final String TAG = "HostsideNetworkPolicyTests"; + protected static final String TEST_PKG = "com.android.cts.netpolicy.hostside"; + protected static final String TEST_APK = "CtsHostsideNetworkPolicyTestsApp.apk"; + protected static final String TEST_APP2_PKG = "com.android.cts.netpolicy.hostside.app2"; + protected static final String TEST_APP2_APK = "CtsHostsideNetworkPolicyTestsApp2.apk"; + + @Option(name = "custom-url", importance = Option.Importance.IF_UNSET, + description = "A custom url to use for testing network connections") + protected String mCustomUrl; + + @BeforeClassWithInfo + public static void setUpOnceBase(TestInformation testInfo) throws Exception { + uninstallPackage(testInfo, TEST_PKG, false); + installPackage(testInfo, TEST_APK); + } + + @AfterClassWithInfo + public static void tearDownOnceBase(TestInformation testInfo) + throws DeviceNotAvailableException { + uninstallPackage(testInfo, TEST_PKG, true); + } + + // Custom static method to install the specified package, this is used to bypass auto-cleanup + // per test in BaseHostJUnit4. + protected static void installPackage(TestInformation testInfo, String apk) + throws DeviceNotAvailableException, TargetSetupError { + assertNotNull(testInfo); + final int userId = testInfo.getDevice().getCurrentUser(); + final SuiteApkInstaller installer = new SuiteApkInstaller(); + // Force the apk clean up + installer.setCleanApk(true); + installer.addTestFileName(apk); + installer.setUserId(userId); + installer.setShouldGrantPermission(true); + installer.addInstallArg("-t"); + try { + installer.setUp(testInfo); + } catch (BuildError e) { + throw new TargetSetupError( + e.getMessage(), e, testInfo.getDevice().getDeviceDescriptor(), e.getErrorId()); + } + } + + protected void installPackage(String apk) throws DeviceNotAvailableException, TargetSetupError { + installPackage(getTestInformation(), apk); + } + + protected static void uninstallPackage(TestInformation testInfo, String packageName, + boolean shouldSucceed) + throws DeviceNotAvailableException { + assertNotNull(testInfo); + final String result = testInfo.getDevice().uninstallPackage(packageName); + if (shouldSucceed) { + assertNull("uninstallPackage(" + packageName + ") failed: " + result, result); + } + } + + protected void uninstallPackage(String packageName, + boolean shouldSucceed) + throws DeviceNotAvailableException { + uninstallPackage(getTestInformation(), packageName, shouldSucceed); + } + + protected void assertPackageUninstalled(String packageName) throws DeviceNotAvailableException, + InterruptedException { + final String command = "cmd package list packages " + packageName; + final int max_tries = 5; + for (int i = 1; i <= max_tries; i++) { + final String result = runCommand(command); + if (result.trim().isEmpty()) { + return; + } + // 'list packages' filters by substring, so we need to iterate with the results + // and check one by one, otherwise 'com.android.cts.netpolicy.hostside' could return + // 'com.android.cts.netpolicy.hostside.app2' + boolean found = false; + for (String line : result.split("[\\r\\n]+")) { + if (line.endsWith(packageName)) { + found = true; + break; + } + } + if (!found) { + return; + } + i++; + Log.v(TAG, "Package " + packageName + " not uninstalled yet (" + result + + "); sleeping 1s before polling again"); + RunUtil.getDefault().sleep(1000); + } + fail("Package '" + packageName + "' not uinstalled after " + max_tries + " seconds"); + } + + protected int getUid(String packageName) throws DeviceNotAvailableException { + final int currentUser = getDevice().getCurrentUser(); + final String uidLines = runCommand( + "cmd package list packages -U --user " + currentUser + " " + packageName); + for (String uidLine : uidLines.split("\n")) { + if (uidLine.startsWith("package:" + packageName + " uid:")) { + final String[] uidLineParts = uidLine.split(":"); + // 3rd entry is package uid + return Integer.parseInt(uidLineParts[2].trim()); + } + } + throw new IllegalStateException("Failed to find the test app on the device; pkg=" + + packageName + ", u=" + currentUser); + } + + protected boolean runDeviceTestsWithCustomOptions(String packageName, String className) + throws DeviceNotAvailableException { + return runDeviceTestsWithCustomOptions(packageName, className, null); + } + + protected boolean runDeviceTestsWithCustomOptions(String packageName, String className, + String methodName) throws DeviceNotAvailableException { + return runDeviceTestsWithCustomOptions(packageName, className, methodName, null); + } + + protected boolean runDeviceTestsWithCustomOptions(String packageName, String className, + String methodName, Map testArgs) throws DeviceNotAvailableException { + final DeviceTestRunOptions deviceTestRunOptions = new DeviceTestRunOptions(packageName) + .setTestClassName(className) + .setTestMethodName(methodName); + + // Currently there is only one custom option that the test exposes. + if (mCustomUrl != null) { + deviceTestRunOptions.addInstrumentationArg(ARG_CONNECTION_CHECK_CUSTOM_URL, mCustomUrl); + } + // Pass over any test specific arguments. + if (testArgs != null) { + for (Map.Entry arg : testArgs.entrySet()) { + deviceTestRunOptions.addInstrumentationArg(arg.getKey(), arg.getValue()); + } + } + return runDeviceTests(deviceTestRunOptions); + } + + protected String runCommand(String command) throws DeviceNotAvailableException { + Log.d(TAG, "Command: '" + command + "'"); + final String output = getDevice().executeShellCommand(command); + if (DEBUG) Log.v(TAG, "Output: " + output.trim()); + return output; + } +} diff --git a/tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java b/tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideRestrictBackgroundNetworkTests.java similarity index 99% rename from tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java rename to tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideRestrictBackgroundNetworkTests.java index 7b9d3b5b9f..0261c7d092 100644 --- a/tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java +++ b/tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/HostsideRestrictBackgroundNetworkTests.java @@ -14,14 +14,14 @@ * limitations under the License. */ -package com.android.cts.net; +package com.android.cts.netpolicy; import static org.junit.Assert.fail; +import android.platform.test.annotations.FlakyTest; import android.platform.test.annotations.SecurityTest; import com.android.ddmlib.Log; -import com.android.testutils.SkipPresubmit; import com.android.tradefed.device.DeviceNotAvailableException; import com.android.tradefed.util.RunUtil; @@ -29,8 +29,8 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; -@SkipPresubmit(reason = "Out of SLO flakiness") -public class HostsideRestrictBackgroundNetworkTests extends HostsideNetworkTestCase { +@FlakyTest(bugId = 288324467) +public class HostsideRestrictBackgroundNetworkTests extends HostsideNetworkPolicyTestCase { @Before public void setUp() throws Exception { diff --git a/tests/cts/hostside/src/com/android/cts/net/NetworkPolicyTestsPreparer.java b/tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/NetworkPolicyTestsPreparer.java similarity index 99% rename from tests/cts/hostside/src/com/android/cts/net/NetworkPolicyTestsPreparer.java rename to tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/NetworkPolicyTestsPreparer.java index 23aca24788..cbf2f4d9c6 100644 --- a/tests/cts/hostside/src/com/android/cts/net/NetworkPolicyTestsPreparer.java +++ b/tests/cts/hostside-network-policy/src/com/android/cts/netpolicy/NetworkPolicyTestsPreparer.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.cts.net; +package com.android.cts.netpolicy; import com.android.tradefed.device.DeviceNotAvailableException; import com.android.tradefed.device.ITestDevice; diff --git a/tests/cts/hostside/Android.bp b/tests/cts/hostside/Android.bp index f6c043059b..14d5d5463a 100644 --- a/tests/cts/hostside/Android.bp +++ b/tests/cts/hostside/Android.bp @@ -29,7 +29,6 @@ java_test_host { // Only compile source java files in this apk. srcs: [ "src/**/*.java", - ":ArgumentConstants", ], libs: [ "net-tests-utils-host-device-common", diff --git a/tests/cts/hostside/AndroidTest.xml b/tests/cts/hostside/AndroidTest.xml index 0ffe81eb53..ea6b078fdd 100644 --- a/tests/cts/hostside/AndroidTest.xml +++ b/tests/cts/hostside/AndroidTest.xml @@ -22,7 +22,6 @@