File tree Expand file tree Collapse file tree 1 file changed +66
-0
lines changed Expand file tree Collapse file tree 1 file changed +66
-0
lines changed Original file line number Diff line number Diff line change
1
+ #! /bin/sh
2
+ # perf script tests
3
+ # SPDX-License-Identifier: GPL-2.0
4
+
5
+ set -e
6
+
7
+ temp_dir=$( mktemp -d /tmp/perf-test-script.XXXXXXXXXX)
8
+
9
+ perfdatafile=" ${temp_dir} /perf.data"
10
+ db_test=" ${temp_dir} /db_test.py"
11
+
12
+ err=0
13
+
14
+ cleanup ()
15
+ {
16
+ trap - EXIT TERM INT
17
+ sane=$( echo " ${temp_dir} " | cut -b 1-21)
18
+ if [ " ${sane} " = " /tmp/perf-test-script" ] ; then
19
+ echo " --- Cleaning up ---"
20
+ rm -f " ${temp_dir} /" *
21
+ rmdir " ${temp_dir} "
22
+ fi
23
+ }
24
+
25
+ trap_cleanup ()
26
+ {
27
+ cleanup
28
+ exit 1
29
+ }
30
+
31
+ trap trap_cleanup EXIT TERM INT
32
+
33
+
34
+ test_db ()
35
+ {
36
+ echo " DB test"
37
+
38
+ # Check if python script is supported
39
+ libpython=$( perf version --build-options | grep python | grep -cv OFF)
40
+ if [ " ${libpython} " != " 1" ] ; then
41
+ echo " SKIP: python scripting is not supported"
42
+ err=2
43
+ return
44
+ fi
45
+
46
+ cat << "_end_of_file_ " > "${db_test}"
47
+ perf_db_export_mode = True
48
+ perf_db_export_calls = False
49
+ perf_db_export_callchains = True
50
+
51
+ def sample_table(*args):
52
+ print(f'sample_table({args})')
53
+
54
+ def call_path_table(*args):
55
+ print(f'call_path_table({args}')
56
+ _end_of_file_
57
+ perf record -g -o " ${perfdatafile} " true
58
+ perf script -i " ${perfdatafile} " -s " ${db_test} "
59
+ echo " DB test [Success]"
60
+ }
61
+
62
+ test_db
63
+
64
+ cleanup
65
+
66
+ exit $err
You can’t perform that action at this time.
0 commit comments