perf test: Additional pipe tests with pipe output written to a file

Additional pipe tests where piped files are written to disk. This
means that spotting a file name of "-" isn't a sufficient "is pipe?"
test.

Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@linaro.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Nick Terrell <terrelln@fb.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Yanteng Si <siyanteng@loongson.cn>
Cc: Yicong Yang <yangyicong@hisilicon.com>
Link: https://lore.kernel.org/r/20240829150154.37929-9-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Ian Rogers 2024-08-29 08:01:54 -07:00 committed by Arnaldo Carvalho de Melo
parent 2d57c32b32
commit ccb9004656

View File

@ -11,6 +11,7 @@ sym="noploop"
skip_test_missing_symbol ${sym}
data=$(mktemp /tmp/perf.data.XXXXXX)
data2=$(mktemp /tmp/perf.data2.XXXXXX)
prog="perf test -w noploop"
err=0
@ -19,6 +20,8 @@ set -e
cleanup() {
rm -rf "${data}"
rm -rf "${data}".old
rm -rf "${data2}"
rm -rf "${data2}".old
trap - EXIT TERM INT
}
@ -49,6 +52,14 @@ test_record_report() {
return
fi
perf record -g -e task-clock:u -o - ${prog} > ${data}
if ! perf report -i ${data} --task | grep -q ${task}
then
echo "Record+report pipe test [Failed - cannot find the test file in the perf report #3]"
err=1
return
fi
echo "Record+report pipe test [Success]"
}
@ -86,6 +97,21 @@ test_inject_bids() {
return
fi
perf record -e task-clock:u -o - ${prog} > ${data}
if ! perf inject ${inject_opt} -i ${data} | perf report -i - | grep -q ${sym}; then
echo "Inject ${inject_opt} build-ids test [Failed - cannot find noploop function in pipe #5]"
err=1
return
fi
perf record -e task-clock:u -o - ${prog} > ${data}
perf inject ${inject_opt} -i ${data} -o ${data2}
if ! perf report -i ${data2} | grep -q ${sym}; then
echo "Inject ${inject_opt} build-ids test [Failed - cannot find noploop function in pipe #6]"
err=1
return
fi
echo "Inject ${inject_opt} build-ids test [Success]"
}