summaryrefslogtreecommitdiffstats
path: root/tools/perf/tests/shell/list.sh
blob: 76a9846cff223b2e3d63d3959f42b7f1b1e2e82d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/sh
# perf list tests
# SPDX-License-Identifier: GPL-2.0

set -e

shelldir=$(dirname "$0")
# shellcheck source=lib/setup_python.sh
. "${shelldir}"/lib/setup_python.sh

list_output=$(mktemp /tmp/__perf_test.list_output.json.XXXXX)

cleanup() {
  rm -f "${list_output}"

  trap - EXIT TERM INT
}

trap_cleanup() {
  cleanup
  exit 1
}
trap trap_cleanup EXIT TERM INT

test_list_json() {
  echo "Json output test"
  # Generate perf list json output into list_output file.
  perf list -j -o "${list_output}"
  # Validate the json using python, redirect the json copy to /dev/null as
  # otherwise the test may block writing to stdout.
  $PYTHON -m json.tool "${list_output}" /dev/null
  echo "Json output test [Success]"
}

test_list_json
cleanup
exit 0