Fix: test flaky sleep and wait patterns
[lttng-tools.git] / tests / regression / tools / live / test_ust_tracefile_count
CommitLineData
cef0f7d5
JD
1#!/bin/bash
2#
3# Copyright (C) - 2013 Julien Desfossez <julien.desfossez@efficios.com>
4# David Goulet <dgoulet@efficios.com>
5#
6# This library is free software; you can redistribute it and/or modify it under
7# the terms of the GNU Lesser General Public License as published by the Free
8# Software Foundation; version 2.1 of the License.
9#
10# This library is distributed in the hope that it will be useful, but WITHOUT
11# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
13# details.
14#
15# You should have received a copy of the GNU Lesser General Public License
16# along with this library; if not, write to the Free Software Foundation, Inc.,
17# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
19TEST_DESC="Live - User space tracing with tracefile_count"
20
21CURDIR=$(dirname $0)/
22TESTDIR=$CURDIR/../../../
23SESSIOND_BIN="lttng-sessiond"
24RELAYD_BIN="lttng-relayd"
25LTTNG_BIN="lttng"
26BABELTRACE_BIN="babeltrace"
27NR_ITER=1
28NR_USEC_WAIT=1
29DELAY_USEC=2000000
30TESTAPP_PATH="$TESTDIR/utils/testapp"
31TESTAPP_NAME="gen-ust-events"
32TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME"
33
34SESSION_NAME="live"
35EVENT_NAME="tp:tptest"
36
37TRACE_PATH=$(mktemp -d)
38
39DIR=$(readlink -f $TESTDIR)
40
41source $TESTDIR/utils/utils.sh
42
43echo "$TEST_DESC"
44
45function setup_live_tracing()
46{
47 # Create session with default path
48 $TESTDIR/../src/bin/lttng/$LTTNG_BIN create $SESSION_NAME --live $DELAY_USEC \
49 -U net://localhost >/dev/null 2>&1
50
51 $TESTDIR/../src/bin/lttng/$LTTNG_BIN enable-channel --subbuf-size 16k -C 16k -W 10 -u chan1
52 $TESTDIR/../src/bin/lttng/$LTTNG_BIN enable-event "$EVENT_NAME" -s $SESSION_NAME -u -c chan1 >/dev/null 2>&1
53 $TESTDIR/../src/bin/lttng/$LTTNG_BIN start $SESSION_NAME >/dev/null 2>&1
54}
55
56function clean_live_tracing()
57{
58 $TESTDIR/../src/bin/lttng/$LTTNG_BIN stop $SESSION_NAME >/dev/null 2>&1
59 $TESTDIR/../src/bin/lttng/$LTTNG_BIN destroy $SESSION_NAME >/dev/null 2>&1
60 rm -rf $TRACE_PATH
61}
62
63if [ -z $(pidof lt-$SESSIOND_BIN) ]; then
0fc2834c 64 $DIR/../src/bin/lttng-sessiond/$SESSIOND_BIN --background --quiet --consumerd32-path="$DIR/../src/bin/lttng-consumerd/lttng-consumerd" --consumerd64-path="$DIR/../src/bin/lttng-consumerd/lttng-consumerd"
cef0f7d5
JD
65 if [ $? -eq 1 ]; then
66 echo "Fail to start lttng-sessiond"
67 exit 1
68 fi
cef0f7d5
JD
69fi
70
0fc2834c 71opt="-o $TRACE_PATH --background"
cef0f7d5 72if [ -z $(pidof lt-$RELAYD_BIN) ]; then
0fc2834c 73 $DIR/../src/bin/lttng-relayd/$RELAYD_BIN $opt >/dev/null 2>&1
cef0f7d5
JD
74 if [ $? -eq 1 ]; then
75 echo "Fail to start lttng-relayd (opt: $opt)"
76 return 1
77 fi
78fi
79
80setup_live_tracing
81
82# Run app in background
f8ccb5c8 83$TESTAPP_BIN $NR_ITER $NR_USEC_WAIT >/dev/null 2>&1
cef0f7d5
JD
84
85# Start the live test
86$TESTDIR/regression/tools/live/live_test
87
88clean_live_tracing
89
90# Kill the relayd
91PID_RELAYD=`pidof lt-$RELAYD_BIN`
92kill $PID_RELAYD >/dev/null 2>&1
93if [ $? -eq 1 ]; then
94 echo "Kill lttng-relayd (pid: $PID_RELAYD)"
95 exit 1
96else
97 out=1
98 while [ -n "$out" ]; do
99 out=$(pidof lt-$RELAYD_BIN)
100 sleep 0.5
101 done
102fi
103
104# Kill the sessiond
105PID_SESSIOND=`pidof lt-$SESSIOND_BIN`
106kill $PID_SESSIOND >/dev/null 2>&1
107if [ $? -eq 1 ]; then
108 echo "Kill sessiond daemon"
109 exit 1
110else
111 out=1
112 while [ -n "$out" ]; do
113 out=$(pidof lt-$SESSIOND_BIN)
114 sleep 0.5
115 done
116fi
This page took 0.027718 seconds and 4 git commands to generate.