Tests: Add helper functions for printing status and banner
[lttng-tools.git] / tests / ust / before-after / run
CommitLineData
b19155c0
DG
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
18CURDIR=$(dirname $0)/
19TESTDIR=$CURDIR/../..
20NR_ITER=100
21SESSION_NAME="per-session"
22EVENT_NAME="ust_gen_nevents:tptest"
23
24source $TESTDIR/utils.sh
25
26echo -e "\n----------------------------------------------------"
27echo -e "UST tracer - Star tracing before and after execution"
28echo -e "----------------------------------------------------"
29
30if [ ! -x "$CURDIR/gen-nevents" ]; then
31 echo -e "No UST nevents binary detected. Passing."
32 exit 0
33fi
34
35# MUST set TESTDIR before calling those functions
36
37test_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
56test_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
90start_sessiond
91
92echo ""
93echo "=== Start application BEFORE tracing was started ==="
94
95TRACE_PATH=$(mktemp -d)
96
97test_before_apps
98out=$?
99if [ $out -ne 0 ]; then
100 stop_sessiond
101 exit $out
102fi
103
104rm -rf $TRACE_PATH
105
106echo ""
107echo "=== Start application AFTER tracing was started ==="
108
109TRACE_PATH=$(mktemp -d)
110
111test_after_apps
112out=$?
113if [ $out -ne 0 ]; then
114 stop_sessiond
115 exit $out
116fi
117
118stop_sessiond
119
120rm -rf $TRACE_PATH
This page took 0.028231 seconds and 5 git commands to generate.