TESTAPP_NAME="gen-ust-events"
TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME"
EVENT_NAME="tp:tptest"
-NUM_TESTS=58
+NUM_TESTS=59
source $TESTDIR/utils/utils.sh
ok $? "Enable channel $channel_name per PID for session $sess_name"
}
-function wait_apps
-{
- diag "Waiting for applications to end..."
- while [ -n "$(pidof $TESTAPP_NAME)" ]; do
- sleep 1
- done
-}
-
test_after_multiple_apps() {
local out
local i
diag "Start multiple applications AFTER tracing is started"
# BEFORE application is spawned
- create_lttng_session $SESSION_NAME $TRACE_PATH
+ create_lttng_session_ok $SESSION_NAME $TRACE_PATH
enable_channel_per_pid $SESSION_NAME "channel0"
- enable_ust_lttng_event $SESSION_NAME $EVENT_NAME "channel0"
- start_lttng_tracing $SESSION_NAME
+ enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME "channel0"
+ start_lttng_tracing_ok $SESSION_NAME
for i in `seq 1 5`; do
- $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT >/dev/null 2>&1
+ $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT >/dev/null 2>&1 &
ok $? "Start application $i for tracing"
done
+ wait
- stop_lttng_tracing $SESSION_NAME
- destroy_lttng_session $SESSION_NAME
+ stop_lttng_tracing_ok $SESSION_NAME
+ destroy_lttng_session_ok $SESSION_NAME
- trace_matches $EVENT_NAME $[NR_ITER * 5] $TRACE_PATH
+ trace_match_only $EVENT_NAME $[NR_ITER * 5] $TRACE_PATH
return $?
}
test_before_multiple_apps() {
local out
local i
+ local file_sync_after_first=$(mktemp -u)
+ local file_sync_before_last=$(mktemp -u)
diag "Start multiple applications BEFORE tracing is started"
for i in `seq 1 5`; do
- $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT & >/dev/null 2>&1
+ $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first}_${i} ${file_sync_before_last}_${i} >/dev/null 2>&1 &
ok $? "Start application $i for tracing"
done
# BEFORE application is spawned
- create_lttng_session $SESSION_NAME $TRACE_PATH
+ create_lttng_session_ok $SESSION_NAME $TRACE_PATH
enable_channel_per_pid $SESSION_NAME "channel0"
- enable_ust_lttng_event $SESSION_NAME $EVENT_NAME "channel0"
- start_lttng_tracing $SESSION_NAME
+ enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME "channel0"
+ start_lttng_tracing_ok $SESSION_NAME
- # At least hit one event
- sleep 2
+ for i in `seq 1 5`; do
+ touch ${file_sync_before_last}_${i}
+ done
- stop_lttng_tracing $SESSION_NAME
- destroy_lttng_session $SESSION_NAME
+ diag "Waiting for applications to end"
+ wait
+ pass "Waiting done"
+
+ stop_lttng_tracing_ok $SESSION_NAME
+ destroy_lttng_session_ok $SESSION_NAME
+
+ for i in `seq 1 5`; do
+ rm -f ${file_sync_after_first}_${i}
+ rm -f ${file_sync_before_last}_${i}
+ done
out=$(babeltrace $TRACE_PATH | grep $EVENT_NAME | wc -l)
if [ $out -eq 0 ]; then
out=0
fi
- wait_apps
-
return $out
}
diag "Start application AFTER tracing is started"
# BEFORE application is spawned
- create_lttng_session $SESSION_NAME $TRACE_PATH
+ create_lttng_session_ok $SESSION_NAME $TRACE_PATH
enable_channel_per_pid $SESSION_NAME "channel0"
- enable_ust_lttng_event $SESSION_NAME $EVENT_NAME "channel0"
- start_lttng_tracing $SESSION_NAME
+ enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME "channel0"
+ start_lttng_tracing_ok $SESSION_NAME
- $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT
+ $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT &
ok $? "Start application to trace"
+ wait
- stop_lttng_tracing $SESSION_NAME
- destroy_lttng_session $SESSION_NAME
+ stop_lttng_tracing_ok $SESSION_NAME
+ destroy_lttng_session_ok $SESSION_NAME
- trace_matches $EVENT_NAME $NR_ITER $TRACE_PATH
+ trace_match_only $EVENT_NAME $NR_ITER $TRACE_PATH
return $?
}
test_before_app() {
local out
+ local file_sync_after_first=$(mktemp -u)
+ local file_sync_before_last=$(mktemp -u)
diag "Start application BEFORE tracing is started"
- $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT &
- ok $? "Start application to trace"
# BEFORE application is spawned
- create_lttng_session $SESSION_NAME $TRACE_PATH
+ create_lttng_session_ok $SESSION_NAME $TRACE_PATH
enable_channel_per_pid $SESSION_NAME "channel0"
- enable_ust_lttng_event $SESSION_NAME $EVENT_NAME "channel0"
- start_lttng_tracing $SESSION_NAME
+ enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME "channel0"
+
+ $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT ${file_sync_after_first} ${file_sync_before_last} &
+ ok $? "Start application to trace"
- # At least hit one event
- sleep 2
+ start_lttng_tracing_ok $SESSION_NAME
- stop_lttng_tracing $SESSION_NAME
- destroy_lttng_session $SESSION_NAME
+ touch ${file_sync_before_last}
+
+ wait
+
+ stop_lttng_tracing_ok $SESSION_NAME
+ destroy_lttng_session_ok $SESSION_NAME
+
+ rm -f ${file_sync_after_first}
+ rm -f ${file_sync_before_last}
out=$(babeltrace $TRACE_PATH | grep $EVENT_NAME | wc -l)
if [ $out -eq 0 ]; then
out=0
fi
- wait_apps
-
return $out
}
diag "Start with multiple channels"
# BEFORE application is spawned
- create_lttng_session $SESSION_NAME $TRACE_PATH
+ create_lttng_session_ok $SESSION_NAME $TRACE_PATH
enable_channel_per_pid $SESSION_NAME "channel0"
enable_channel_per_pid $SESSION_NAME "channel1"
enable_channel_per_pid $SESSION_NAME "channel2"
ok $? "Enable event $EVENT_NAME for session $SESSION_NAME in channel3"
$TESTDIR/../src/bin/lttng/$LTTNG_BIN enable-event $EVENT_NAME -c channel4 -s $SESSION_NAME -u >/dev/null 2>&1
ok $? "Enable event $EVENT_NAME for session $SESSION_NAME in channel4"
- start_lttng_tracing $SESSION_NAME
+ start_lttng_tracing_ok $SESSION_NAME
- $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT
+ $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT &
ok $? "Start application to trace"
+ wait
- stop_lttng_tracing $SESSION_NAME
- trace_matches $EVENT_NAME $[NR_ITER * 5] $TRACE_PATH
+ stop_lttng_tracing_ok $SESSION_NAME
+ trace_match_only $EVENT_NAME $[NR_ITER * 5] $TRACE_PATH
out=$?
- destroy_lttng_session $SESSION_NAME
+ destroy_lttng_session_ok $SESSION_NAME
return $out
}