X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Fregression%2Fust%2Fbefore-after%2Ftest_before_after;h=ed4981ba0f55d3f96cd6c5a3c559b96a0eb8f32b;hp=6a5776e23a7441ef6aa60982e436ec65eab5290e;hb=4986e6a68873ff8ec774489964c79aead7d39a49;hpb=f38839af84b1ab4cf1f6e9a84471b13675a46eaa diff --git a/tests/regression/ust/before-after/test_before_after b/tests/regression/ust/before-after/test_before_after index 6a5776e23..ed4981ba0 100755 --- a/tests/regression/ust/before-after/test_before_after +++ b/tests/regression/ust/before-after/test_before_after @@ -19,30 +19,39 @@ TEST_DESC="UST tracer - Start tracing before and after execution" 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" -NUM_TESTS=16 +EVENT_NAME="tp:tptest" +NUM_TESTS=17 source $TESTDIR/utils/utils.sh -print_test_banner "$TEST_DESC" - -if [ ! -x "$CURDIR/gen-nevents" ]; then +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 wait_app() +{ + while [ -n "$(pidof $TESTAPP_NAME)" ]; do + sleep 0.5 + done + pass "Application $TESTAPP_NAME ended." +} +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 - ./$CURDIR/gen-nevents $NR_ITER - ok $? "Start application to trace" + $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT + ok $? "Traced application stopped." stop_lttng_tracing $SESSION_NAME destroy_lttng_session $SESSION_NAME @@ -52,33 +61,29 @@ test_before_apps() { return $? } -test_after_apps() { +function test_after_apps() +{ local out - ./$CURDIR/gen-nevents 100 & - ok $? "Start application to trace" + $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT & + ok $? "Application started in background." # BEFORE application is spawned create_lttng_session $SESSION_NAME $TRACE_PATH enable_ust_lttng_event $SESSION_NAME $EVENT_NAME start_lttng_tracing $SESSION_NAME - # At least hit one event - sleep 2 + # Since the start is done after the application is started, there is a + # bootstrap time needed between the session daemon and the UST tracer. + # Waiting for the application to end tells us when to stop everything and + # validate that at least one event is seen. + wait_app stop_lttng_tracing $SESSION_NAME destroy_lttng_session $SESSION_NAME - out=$(babeltrace $TRACE_PATH | grep $EVENT_NAME | wc -l) - if [ $out -eq 0 ]; then - fail "Trace validation" - diag "No event(s) found. We are supposed to have at least one." - out=1 - else - pass "Trace validation" - diag "Found $out event(s). Coherent." - out=0 - fi + validate_trace $EVENT_NAME $TRACE_PATH + out=$? return $out } @@ -86,9 +91,11 @@ test_after_apps() { # MUST set TESTDIR before calling those functions plan_tests $NUM_TESTS +print_test_banner "$TEST_DESC" + start_lttng_sessiond -diag "Start application BEFORE tracing was started" +diag "Start tracing BEFORE application is started" TRACE_PATH=$(mktemp -d) @@ -101,7 +108,7 @@ fi rm -rf $TRACE_PATH -diag "Start application AFTER tracing was started" +diag "Start tracing AFTER application is started" TRACE_PATH=$(mktemp -d)