.. | .. |
---|
1 | 1 | #!/bin/sh |
---|
2 | 2 | # SPDX-License-Identifier: GPL-2.0 |
---|
3 | 3 | # description: ftrace - function pid filters |
---|
| 4 | +# requires: set_ftrace_pid set_ftrace_filter function:tracer |
---|
| 5 | +# flags: instance |
---|
4 | 6 | |
---|
5 | 7 | # Make sure that function pid matching filter works. |
---|
6 | 8 | # Also test it on an instance directory |
---|
7 | | - |
---|
8 | | -if ! grep -q function available_tracers; then |
---|
9 | | - echo "no function tracer configured" |
---|
10 | | - exit_unsupported |
---|
11 | | -fi |
---|
12 | | - |
---|
13 | | -if [ ! -f set_ftrace_pid ]; then |
---|
14 | | - echo "set_ftrace_pid not found? Is function tracer not set?" |
---|
15 | | - exit_unsupported |
---|
16 | | -fi |
---|
17 | | - |
---|
18 | | -if [ ! -f set_ftrace_filter ]; then |
---|
19 | | - echo "set_ftrace_filter not found? Is function tracer not set?" |
---|
20 | | - exit_unsupported |
---|
21 | | -fi |
---|
22 | 9 | |
---|
23 | 10 | do_function_fork=1 |
---|
24 | 11 | |
---|
.. | .. |
---|
35 | 22 | fi |
---|
36 | 23 | |
---|
37 | 24 | do_reset() { |
---|
38 | | - reset_tracer |
---|
39 | | - clear_trace |
---|
40 | | - enable_tracing |
---|
41 | | - echo > set_ftrace_filter |
---|
42 | | - echo > set_ftrace_pid |
---|
43 | | - |
---|
44 | 25 | if [ $do_function_fork -eq 0 ]; then |
---|
45 | 26 | return |
---|
46 | 27 | fi |
---|
.. | .. |
---|
54 | 35 | exit_fail |
---|
55 | 36 | } |
---|
56 | 37 | |
---|
57 | | -yield() { |
---|
58 | | - ping localhost -c 1 || sleep .001 || usleep 1 || sleep 1 |
---|
59 | | -} |
---|
60 | | - |
---|
61 | 38 | do_test() { |
---|
62 | 39 | disable_tracing |
---|
63 | 40 | |
---|
64 | 41 | echo do_execve* > set_ftrace_filter |
---|
65 | | - echo *do_fork >> set_ftrace_filter |
---|
| 42 | + echo $FUNCTION_FORK >> set_ftrace_filter |
---|
66 | 43 | |
---|
67 | 44 | echo $PID > set_ftrace_pid |
---|
68 | 45 | echo function > current_tracer |
---|
.. | .. |
---|
106 | 83 | } |
---|
107 | 84 | |
---|
108 | 85 | do_test |
---|
109 | | - |
---|
110 | | -mkdir instances/foo |
---|
111 | | -cd instances/foo |
---|
112 | | -do_test |
---|
113 | | -cd ../../ |
---|
114 | | -rmdir instances/foo |
---|
115 | | - |
---|
116 | 86 | do_reset |
---|
117 | 87 | |
---|
118 | 88 | exit 0 |
---|