The performance tests reuse the service from the end-to-end tests (which provides some basic permission methods). Two methods are added: one without permission check and one with manual permission checks (i.e., calling Context.enforceCallingPermission directly). A perfetto configuration is added (as opposed to using the default trace_config_detailed.textproto). This configuration samples the service and test processes at regular interval. It helps confirming the actual call stack within the binder calls. Bug: 269684922 Bug: 269721152 Test: atest EnforcePermissionPerfTests Change-Id: I7c1bc6e178b083ac663df3b0372cdd22e377248e
44 lines
2.2 KiB
XML
44 lines
2.2 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- Copyright (C) 2023 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 EnforcePermission Perf Tests">
|
|
|
|
<target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"/>
|
|
<target_preparer class="com.android.tradefed.targetprep.PushFilePreparer">
|
|
<option name="push-file" key="perfetto.textproto" value="/data/misc/perfetto-traces/trace_config.textproto" />
|
|
</target_preparer>
|
|
<target_preparer class="com.android.tradefed.targetprep.TestAppInstallSetup">
|
|
<option name="test-file-name" value="EnforcePermissionTestHelper.apk"/>
|
|
<option name="test-file-name" value="EnforcePermissionPerfTests.apk"/>
|
|
<option name="cleanup-apks" value="true" />
|
|
</target_preparer>
|
|
|
|
<option name="isolated-storage" value="false" />
|
|
|
|
<metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector">
|
|
<option name="pull-pattern-keys" value="perfetto_file_path" />
|
|
<option name="collect-on-run-ended-only" value="false" />
|
|
</metrics_collector>
|
|
|
|
<option name="test-tag" value="EnforcePermissionTests"/>
|
|
<test class="com.android.tradefed.testtype.AndroidJUnitTest">
|
|
<option name="package" value="android.tests.enforcepermission.tests"/>
|
|
<option name="device-listeners" value="android.device.collectors.PerfettoListener" />
|
|
<!-- PerfettoListener related arguments -->
|
|
<option name="instrumentation-arg" key="perfetto_config_text_proto" value="true" />
|
|
<option name="instrumentation-arg" key="perfetto_config_file" value="trace_config.textproto" />
|
|
</test>
|
|
</configuration>
|