Loading...
1#!/bin/bash
2# 'perf data convert --to-json' command test
3# SPDX-License-Identifier: GPL-2.0
4
5set -e
6
7err=0
8
9shelldir=$(dirname "$0")
10# shellcheck source=lib/setup_python.sh
11. "${shelldir}"/lib/setup_python.sh
12
13perfdata=$(mktemp /tmp/__perf_test.perf.data.XXXXX)
14result=$(mktemp /tmp/__perf_test.output.json.XXXXX)
15
16cleanup()
17{
18 rm -f "${perfdata}"
19 rm -f "${result}"
20 trap - exit term int
21}
22
23trap_cleanup()
24{
25 cleanup
26 exit ${err}
27}
28trap trap_cleanup exit term int
29
30test_json_converter_command()
31{
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
35 if [ "$(cat ${result} | wc -l)" -gt "0" ] ; then
36 echo "Perf Data Converter Command to JSON [SUCCESS]"
37 else
38 echo "Perf Data Converter Command to JSON [FAILED]"
39 err=1
40 exit
41 fi
42}
43
44validate_json_format()
45{
46 echo "Validating Perf Data Converted JSON file"
47 if [ -f "$result" ] ; then
48 if $PYTHON -c "import json; json.load(open('$result'))" >/dev/null 2>&1 ; then
49 echo "The file contains valid JSON format [SUCCESS]"
50 else
51 echo "The file does not contain valid JSON format [FAILED]"
52 err=1
53 exit
54 fi
55 else
56 echo "File not found [FAILED]"
57 err=2
58 exit
59 fi
60}
61
62test_json_converter_command
63validate_json_format
64
65exit ${err}