X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=tests%2Fregression%2Fust%2Fbefore-after%2Ftest_before_after;h=ed4981ba0f55d3f96cd6c5a3c559b96a0eb8f32b;hb=0062bdcc85b99afbe39927229c5fb8e22f5a2ff1;hp=6d45bb5e7f2bfee9c933e93a27e22dd16122915f;hpb=6cb45b178e9b294bbbdc43a1078abdbee8137711;p=lttng-tools.git diff --git a/tests/regression/ust/before-after/test_before_after b/tests/regression/ust/before-after/test_before_after index 6d45bb5e7..ed4981ba0 100755 --- a/tests/regression/ust/before-after/test_before_after +++ b/tests/regression/ust/before-after/test_before_after @@ -25,7 +25,7 @@ TESTAPP_NAME="gen-ust-events" TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME" SESSION_NAME="per-session" EVENT_NAME="tp:tptest" -NUM_TESTS=16 +NUM_TESTS=17 source $TESTDIR/utils/utils.sh @@ -35,14 +35,23 @@ fi # MUST set TESTDIR before calling those functions -test_before_apps() { +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 $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT - ok $? "Start application to trace" + 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 $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT & - ok $? "Start application to trace" + 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 } @@ -90,7 +95,7 @@ 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) @@ -103,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)