1#!/bin/sh 2# 3# Copyright 2023 - The Android Open Source Project 4# 5# Licensed under the Apache License, Version 2.0 (the "License"); 6# you may not use this file except in compliance with the License. 7# You may obtain a copy of the License at 8# 9# http://www.apache.org/licenses/LICENSE-2.0 10# 11# Unless required by applicable law or agreed to in writing, software 12# distributed under the License is distributed on an "AS IS" BASIS, 13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14# See the License for the specific language governing permissions and 15# limitations under the License. 16 17# Setups the device before running perfetto tests. Recovers the state after the 18# tests are done. The setup and the tead-down phases are distinguished via the 19# first argument: [setup|teardown]. 20 21if [ "$1" != setup -a "$1" != teardown ]; then 22 echo "Usage: $0 [setup|teardown]" 23 exit 1 24fi 25 26# Only force persist.traced.enable=1 on automotive as other form factors 27# might have to have traced enabled by default per the CDD. 28if ! getprop ro.build.characteristics | grep -q automotive; then 29 exit 0 30fi 31 32# b/285215697: Set the persist.traced.enable during the test. 33PROP=persist.traced.enable 34SAVED=/data/local/tests/persist.traced.enable.saved 35if [ "$1" = setup ]; then 36 if [ -n "$(getprop ${PROP})" ]; then 37 getprop ${PROP} > ${SAVED} 38 fi 39 setprop ${PROP} "1" 40elif [ "$1" = teardown ]; then 41 if [ -e ${SAVED} ]; then 42 setprop ${PROP} $(cat ${SAVED}) 43 rm ${SAVED} 44 else 45 setprop ${PROP} "" 46 fi 47fi 48