perf test: Fixes to variable expansion and stdout for diff test

When make_data fails its error message needs to go to stderr rather
than stdout and the stdout value is captured in a variable.  Quote the
$err value so that it is always a valid input for test.  This error is
commonly encountered if no sample data is gathered by the test.

Signed-off-by: Ian Rogers <irogers@google.com>
Link: https://lore.kernel.org/r/20250312001841.1515779-1-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
Ian Rogers 2025-03-11 17:18:41 -07:00 committed by Namhyung Kim
parent 4e82c88a90
commit 3a86d63e6f

View File

@ -39,13 +39,13 @@ make_data() {
file="$1"
if ! perf record -o "${file}" ${testprog} 2> /dev/null
then
echo "Workload record [Failed record]"
echo "Workload record [Failed record]" >&2
echo 1
return
fi
if ! perf report -i "${file}" -q | grep -q "${testsym}"
then
echo "Workload record [Failed missing output]"
echo "Workload record [Failed missing output]" >&2
echo 1
return
fi
@ -55,12 +55,12 @@ make_data() {
test_two_files() {
echo "Basic two file diff test"
err=$(make_data "${perfdata1}")
if [ $err != 0 ]
if [ "$err" != 0 ]
then
return
fi
err=$(make_data "${perfdata2}")
if [ $err != 0 ]
if [ "$err" != 0 ]
then
return
fi
@ -77,12 +77,12 @@ test_two_files() {
test_three_files() {
echo "Basic three file diff test"
err=$(make_data "${perfdata1}")
if [ $err != 0 ]
if [ "$err" != 0 ]
then
return
fi
err=$(make_data "${perfdata2}")
if [ $err != 0 ]
if [ "$err" != 0 ]
then
return
fi