1#!/bin/bash 2# perf evlist tests 3# SPDX-License-Identifier: GPL-2.0 4 5set -e 6 7err=0 8perfdata=$(mktemp /tmp/__perf_test.perf.data.XXXXX) 9 10cleanup() { 11 rm -f "${perfdata}" 12 trap - EXIT TERM INT 13} 14 15trap_cleanup() { 16 echo "Unexpected signal in ${FUNCNAME[1]}" 17 cleanup 18 exit 1 19} 20trap trap_cleanup EXIT TERM INT 21 22test_evlist_simple() { 23 echo "Simple evlist test" 24 if ! perf record -e cpu-clock -o "${perfdata}" true 2> /dev/null 25 then 26 echo "Simple evlist [Failed record]" 27 err=1 28 return 29 fi 30 if ! perf evlist -i "${perfdata}" | grep -q "cpu-clock" 31 then 32 echo "Simple evlist [Failed to list event]" 33 err=1 34 return 35 fi 36 echo "Simple evlist test [Success]" 37} 38 39test_evlist_group() { 40 echo "Group evlist test" 41 if ! perf record -e "{cpu-clock,task-clock}" -o "${perfdata}" \ 42 -- perf test -w noploop 2> /dev/null 43 then 44 echo "Group evlist [Skipped event group recording failed]" 45 return 46 fi 47 48 if ! perf evlist -i "${perfdata}" -g | grep -q "{.*cpu-clock.*,.*task-clock.*}" 49 then 50 echo "Group evlist [Failed to list event group]" 51 err=1 52 return 53 fi 54 echo "Group evlist test [Success]" 55} 56 57test_evlist_verbose() { 58 echo "Event configuration evlist test" 59 if ! perf record -e cycles -o "${perfdata}" true 2> /dev/null 60 then 61 echo "Event configuration evlist [Failed record]" 62 err=1 63 return 64 fi 65 66 if ! perf evlist -i "${perfdata}" -v | grep -q "config:" 67 then 68 echo "Event configuration evlist [Failed to list verbose info]" 69 err=1 70 return 71 fi 72 echo "Event configuration evlist test [Success]" 73} 74 75test_evlist_simple 76test_evlist_group 77test_evlist_verbose 78 79cleanup 80exit $err 81