Fix: remove tests from runall script
[lttng-tools.git] / tests / ust / before-after / run
1 #!/bin/bash
2 #
3 # Copyright (C) - 2012 David Goulet <dgoulet@efficios.com>
4 #
5 # This library is free software; you can redistribute it and/or modify it under
6 # the terms of the GNU Lesser General Public License as published by the Free
7 # Software Foundation; version 2.1 of the License.
8 #
9 # This library is distributed in the hope that it will be useful, but WITHOUT
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12 # details.
13 #
14 # You should have received a copy of the GNU Lesser General Public License
15 # along with this library; if not, write to the Free Software Foundation, Inc.,
16 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
18 CURDIR=$(dirname $0)/
19 TESTDIR=$CURDIR/../..
20 NR_ITER=100
21 SESSION_NAME="per-session"
22 EVENT_NAME="ust_gen_nevents:tptest"
23
24 source $TESTDIR/utils.sh
25
26 echo -e "\n----------------------------------------------------"
27 echo -e "UST tracer - Star tracing before and after execution"
28 echo -e "----------------------------------------------------"
29
30 if [ ! -x "$CURDIR/gen-nevents" ]; then
31 echo -e "No UST nevents binary detected. Passing."
32 exit 0
33 fi
34
35 # MUST set TESTDIR before calling those functions
36
37 test_before_apps() {
38 local out
39
40 # BEFORE application is spawned
41 create_lttng_session $SESSION_NAME $TRACE_PATH
42 enable_ust_lttng_event $SESSION_NAME $EVENT_NAME
43 start_tracing $SESSION_NAME
44 # Start test
45 echo -n "Starting application... "
46 ./$CURDIR/gen-nevents $NR_ITER
47 echo -e "Ended \e[1;32mOK\e[0m"
48 stop_tracing $SESSION_NAME
49 destroy_lttng_session $SESSION_NAME
50
51 trace_matches $EVENT_NAME $NR_ITER $TRACE_PATH
52
53 return $?
54 }
55
56 test_after_apps() {
57 local out
58
59 echo -n "Starting application... "
60 ./$CURDIR/gen-nevents 100 &
61 echo -e "\e[1;32mOK\e[0m"
62
63 # BEFORE application is spawned
64 create_lttng_session $SESSION_NAME $TRACE_PATH
65 enable_ust_lttng_event $SESSION_NAME $EVENT_NAME
66 start_tracing $SESSION_NAME
67
68 # At least hit one event
69 sleep 2
70
71 stop_tracing $SESSION_NAME
72 destroy_lttng_session $SESSION_NAME
73
74 out=$(babeltrace $TRACE_PATH | grep $EVENT_NAME | wc -l)
75 if [ $out -eq 0 ]; then
76 echo -n "No event found. Suppose to have at least one... "
77 echo -e "\e[1;31mFAILED\e[0m"
78 out=1
79 else
80 echo -n "Found $out event(s). Coherent... "
81 echo -e "\e[1;32mOK\e[0m"
82 out=0
83 fi
84
85 return $out
86 }
87
88 # MUST set TESTDIR before calling those functions
89
90 start_sessiond
91
92 echo ""
93 echo "=== Start application BEFORE tracing was started ==="
94
95 TRACE_PATH=$(mktemp -d)
96
97 test_before_apps
98 out=$?
99 if [ $out -ne 0 ]; then
100 stop_sessiond
101 exit $out
102 fi
103
104 rm -rf $TRACE_PATH
105
106 echo ""
107 echo "=== Start application AFTER tracing was started ==="
108
109 TRACE_PATH=$(mktemp -d)
110
111 test_after_apps
112 out=$?
113 if [ $out -ne 0 ]; then
114 stop_sessiond
115 exit $out
116 fi
117
118 stop_sessiond
119
120 rm -rf $TRACE_PATH
This page took 0.031806 seconds and 4 git commands to generate.