Skip to content

Commit fc4577b

Browse files
captain5050acmel
authored andcommitted
perf test: Test pipe mode with data conversion --to-json
Add pipe mode test for json data conversion. Tidy up exit and cleanup code. Committer testing: $ perf test 'perf data convert --to-json' 124: 'perf data convert --to-json' command test : Ok $ perf test -vv 'perf data convert --to-json' 124: 'perf data convert --to-json' command test: --- start --- test child forked, pid 548738 Testing Perf Data Conversion Command to JSON [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.020 MB /tmp/__perf_test.perf.data.krxvl (104 samples) ] [ perf data convert: Converted '/tmp/__perf_test.perf.data.krxvl' into JSON data '/tmp/__perf_test.output.json.0z60p' ] [ perf data convert: Converted and wrote 0.075 MB (104 samples) ] Perf Data Converter Command to JSON [SUCCESS] Validating Perf Data Converted JSON file The file contains valid JSON format [SUCCESS] Testing Perf Data Conversion Command to JSON (Pipe mode) [ perf record: Woken up 2 times to write data ] [ perf record: Captured and wrote 0.046 MB - ] [ perf data convert: Converted '-' into JSON data '/tmp/__perf_test.output.json.0z60p' ] [ perf data convert: Converted and wrote 0.081 MB (110 samples) ] Perf Data Converter Command to JSON (Pipe mode) [SUCCESS] Validating Perf Data Converted JSON file The file contains valid JSON format [SUCCESS] ---- end(0) ---- 124: 'perf data convert --to-json' command test : Ok $ Signed-off-by: Ian Rogers <irogers@google.com> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Derek Foreman <derek.foreman@collabora.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: James Clark <james.clark@linaro.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
1 parent 5b92fc0 commit fc4577b

1 file changed

Lines changed: 24 additions & 9 deletions

File tree

tools/perf/tests/shell/test_perf_data_converter_json.sh

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,42 @@ result=$(mktemp /tmp/__perf_test.output.json.XXXXX)
1515

1616
cleanup()
1717
{
18-
rm -f "${perfdata}"
18+
rm -f "${perfdata}*"
1919
rm -f "${result}"
2020
trap - exit term int
2121
}
2222

2323
trap_cleanup()
2424
{
25+
echo "Unexpected signal in ${FUNCNAME[1]}"
2526
cleanup
26-
exit ${err}
27+
exit 1
2728
}
2829
trap trap_cleanup exit term int
2930

3031
test_json_converter_command()
3132
{
32-
echo "Testing Perf Data Convertion Command to JSON"
33-
perf record -o "$perfdata" -F 99 -g -- perf test -w noploop > /dev/null 2>&1
34-
perf data convert --to-json "$result" --force -i "$perfdata" >/dev/null 2>&1
33+
echo "Testing Perf Data Conversion Command to JSON"
34+
perf record -o "$perfdata" -F 99 -g -- perf test -w noploop
35+
perf data convert --to-json "$result" --force -i "$perfdata"
3536
if [ "$(cat ${result} | wc -l)" -gt "0" ] ; then
3637
echo "Perf Data Converter Command to JSON [SUCCESS]"
3738
else
3839
echo "Perf Data Converter Command to JSON [FAILED]"
3940
err=1
40-
exit
41+
fi
42+
}
43+
44+
test_json_converter_pipe()
45+
{
46+
echo "Testing Perf Data Conversion Command to JSON (Pipe mode)"
47+
perf record -o - -F 99 -g -- perf test -w noploop > "$perfdata"
48+
cat "$perfdata" | perf data convert --to-json "$result" --force -i -
49+
if [ "$(cat ${result} | wc -l)" -gt "0" ] ; then
50+
echo "Perf Data Converter Command to JSON (Pipe mode) [SUCCESS]"
51+
else
52+
echo "Perf Data Converter Command to JSON (Pipe mode) [FAILED]"
53+
err=1
4154
fi
4255
}
4356

@@ -50,16 +63,18 @@ validate_json_format()
5063
else
5164
echo "The file does not contain valid JSON format [FAILED]"
5265
err=1
53-
exit
5466
fi
5567
else
5668
echo "File not found [FAILED]"
57-
err=2
58-
exit
69+
err=1
5970
fi
6071
}
6172

6273
test_json_converter_command
6374
validate_json_format
6475

76+
test_json_converter_pipe
77+
validate_json_format
78+
79+
cleanup
6580
exit ${err}

0 commit comments

Comments
 (0)