xref: /linux/tools/perf/tests/shell/list.sh (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1#!/bin/sh
2# perf list tests
3# SPDX-License-Identifier: GPL-2.0
4
5set -e
6
7shelldir=$(dirname "$0")
8# shellcheck source=lib/setup_python.sh
9. "${shelldir}"/lib/setup_python.sh
10
11list_output=$(mktemp /tmp/__perf_test.list_output.json.XXXXX)
12
13cleanup() {
14  rm -f "${list_output}"
15
16  trap - EXIT TERM INT
17}
18
19trap_cleanup() {
20  cleanup
21  exit 1
22}
23trap trap_cleanup EXIT TERM INT
24
25test_list_json() {
26  echo "Json output test"
27  # Generate perf list json output into list_output file.
28  perf list -j -o "${list_output}"
29  # Validate the json using python, redirect the json copy to /dev/null as
30  # otherwise the test may block writing to stdout.
31  $PYTHON -m json.tool "${list_output}" /dev/null
32  echo "Json output test [Success]"
33}
34
35test_list_json
36cleanup
37exit 0
38