CURDIR=$(dirname $0)/
TESTDIR=$CURDIR/../../..
NR_ITER=100
+NR_USEC_WAIT=100000
+TESTAPP_PATH="$TESTDIR/utils/testapp"
+TESTAPP_NAME="gen-ust-events"
+TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME"
SESSION_NAME="per-session"
-EVENT_NAME="ust_gen_nevents:tptest"
+EVENT_NAME="tp:tptest"
+NUM_TESTS=16
source $TESTDIR/utils/utils.sh
-print_test_banner "$TEST_DESC"
-
-if [ ! -x "$CURDIR/gen-nevents" ]; then
- echo -e "No UST nevents binary detected. Passing."
- exit 0
+if [ ! -x "$TESTAPP_BIN" ]; then
+ BAIL_OUT "No UST nevents binary detected."
fi
# MUST set TESTDIR before calling those functions
-test_before_apps() {
- local out
-
+function test_before_apps()
+{
# BEFORE application is spawned
create_lttng_session $SESSION_NAME $TRACE_PATH
enable_ust_lttng_event $SESSION_NAME $EVENT_NAME
start_lttng_tracing $SESSION_NAME
- # Start test
- echo -n "Starting application... "
- ./$CURDIR/gen-nevents $NR_ITER
- echo -n "Ended "
- print_ok
+
+ $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT &
+ wait
+ ok $? "Traced application stopped."
+
stop_lttng_tracing $SESSION_NAME
destroy_lttng_session $SESSION_NAME
- trace_matches $EVENT_NAME $NR_ITER $TRACE_PATH
+ trace_match_only $EVENT_NAME $NR_ITER $TRACE_PATH
return $?
}
-test_after_apps() {
+function test_after_apps()
+{
local out
- echo -n "Starting application... "
- ./$CURDIR/gen-nevents 100 &
- print_ok
-
- # BEFORE application is spawned
create_lttng_session $SESSION_NAME $TRACE_PATH
enable_ust_lttng_event $SESSION_NAME $EVENT_NAME
+
+ $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT &
+ ok $? "Application started in background."
+
+ #FIXME: racy missing synchronization
+
start_lttng_tracing $SESSION_NAME
- # At least hit one event
- sleep 2
+ wait
stop_lttng_tracing $SESSION_NAME
destroy_lttng_session $SESSION_NAME
- out=$(babeltrace $TRACE_PATH | grep $EVENT_NAME | wc -l)
- if [ $out -eq 0 ]; then
- echo -n "No event found. Suppose to have at least one... "
- print_fail
- out=1
- else
- echo -n "Found $out event(s). Coherent... "
- print_ok
- out=0
- fi
+ validate_trace $EVENT_NAME $TRACE_PATH
+ out=$?
return $out
}
# MUST set TESTDIR before calling those functions
+plan_tests $NUM_TESTS
+
+print_test_banner "$TEST_DESC"
start_lttng_sessiond
-echo ""
-echo "=== Start application BEFORE tracing was started ==="
+diag "Start tracing BEFORE application is started"
TRACE_PATH=$(mktemp -d)
rm -rf $TRACE_PATH
-echo ""
-echo "=== Start application AFTER tracing was started ==="
+diag "Start tracing AFTER application is started"
TRACE_PATH=$(mktemp -d)