diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-08-04 15:35:28 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-08-04 15:35:28 +0000 |
commit | c05faad1382226ff0c185bfd9e49774a5fd13728 (patch) | |
tree | e7808c3bfacbf3788520c67e091d9d6e6a410464 | |
parent | 2d3bcabec0e793e9962131ef86eed07c99f6787d (diff) | |
parent | 63daa4be499617075cb1425e901e4285576b8a1e (diff) | |
download | perfetto-c05faad1382226ff0c185bfd9e49774a5fd13728.tar.gz |
Snap for 10609607 from 63daa4be499617075cb1425e901e4285576b8a1e to mainline-uwb-releaseaml_uwb_341111010aml_uwb_341011000
Change-Id: I2aa324978a7d0cbec7858310d12e683fe34c2a61
-rw-r--r-- | test/cts/Android.bp | 1 | ||||
-rw-r--r-- | test/cts/AndroidTest.xml | 11 | ||||
-rw-r--r-- | test/cts/perfetto_device_preparer.sh | 47 |
3 files changed, 59 insertions, 0 deletions
diff --git a/test/cts/Android.bp b/test/cts/Android.bp index 6d58f5875..b5e2a54bb 100644 --- a/test/cts/Android.bp +++ b/test/cts/Android.bp @@ -59,6 +59,7 @@ cc_test { ":CtsPerfettoProducerApp", ":CtsPerfettoReleaseApp", ":CtsPerfettoDebuggableApp", + "perfetto_device_preparer.sh", ], stl: "libc++_static", // This test is also run via Mainline Testing against the ART Mainline diff --git a/test/cts/AndroidTest.xml b/test/cts/AndroidTest.xml index 1afa92786..4fa28be74 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 |