diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-20 20:21:33 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-20 20:21:33 +0000 |
commit | 98cf278e7561a8ca812e40bc8d5a8b0073193401 (patch) | |
tree | 0a5fec02ac4e2be359120e6f14db60664ac25f6a | |
parent | 4bc9ba8ab673c2cfa822628bebad749d34e4730f (diff) | |
parent | 5c8d324994b31c83133b2cc463e80a138934abe4 (diff) | |
download | perfetto-98cf278e7561a8ca812e40bc8d5a8b0073193401.tar.gz |
Snap for 10533780 from 5c8d324994b31c83133b2cc463e80a138934abe4 to android13-tests-releaseandroid-vts-13.0_r7android-vts-13.0_r6android-cts-13.0_r7android-cts-13.0_r6
Change-Id: Iade4760e1be58293992692ac756dfc7a29a0a0d2
-rw-r--r-- | test/cts/Android.bp | 3 | ||||
-rw-r--r-- | test/cts/AndroidTest.xml | 11 | ||||
-rw-r--r-- | test/cts/perfetto_device_preparer.sh | 47 |
3 files changed, 60 insertions, 1 deletions
diff --git a/test/cts/Android.bp b/test/cts/Android.bp index 3eef756ef..856b4d24a 100644 --- a/test/cts/Android.bp +++ b/test/cts/Android.bp @@ -56,7 +56,8 @@ cc_test { ":CtsPerfettoProducerApp", ":CtsPerfettoReleaseApp", ":CtsPerfettoDebuggableApp", - ":CtsPerfettoReporterApp" + ":CtsPerfettoReporterApp", + "perfetto_device_preparer.sh", ], stl: "libc++_static", defaults: [ diff --git a/test/cts/AndroidTest.xml b/test/cts/AndroidTest.xml index db14fe6ae..35ce3de0b 100644 --- a/test/cts/AndroidTest.xml +++ b/test/cts/AndroidTest.xml @@ -37,6 +37,17 @@ <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer"> <option name="run-command" value="setprop persist.traced_perf.enable 1" /> </target_preparer> + <target_preparer class="com.android.compatibility.common.tradefed.targetprep.FilePusher"> + <option name="cleanup" value="true" /> + <option name="push" + value="perfetto_device_preparer.sh->/data/local/tests/perfetto_device_preparer.sh" /> + </target_preparer> + <target_preparer class="com.android.tradefed.targetprep.RunHostCommandTargetPreparer"> + <option name="host-setup-command" + value="adb -s $SERIAL shell sh /data/local/tests/perfetto_device_preparer.sh setup" /> + <option name="host-teardown-command" + value="adb -s $SERIAL shell sh /data/local/tests/perfetto_device_preparer.sh teardown" /> + </target_preparer> <test class="com.android.tradefed.testtype.GTest" > <option name="native-test-device-path" value="/data/local/tmp" /> <option name="module-name" value="CtsPerfettoTestCases" /> diff --git a/test/cts/perfetto_device_preparer.sh b/test/cts/perfetto_device_preparer.sh new file mode 100644 index 000000000..407cbdec3 --- /dev/null +++ b/test/cts/perfetto_device_preparer.sh @@ -0,0 +1,47 @@ +#!/bin/sh +# +# Copyright 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. + +# Setups the device before running perfetto tests. Recovers the state after the +# tests are done. The setup and the tead-down phases are distinguished via the +# first argument: [setup|teardown]. + +if [ "$1" != setup -a "$1" != teardown ]; then + echo "Usage: $0 [setup|teardown]" + exit 1 +fi + +# Only force persist.traced.enable=1 on automotive as other form factors +# might have to have traced enabled by default per the CDD. +if ! getprop ro.build.characteristics | grep -q automotive; then + exit 0 +fi + +# b/285215697: Set the persist.traced.enable during the test. +PROP=persist.traced.enable +SAVED=/data/local/tests/persist.traced.enable.saved +if [ "$1" = setup ]; then + if [ -n "$(getprop ${PROP})" ]; then + getprop ${PROP} > ${SAVED} + fi + setprop ${PROP} "1" +elif [ "$1" = teardown ]; then + if [ -e ${SAVED} ]; then + setprop ${PROP} $(cat ${SAVED}) + rm ${SAVED} + else + setprop ${PROP} "" + fi +fi |