Merge "Adds app enumeration varations to perf tests"
This commit is contained in:
committed by
Android (Google) Code Review
commit
207454b9fa
@@ -1,111 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2017 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 android.os;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.perftests.utils.BenchmarkState;
|
||||
import android.perftests.utils.PerfStatusReporter;
|
||||
|
||||
import androidx.test.InstrumentationRegistry;
|
||||
import androidx.test.filters.LargeTest;
|
||||
import androidx.test.runner.AndroidJUnit4;
|
||||
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
@LargeTest
|
||||
public class PackageManagerPerfTest {
|
||||
private static final String PERMISSION_NAME_EXISTS =
|
||||
"com.android.perftests.core.TestPermission";
|
||||
private static final String PERMISSION_NAME_DOESNT_EXIST =
|
||||
"com.android.perftests.core.TestBadPermission";
|
||||
private static final ComponentName TEST_ACTIVITY =
|
||||
new ComponentName("com.android.perftests.core",
|
||||
"android.perftests.utils.PerfTestActivity");
|
||||
|
||||
@Rule
|
||||
public PerfStatusReporter mPerfStatusReporter = new PerfStatusReporter();
|
||||
|
||||
@Test
|
||||
public void testCheckPermissionExists() {
|
||||
final BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
|
||||
final PackageManager pm = InstrumentationRegistry.getTargetContext().getPackageManager();
|
||||
final String packageName = TEST_ACTIVITY.getPackageName();
|
||||
|
||||
while (state.keepRunning()) {
|
||||
int ret = pm.checkPermission(PERMISSION_NAME_EXISTS, packageName);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCheckPermissionDoesntExist() {
|
||||
final BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
|
||||
final PackageManager pm = InstrumentationRegistry.getTargetContext().getPackageManager();
|
||||
final String packageName = TEST_ACTIVITY.getPackageName();
|
||||
|
||||
while (state.keepRunning()) {
|
||||
int ret = pm.checkPermission(PERMISSION_NAME_DOESNT_EXIST, packageName);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testQueryIntentActivities() {
|
||||
final BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
|
||||
final PackageManager pm = InstrumentationRegistry.getTargetContext().getPackageManager();
|
||||
final Intent intent = new Intent("com.android.perftests.core.PERFTEST");
|
||||
|
||||
while (state.keepRunning()) {
|
||||
pm.queryIntentActivities(intent, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetPackageInfo() throws Exception {
|
||||
final BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
|
||||
final PackageManager pm = InstrumentationRegistry.getTargetContext().getPackageManager();
|
||||
final String packageName = TEST_ACTIVITY.getPackageName();
|
||||
|
||||
while (state.keepRunning()) {
|
||||
pm.getPackageInfo(packageName, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetApplicationInfo() throws Exception {
|
||||
final BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
|
||||
final PackageManager pm = InstrumentationRegistry.getTargetContext().getPackageManager();
|
||||
final String packageName = TEST_ACTIVITY.getPackageName();
|
||||
|
||||
while (state.keepRunning()) {
|
||||
pm.getApplicationInfo(packageName, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetActivityInfo() throws Exception {
|
||||
final BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
|
||||
final PackageManager pm = InstrumentationRegistry.getTargetContext().getPackageManager();
|
||||
|
||||
while (state.keepRunning()) {
|
||||
pm.getActivityInfo(TEST_ACTIVITY, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
21
apct-tests/perftests/packagemanager/Android.bp
Normal file
21
apct-tests/perftests/packagemanager/Android.bp
Normal file
@@ -0,0 +1,21 @@
|
||||
android_test {
|
||||
name: "PackageManagerPerfTests",
|
||||
|
||||
srcs: ["src/**/*.java"],
|
||||
|
||||
static_libs: [
|
||||
"platform-compat-test-rules",
|
||||
"androidx.appcompat_appcompat",
|
||||
"androidx.test.rules",
|
||||
"androidx.test.ext.junit",
|
||||
"androidx.annotation_annotation",
|
||||
"apct-perftests-utils",
|
||||
],
|
||||
|
||||
libs: ["android.test.base"],
|
||||
|
||||
platform_apis: true,
|
||||
|
||||
test_suites: ["device-tests"],
|
||||
|
||||
}
|
||||
89
apct-tests/perftests/packagemanager/AndroidManifest.xml
Normal file
89
apct-tests/perftests/packagemanager/AndroidManifest.xml
Normal file
@@ -0,0 +1,89 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2020 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.
|
||||
-->
|
||||
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.android.perftests.packagemanager">
|
||||
|
||||
<permission android:name="com.android.perftests.packagemanager.TestPermission" />
|
||||
<uses-permission android:name="com.android.perftests.packagemanager.TestPermission" />
|
||||
|
||||
<queries>
|
||||
<package android:name="com.android.perftests.appenumeration0" />
|
||||
<package android:name="com.android.perftests.appenumeration1" />
|
||||
<package android:name="com.android.perftests.appenumeration2" />
|
||||
<package android:name="com.android.perftests.appenumeration3" />
|
||||
<package android:name="com.android.perftests.appenumeration4" />
|
||||
<package android:name="com.android.perftests.appenumeration5" />
|
||||
<package android:name="com.android.perftests.appenumeration6" />
|
||||
<package android:name="com.android.perftests.appenumeration7" />
|
||||
<package android:name="com.android.perftests.appenumeration8" />
|
||||
<package android:name="com.android.perftests.appenumeration9" />
|
||||
<package android:name="com.android.perftests.appenumeration10" />
|
||||
<package android:name="com.android.perftests.appenumeration11" />
|
||||
<package android:name="com.android.perftests.appenumeration12" />
|
||||
<package android:name="com.android.perftests.appenumeration13" />
|
||||
<package android:name="com.android.perftests.appenumeration14" />
|
||||
<package android:name="com.android.perftests.appenumeration15" />
|
||||
<package android:name="com.android.perftests.appenumeration16" />
|
||||
<package android:name="com.android.perftests.appenumeration17" />
|
||||
<package android:name="com.android.perftests.appenumeration18" />
|
||||
<package android:name="com.android.perftests.appenumeration19" />
|
||||
<package android:name="com.android.perftests.appenumeration20" />
|
||||
<package android:name="com.android.perftests.appenumeration21" />
|
||||
<package android:name="com.android.perftests.appenumeration22" />
|
||||
<package android:name="com.android.perftests.appenumeration23" />
|
||||
<package android:name="com.android.perftests.appenumeration24" />
|
||||
<package android:name="com.android.perftests.appenumeration25" />
|
||||
<package android:name="com.android.perftests.appenumeration26" />
|
||||
<package android:name="com.android.perftests.appenumeration27" />
|
||||
<package android:name="com.android.perftests.appenumeration28" />
|
||||
<package android:name="com.android.perftests.appenumeration29" />
|
||||
<package android:name="com.android.perftests.appenumeration30" />
|
||||
<package android:name="com.android.perftests.appenumeration31" />
|
||||
<package android:name="com.android.perftests.appenumeration32" />
|
||||
<package android:name="com.android.perftests.appenumeration33" />
|
||||
<package android:name="com.android.perftests.appenumeration34" />
|
||||
<package android:name="com.android.perftests.appenumeration35" />
|
||||
<package android:name="com.android.perftests.appenumeration36" />
|
||||
<package android:name="com.android.perftests.appenumeration37" />
|
||||
<package android:name="com.android.perftests.appenumeration38" />
|
||||
<package android:name="com.android.perftests.appenumeration39" />
|
||||
<package android:name="com.android.perftests.appenumeration40" />
|
||||
<package android:name="com.android.perftests.appenumeration41" />
|
||||
<package android:name="com.android.perftests.appenumeration42" />
|
||||
<package android:name="com.android.perftests.appenumeration43" />
|
||||
<package android:name="com.android.perftests.appenumeration44" />
|
||||
<package android:name="com.android.perftests.appenumeration45" />
|
||||
<package android:name="com.android.perftests.appenumeration46" />
|
||||
<package android:name="com.android.perftests.appenumeration47" />
|
||||
<package android:name="com.android.perftests.appenumeration48" />
|
||||
<package android:name="com.android.perftests.appenumeration49" />
|
||||
</queries>
|
||||
|
||||
<application>
|
||||
<uses-library android:name="android.test.runner" />
|
||||
<activity android:name="android.perftests.utils.PerfTestActivity">
|
||||
<intent-filter>
|
||||
<action android:name="com.android.perftests.packagemanager.PERFTEST" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
</application>
|
||||
|
||||
<instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
|
||||
android:targetPackage="com.android.perftests.packagemanager"/>
|
||||
|
||||
</manifest>
|
||||
88
apct-tests/perftests/packagemanager/AndroidTest.xml
Normal file
88
apct-tests/perftests/packagemanager/AndroidTest.xml
Normal file
@@ -0,0 +1,88 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2020 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.
|
||||
-->
|
||||
<configuration description="Runs PackageManagerPerfTests metric instrumentation.">
|
||||
<option name="test-suite-tag" value="apct" />
|
||||
<option name="test-suite-tag" value="apct-metric-instrumentation" />
|
||||
<target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
|
||||
<option name="cleanup-apks" value="true" />
|
||||
<option name="test-file-name" value="PackageManagerPerfTests.apk" />
|
||||
</target_preparer>
|
||||
<target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
|
||||
<option name="cleanup-apks" value="true" />
|
||||
<option name="force-queryable" value="false" />
|
||||
<option name="test-file-name" value="QueriesAll0.apk" />
|
||||
<option name="test-file-name" value="QueriesAll1.apk" />
|
||||
<option name="test-file-name" value="QueriesAll2.apk" />
|
||||
<option name="test-file-name" value="QueriesAll3.apk" />
|
||||
<option name="test-file-name" value="QueriesAll4.apk" />
|
||||
<option name="test-file-name" value="QueriesAll5.apk" />
|
||||
<option name="test-file-name" value="QueriesAll6.apk" />
|
||||
<option name="test-file-name" value="QueriesAll7.apk" />
|
||||
<option name="test-file-name" value="QueriesAll8.apk" />
|
||||
<option name="test-file-name" value="QueriesAll9.apk" />
|
||||
<option name="test-file-name" value="QueriesAll10.apk" />
|
||||
<option name="test-file-name" value="QueriesAll11.apk" />
|
||||
<option name="test-file-name" value="QueriesAll12.apk" />
|
||||
<option name="test-file-name" value="QueriesAll13.apk" />
|
||||
<option name="test-file-name" value="QueriesAll14.apk" />
|
||||
<option name="test-file-name" value="QueriesAll15.apk" />
|
||||
<option name="test-file-name" value="QueriesAll16.apk" />
|
||||
<option name="test-file-name" value="QueriesAll17.apk" />
|
||||
<option name="test-file-name" value="QueriesAll18.apk" />
|
||||
<option name="test-file-name" value="QueriesAll19.apk" />
|
||||
<option name="test-file-name" value="QueriesAll20.apk" />
|
||||
<option name="test-file-name" value="QueriesAll21.apk" />
|
||||
<option name="test-file-name" value="QueriesAll22.apk" />
|
||||
<option name="test-file-name" value="QueriesAll23.apk" />
|
||||
<option name="test-file-name" value="QueriesAll24.apk" />
|
||||
<option name="test-file-name" value="QueriesAll25.apk" />
|
||||
<option name="test-file-name" value="QueriesAll26.apk" />
|
||||
<option name="test-file-name" value="QueriesAll27.apk" />
|
||||
<option name="test-file-name" value="QueriesAll28.apk" />
|
||||
<option name="test-file-name" value="QueriesAll29.apk" />
|
||||
<option name="test-file-name" value="QueriesAll30.apk" />
|
||||
<option name="test-file-name" value="QueriesAll31.apk" />
|
||||
<option name="test-file-name" value="QueriesAll32.apk" />
|
||||
<option name="test-file-name" value="QueriesAll33.apk" />
|
||||
<option name="test-file-name" value="QueriesAll34.apk" />
|
||||
<option name="test-file-name" value="QueriesAll35.apk" />
|
||||
<option name="test-file-name" value="QueriesAll36.apk" />
|
||||
<option name="test-file-name" value="QueriesAll37.apk" />
|
||||
<option name="test-file-name" value="QueriesAll38.apk" />
|
||||
<option name="test-file-name" value="QueriesAll39.apk" />
|
||||
<option name="test-file-name" value="QueriesAll40.apk" />
|
||||
<option name="test-file-name" value="QueriesAll41.apk" />
|
||||
<option name="test-file-name" value="QueriesAll42.apk" />
|
||||
<option name="test-file-name" value="QueriesAll43.apk" />
|
||||
<option name="test-file-name" value="QueriesAll44.apk" />
|
||||
<option name="test-file-name" value="QueriesAll45.apk" />
|
||||
<option name="test-file-name" value="QueriesAll46.apk" />
|
||||
<option name="test-file-name" value="QueriesAll47.apk" />
|
||||
<option name="test-file-name" value="QueriesAll48.apk" />
|
||||
<option name="test-file-name" value="QueriesAll49.apk" />
|
||||
</target_preparer>
|
||||
|
||||
<test class="com.android.tradefed.testtype.AndroidJUnitTest" >
|
||||
<option name="package" value="com.android.perftests.packagemanager" />
|
||||
<option name="hidden-api-checks" value="false"/>
|
||||
</test>
|
||||
|
||||
<metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector">
|
||||
<option name="directory-keys" value="/data/local/PackageManagerPerfTests" />
|
||||
<option name="collect-on-run-ended-only" value="true" />
|
||||
</metrics_collector>
|
||||
</configuration>
|
||||
314
apct-tests/perftests/packagemanager/apps/query-all/Android.bp
Normal file
314
apct-tests/perftests/packagemanager/apps/query-all/Android.bp
Normal file
@@ -0,0 +1,314 @@
|
||||
// Copyright (C) 2020 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.
|
||||
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll0",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration0",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll1",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration1",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll2",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration2",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll3",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration3",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll4",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration4",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll5",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration5",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll6",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration6",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll7",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration7",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll8",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration8",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll9",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration9",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll10",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration10",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll11",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration11",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll12",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration12",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll13",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration13",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll14",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration14",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll15",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration15",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll16",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration16",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll17",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration17",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll18",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration18",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll19",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration19",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll20",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration20",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll21",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration21",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll22",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration22",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll23",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration23",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll24",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration24",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll25",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration25",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll26",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration26",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll27",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration27",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll28",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration28",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll29",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration29",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll30",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration30",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll31",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration31",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll32",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration32",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll33",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration33",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll34",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration34",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll35",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration35",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll36",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration36",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll37",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration37",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll38",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration38",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll39",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration39",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll40",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration40",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll41",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration41",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll42",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration42",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll43",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration43",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll44",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration44",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll45",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration45",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll46",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration46",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll47",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration47",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll48",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration48",
|
||||
]
|
||||
}
|
||||
android_test_helper_app {
|
||||
name: "QueriesAll49",
|
||||
aaptflags: [
|
||||
"--rename-manifest-package com.android.perftests.appenumeration49",
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2020 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.
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.android.perftests.appenumeration">
|
||||
|
||||
<application android:hasCode="false" >
|
||||
<activity android:name="android.perftests.utils.PerfTestActivity">
|
||||
<intent-filter>
|
||||
<action android:name="com.android.perftests.packagemanager.PERFTEST" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
</application>
|
||||
|
||||
<queries>
|
||||
<package android:name="com.android.perftests.appenumeration0" />
|
||||
<package android:name="com.android.perftests.appenumeration1" />
|
||||
<package android:name="com.android.perftests.appenumeration2" />
|
||||
<package android:name="com.android.perftests.appenumeration3" />
|
||||
<package android:name="com.android.perftests.appenumeration4" />
|
||||
<package android:name="com.android.perftests.appenumeration5" />
|
||||
<package android:name="com.android.perftests.appenumeration6" />
|
||||
<package android:name="com.android.perftests.appenumeration7" />
|
||||
<package android:name="com.android.perftests.appenumeration8" />
|
||||
<package android:name="com.android.perftests.appenumeration9" />
|
||||
<package android:name="com.android.perftests.appenumeration10" />
|
||||
<package android:name="com.android.perftests.appenumeration11" />
|
||||
<package android:name="com.android.perftests.appenumeration12" />
|
||||
<package android:name="com.android.perftests.appenumeration13" />
|
||||
<package android:name="com.android.perftests.appenumeration14" />
|
||||
<package android:name="com.android.perftests.appenumeration15" />
|
||||
<package android:name="com.android.perftests.appenumeration16" />
|
||||
<package android:name="com.android.perftests.appenumeration17" />
|
||||
<package android:name="com.android.perftests.appenumeration18" />
|
||||
<package android:name="com.android.perftests.appenumeration19" />
|
||||
<package android:name="com.android.perftests.appenumeration20" />
|
||||
<package android:name="com.android.perftests.appenumeration21" />
|
||||
<package android:name="com.android.perftests.appenumeration22" />
|
||||
<package android:name="com.android.perftests.appenumeration23" />
|
||||
<package android:name="com.android.perftests.appenumeration24" />
|
||||
<package android:name="com.android.perftests.appenumeration25" />
|
||||
<package android:name="com.android.perftests.appenumeration26" />
|
||||
<package android:name="com.android.perftests.appenumeration27" />
|
||||
<package android:name="com.android.perftests.appenumeration28" />
|
||||
<package android:name="com.android.perftests.appenumeration29" />
|
||||
<package android:name="com.android.perftests.appenumeration30" />
|
||||
<package android:name="com.android.perftests.appenumeration31" />
|
||||
<package android:name="com.android.perftests.appenumeration32" />
|
||||
<package android:name="com.android.perftests.appenumeration33" />
|
||||
<package android:name="com.android.perftests.appenumeration34" />
|
||||
<package android:name="com.android.perftests.appenumeration35" />
|
||||
<package android:name="com.android.perftests.appenumeration36" />
|
||||
<package android:name="com.android.perftests.appenumeration37" />
|
||||
<package android:name="com.android.perftests.appenumeration38" />
|
||||
<package android:name="com.android.perftests.appenumeration39" />
|
||||
<package android:name="com.android.perftests.appenumeration40" />
|
||||
<package android:name="com.android.perftests.appenumeration41" />
|
||||
<package android:name="com.android.perftests.appenumeration42" />
|
||||
<package android:name="com.android.perftests.appenumeration43" />
|
||||
<package android:name="com.android.perftests.appenumeration44" />
|
||||
<package android:name="com.android.perftests.appenumeration45" />
|
||||
<package android:name="com.android.perftests.appenumeration46" />
|
||||
<package android:name="com.android.perftests.appenumeration47" />
|
||||
<package android:name="com.android.perftests.appenumeration48" />
|
||||
<package android:name="com.android.perftests.appenumeration49" />
|
||||
</queries>
|
||||
|
||||
</manifest>
|
||||
@@ -0,0 +1,189 @@
|
||||
/*
|
||||
* Copyright (C) 2020 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 android.os;
|
||||
|
||||
import static libcore.junit.util.compat.CoreCompatChangeRule.DisableCompatChanges;
|
||||
import static libcore.junit.util.compat.CoreCompatChangeRule.EnableCompatChanges;
|
||||
|
||||
import android.compat.testing.PlatformCompatChangeRule;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.perftests.utils.BenchmarkState;
|
||||
import android.perftests.utils.PerfStatusReporter;
|
||||
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import androidx.test.filters.LargeTest;
|
||||
import androidx.test.platform.app.InstrumentationRegistry;
|
||||
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
@LargeTest
|
||||
public class PackageManagerPerfTest {
|
||||
private static final String PERMISSION_NAME_EXISTS =
|
||||
"com.android.perftests.packagemanager.TestPermission";
|
||||
private static final String PERMISSION_NAME_DOESNT_EXIST =
|
||||
"com.android.perftests.packagemanager.TestBadPermission";
|
||||
private static final String OTHER_PACKAGE_NAME = "com.android.perftests.appenumeration0";
|
||||
private static final ComponentName TEST_ACTIVITY =
|
||||
new ComponentName(OTHER_PACKAGE_NAME,
|
||||
"android.perftests.utils.PerfTestActivity");
|
||||
|
||||
@Rule
|
||||
public final PerfStatusReporter mPerfStatusReporter = new PerfStatusReporter();
|
||||
|
||||
@Rule
|
||||
public final PlatformCompatChangeRule mPlatformCompatChangeRule =
|
||||
new PlatformCompatChangeRule();
|
||||
|
||||
public PackageManagerPerfTest() throws PackageManager.NameNotFoundException {
|
||||
final Context context = InstrumentationRegistry.getInstrumentation().getContext();
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableCompatChanges(PackageManager.FILTER_APPLICATION_QUERY)
|
||||
public void testCheckPermissionExists() {
|
||||
final BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
|
||||
final PackageManager pm =
|
||||
InstrumentationRegistry.getInstrumentation().getTargetContext().getPackageManager();
|
||||
final String packageName = TEST_ACTIVITY.getPackageName();
|
||||
|
||||
while (state.keepRunning()) {
|
||||
int ret = pm.checkPermission(PERMISSION_NAME_EXISTS, packageName);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableCompatChanges(PackageManager.FILTER_APPLICATION_QUERY)
|
||||
public void testCheckPermissionExistsWithFiltering() {
|
||||
testCheckPermissionExists();
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableCompatChanges(PackageManager.FILTER_APPLICATION_QUERY)
|
||||
public void testCheckPermissionDoesntExist() {
|
||||
final BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
|
||||
final PackageManager pm =
|
||||
InstrumentationRegistry.getInstrumentation().getTargetContext().getPackageManager();
|
||||
final String packageName = TEST_ACTIVITY.getPackageName();
|
||||
|
||||
while (state.keepRunning()) {
|
||||
int ret = pm.checkPermission(PERMISSION_NAME_DOESNT_EXIST, packageName);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableCompatChanges(PackageManager.FILTER_APPLICATION_QUERY)
|
||||
public void testCheckPermissionDoesntExistWithFiltering() {
|
||||
testCheckPermissionDoesntExist();
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableCompatChanges(PackageManager.FILTER_APPLICATION_QUERY)
|
||||
public void testQueryIntentActivities() {
|
||||
final BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
|
||||
final PackageManager pm =
|
||||
InstrumentationRegistry.getInstrumentation().getTargetContext().getPackageManager();
|
||||
final Intent intent = new Intent("com.android.perftests.core.PERFTEST");
|
||||
|
||||
while (state.keepRunning()) {
|
||||
pm.queryIntentActivities(intent, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableCompatChanges(PackageManager.FILTER_APPLICATION_QUERY)
|
||||
public void testQueryIntentActivitiesWithFiltering() {
|
||||
testQueryIntentActivities();
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableCompatChanges(PackageManager.FILTER_APPLICATION_QUERY)
|
||||
public void testGetPackageInfo() throws Exception {
|
||||
final BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
|
||||
final PackageManager pm =
|
||||
InstrumentationRegistry.getInstrumentation().getTargetContext().getPackageManager();
|
||||
|
||||
while (state.keepRunning()) {
|
||||
pm.getPackageInfo(OTHER_PACKAGE_NAME, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableCompatChanges(PackageManager.FILTER_APPLICATION_QUERY)
|
||||
public void testGetPackageInfoWithFiltering() throws Exception {
|
||||
testGetPackageInfo();
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableCompatChanges(PackageManager.FILTER_APPLICATION_QUERY)
|
||||
public void testGetApplicationInfo() throws Exception {
|
||||
final BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
|
||||
final PackageManager pm =
|
||||
InstrumentationRegistry.getInstrumentation().getTargetContext().getPackageManager();
|
||||
|
||||
while (state.keepRunning()) {
|
||||
pm.getApplicationInfo(OTHER_PACKAGE_NAME, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableCompatChanges(PackageManager.FILTER_APPLICATION_QUERY)
|
||||
public void testGetApplicationInfoWithFiltering() throws Exception {
|
||||
testGetApplicationInfo();
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableCompatChanges(PackageManager.FILTER_APPLICATION_QUERY)
|
||||
public void testGetActivityInfo() throws Exception {
|
||||
final BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
|
||||
final PackageManager pm =
|
||||
InstrumentationRegistry.getInstrumentation().getTargetContext().getPackageManager();
|
||||
|
||||
while (state.keepRunning()) {
|
||||
pm.getActivityInfo(TEST_ACTIVITY, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableCompatChanges(PackageManager.FILTER_APPLICATION_QUERY)
|
||||
public void testGetActivityInfoWithFiltering() throws Exception {
|
||||
testGetActivityInfo();
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisableCompatChanges(PackageManager.FILTER_APPLICATION_QUERY)
|
||||
public void testGetInstalledPackages() throws Exception {
|
||||
final BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
|
||||
final PackageManager pm =
|
||||
InstrumentationRegistry.getInstrumentation().getTargetContext().getPackageManager();
|
||||
|
||||
while (state.keepRunning()) {
|
||||
pm.getInstalledPackages(0);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@EnableCompatChanges(PackageManager.FILTER_APPLICATION_QUERY)
|
||||
public void testGetInstalledPackagesWithFiltering() throws Exception {
|
||||
testGetInstalledPackages();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user