5 if [ "$?" -ne "0" ]; then
6 echo "!!!!!!!!!!!!!!!!!!!!!!!!"
7 echo "$0: Stopping because of error"
8 echo "!!!!!!!!!!!!!!!!!!!!!!!!"
13 function starttest
() {
14 echo "------------------------------------"
15 echo "Starting test: $1"
16 echo "------------------------------------"
19 function check_trace_logs
() {
22 for f
in $
(ls $1/*.log
); do
23 NLINES
=$
(egrep "Warning|Error" $f |
wc -l)
24 if [ "$NLINES" -ne "0" ]; then
25 echo "Errors/warnings found in $f"
33 MATCHES
="$TESTDIR/trace_matches"
35 starttest
"Test-nevents"
36 NOFAIL usttrace
$TESTDIR/test-nevents
/prog
37 trace_loc
=$
(usttrace
-W)
38 NOFAIL
$MATCHES -N "an_event (100000)" -n 100000 "^ust.an_event:" $trace_loc
39 NOFAIL
$MATCHES -N "another_event (100000)" -n 100000 "^ust.another_event:" $trace_loc
40 NOFAIL check_trace_logs
"$trace_loc"
42 starttest
"fork()/exec() test"
43 NOFAIL usttrace
-f $TESTDIR/fork
/.libs
/fork
$TESTDIR/fork
/.libs
/fork2
44 trace_loc
=$
(usttrace
-W)
45 NOFAIL
$MATCHES -N "fork - before_fork" "^ust.before_fork:" $trace_loc
46 NOFAIL
$MATCHES -N "fork - after_fork_parent" "^ust.after_fork_parent:" $trace_loc
47 NOFAIL
$MATCHES -N "fork - after_fork_child" "^ust.after_fork_child:" $trace_loc
48 NOFAIL
$MATCHES -N "fork - before_exec" "^ust.before_exec:" $trace_loc
49 NOFAIL
$MATCHES -N "fork - potential_exec" "^ust.potential_exec:" $trace_loc
50 NOFAIL
$MATCHES -N "fork - after_exec" "^ust.after_exec:" $trace_loc
51 NOFAIL check_trace_logs
"$trace_loc"
53 starttest
"libustinstr-malloc"
54 NOFAIL usttrace
-lm $TESTDIR/test-libustinstr-malloc
/.libs
/prog
55 trace_loc
=$
(usttrace
-W)
56 NOFAIL
$MATCHES -N "libustinstr-malloc - malloc" -n 1000 "^ust.malloc:.*{ size = 1[0-9][0-9][0-9]," $trace_loc
57 NOFAIL check_trace_logs
"$trace_loc"
60 starttest
"Manual mode tracing"
61 TRACE_DIR
="/tmp/ust-testsuite-manual-trace"
65 pidfilepath
="/tmp/ust-testsuite-$USER-$(date +%Y%m%d%H%M%S%N)-ustd-pid"
66 mkfifo -m 0600 "$pidfilepath"
67 # It's not useful to run ustd in NOFAIL because it's running in the background
68 ustd
--pidfile "$pidfilepath" -o "$TRACE_DIR" >/dev
/null
2>&1 &
69 USTD_PID
="$(<$pidfilepath)"
71 LD_PRELOAD
=/usr
/local
/lib
/libust.so
.0.0.0:/usr
/local
/lib
/libustinstr-malloc.so
find / >/dev
/null
2>&1 &
74 NOFAIL ustctl
--list-markers "$PID" >/dev
/null
75 NOFAIL ustctl
--enable-marker ust
/malloc
$PID
76 NOFAIL ustctl
--enable-marker ust
/free
$PID
77 NOFAIL ustctl
--create-trace $PID
78 NOFAIL ustctl
--alloc-trace $PID
79 NOFAIL ustctl
--start-trace $PID
82 NOFAIL ustctl
--stop-trace $PID
83 NOFAIL ustctl
--destroy-trace $PID
85 kill -SIGTERM $USTD_PID
88 NOFAIL
$MATCHES -N "manual - find - ust.malloc" "^ust.malloc:" "$TRACE_DIR"
91 starttest
"ustd valgrind check"
92 TRACE_DIR
="/tmp/ust-testsuite-ustdvalgrind-trace"
96 pidfilepath
="/tmp/ust-testsuite-$USER-$(date +%Y%m%d%H%M%S%N)-ustd-pid"
97 mkfifo -m 0600 "$pidfilepath"
98 # It's not useful to run ustd in NOFAIL because it's running in the background
99 VALG_OUT
=/tmp
/ust-testsuite-valg.txt
100 valgrind
-q ustd
--pidfile "$pidfilepath" -o "$TRACE_DIR" >/dev
/null
2>"$VALG_OUT" &
102 USTD_PID
="$(<$pidfilepath)"
104 usttrace
-s $TESTDIR/basic
/.libs
/basic
106 kill -SIGTERM $USTD_PID
109 echo "Valgrind output is in $VALG_OUT"
110 NOFAIL
[ -z "$(<$VALG_OUT)" ]
114 LD_LIBRARY_PATH
=$TESTDIR/dlopen
/.libs NOFAIL usttrace
$TESTDIR/dlopen
/dlopen
115 trace_loc
=$
(usttrace
-W)
116 NOFAIL
$MATCHES -N "from_library" -n 1 "^ust.from_library:" $trace_loc
117 NOFAIL
$MATCHES -N "from_main_before_lib" -n 1 "^ust.from_main_before_lib:" $trace_loc
118 NOFAIL
$MATCHES -N "from_main_after_lib" -n 1 "^ust.from_main_after_lib:" $trace_loc
119 echo "************************************"
120 echo "$0: All passed"
121 echo "************************************"
This page took 0.04086 seconds and 5 git commands to generate.