From 4ac1cf802a1b8d290b7e78e78e8c9a89ee33282f Mon Sep 17 00:00:00 2001 From: Makoto Onuki Date: Wed, 5 Sep 2018 13:45:40 -0700 Subject: [PATCH] Add new test module for system service with static / final mocking And move AppStateTrackerTest for starter. Bug: 114096820 Bug: 118510622 Test: atest FrameworksMockingServicesTests Change-Id: Ie5bf44322f29e9971358a706cf44bc5c8a325c30 Merged-In: Ie5bf44322f29e9971358a706cf44bc5c8a325c30 (cherry picked from commit 5f732365c6a33c2115bfd159b8b9729b834c8568) --- services/tests/mockingservicestests/Android.mk | 45 ++++++++++++++++++++++ .../tests/mockingservicestests/AndroidManifest.xml | 28 ++++++++++++++ .../tests/mockingservicestests/AndroidTest.xml | 32 +++++++++++++++ .../com/android/server/AppStateTrackerTest.java | 23 +++++------ 4 files changed, 117 insertions(+), 11 deletions(-) create mode 100644 services/tests/mockingservicestests/Android.mk create mode 100644 services/tests/mockingservicestests/AndroidManifest.xml create mode 100644 services/tests/mockingservicestests/AndroidTest.xml rename services/tests/{servicestests => mockingservicestests}/src/com/android/server/AppStateTrackerTest.java (98%) diff --git a/services/tests/mockingservicestests/Android.mk b/services/tests/mockingservicestests/Android.mk new file mode 100644 index 000000000000..34de9dfb7ad6 --- /dev/null +++ b/services/tests/mockingservicestests/Android.mk @@ -0,0 +1,45 @@ +# Copyright (C) 2018 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. + +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_MODULE_TAGS := tests + +LOCAL_SRC_FILES := $(call all-java-files-under, src) + +LOCAL_STATIC_JAVA_LIBRARIES := \ + services.core \ + services.devicepolicy \ + frameworks-base-testutils \ + androidx-test \ + mockito-target-extended-minus-junit4 \ + ShortcutManagerTestUtils \ + compatibility-device-util \ + truth-prebuilt + +LOCAL_JAVA_LIBRARIES := \ + android.test.mock + +LOCAL_JNI_SHARED_LIBRARIES := \ + libdexmakerjvmtiagent \ + libstaticjvmtiagent + +LOCAL_PACKAGE_NAME := FrameworksMockingServicesTests +LOCAL_PRIVATE_PLATFORM_APIS := true +LOCAL_COMPATIBILITY_SUITE := device-tests + +LOCAL_PROGUARD_ENABLED := disabled + +include $(BUILD_PACKAGE) diff --git a/services/tests/mockingservicestests/AndroidManifest.xml b/services/tests/mockingservicestests/AndroidManifest.xml new file mode 100644 index 000000000000..247e446d1bfc --- /dev/null +++ b/services/tests/mockingservicestests/AndroidManifest.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/services/tests/mockingservicestests/AndroidTest.xml b/services/tests/mockingservicestests/AndroidTest.xml new file mode 100644 index 000000000000..adfee96d4e28 --- /dev/null +++ b/services/tests/mockingservicestests/AndroidTest.xml @@ -0,0 +1,32 @@ + + + + diff --git a/services/tests/servicestests/src/com/android/server/AppStateTrackerTest.java b/services/tests/mockingservicestests/src/com/android/server/AppStateTrackerTest.java similarity index 98% rename from services/tests/servicestests/src/com/android/server/AppStateTrackerTest.java rename to services/tests/mockingservicestests/src/com/android/server/AppStateTrackerTest.java index 933b3d6b4b6c..c8e67820ce46 100644 --- a/services/tests/servicestests/src/com/android/server/AppStateTrackerTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/AppStateTrackerTest.java @@ -60,8 +60,6 @@ import android.os.Process; import android.os.RemoteException; import android.os.UserHandle; import android.provider.Settings.Global; -import android.support.test.filters.SmallTest; -import android.support.test.runner.AndroidJUnit4; import android.test.mock.MockContentResolver; import android.util.ArraySet; import android.util.Pair; @@ -87,11 +85,14 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; +import androidx.test.filters.SmallTest; +import androidx.test.runner.AndroidJUnit4; + /** * Tests for {@link AppStateTracker} * * Run with: - atest $ANDROID_BUILD_TOP/frameworks/base/services/tests/servicestests/src/com/android/server/AppStateTrackerTest.java + atest $ANDROID_BUILD_TOP/frameworks/base/services/tests/mockingservicestests/src/com/android/server/AppStateTrackerTest.java */ @SmallTest @RunWith(AndroidJUnit4.class) @@ -682,10 +683,10 @@ public class AppStateTrackerTest { //-------------------------------------------------- List entries = new ArrayList<>(); - entries.add(new AppOpsManager.OpEntry( + entries.add(new OpEntry( AppOpsManager.OP_ACCESS_NOTIFICATIONS, AppOpsManager.MODE_IGNORED, 0, 0, 0, 0, null)); - entries.add(new AppOpsManager.OpEntry( + entries.add(new OpEntry( AppStateTracker.TARGET_OP, AppOpsManager.MODE_IGNORED, 0, 0, 0, 0, null)); @@ -693,7 +694,7 @@ public class AppStateTrackerTest { //-------------------------------------------------- entries = new ArrayList<>(); - entries.add(new AppOpsManager.OpEntry( + entries.add(new OpEntry( AppStateTracker.TARGET_OP, AppOpsManager.MODE_IGNORED, 0, 0, 0, 0, null)); @@ -701,7 +702,7 @@ public class AppStateTrackerTest { //-------------------------------------------------- entries = new ArrayList<>(); - entries.add(new AppOpsManager.OpEntry( + entries.add(new OpEntry( AppStateTracker.TARGET_OP, AppOpsManager.MODE_ALLOWED, 0, 0, 0, 0, null)); @@ -709,10 +710,10 @@ public class AppStateTrackerTest { //-------------------------------------------------- entries = new ArrayList<>(); - entries.add(new AppOpsManager.OpEntry( + entries.add(new OpEntry( AppStateTracker.TARGET_OP, AppOpsManager.MODE_IGNORED, 0, 0, 0, 0, null)); - entries.add(new AppOpsManager.OpEntry( + entries.add(new OpEntry( AppOpsManager.OP_ACCESS_NOTIFICATIONS, AppOpsManager.MODE_IGNORED, 0, 0, 0, 0, null)); @@ -753,7 +754,7 @@ public class AppStateTrackerTest { final AppStateTrackerTestable instance = newInstance(); callStart(instance); - AppStateTracker.Listener l = mock(AppStateTracker.Listener.class); + Listener l = mock(Listener.class); instance.addListener(l); // Power save on. @@ -796,7 +797,7 @@ public class AppStateTrackerTest { final AppStateTrackerTestable instance = newInstance(); callStart(instance); - AppStateTracker.Listener l = mock(AppStateTracker.Listener.class); + Listener l = mock(Listener.class); instance.addListener(l); // ------------------------------------------------------------------------- -- 2.11.0