X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=tests%2Fregression%2Ftools%2Fstreaming%2Ftest_kernel;h=d099f693b3fed6438e9675fd0574cc133bf7469d;hb=03f66fb8271904c7bca9d3cfd5b3cf1d9c4e5221;hp=f8b813d289e83f81a5e4bec20f258df2f7daebc6;hpb=ef8343605f92072ca2ed7174b0cc2594ee33dfab;p=lttng-tools.git diff --git a/tests/regression/tools/streaming/test_kernel b/tests/regression/tools/streaming/test_kernel index f8b813d28..d099f693b 100755 --- a/tests/regression/tools/streaming/test_kernel +++ b/tests/regression/tools/streaming/test_kernel @@ -19,101 +19,74 @@ TEST_DESC="Streaming - Kernel tracing" CURDIR=$(dirname $0)/ TESTDIR=$CURDIR/../../.. EVENT_NAME="sched_switch" -PID_RELAYD=0 SESSION_NAME="" TRACE_PATH=$(mktemp -d) -source $TESTDIR/utils/utils.sh - -print_test_banner "$TEST_DESC" - -if [ "$(id -u)" != "0" ]; then - echo "This test must be running as root. Aborting" - # Exit status 0 so the tests can continue - exit 0 -fi +NUM_TESTS=10 -# LTTng kernel modules check -out=`ls /lib/modules/$(uname -r)/extra | grep lttng` -if [ -z "$out" ]; then - echo "LTTng modules not detected. Aborting kernel tests!" - echo "" - # Exit status 0 so the tests can continue - exit 0 -fi - -function lttng_create_session_uri -{ - echo -n "Creating session $SESSION_NAME... " - # Create session with default path - $TESTDIR/../src/bin/lttng/$LTTNG_BIN create $SESSION_NAME -U net://localhost >/dev/null 2>&1 - if [ $? -eq 1 ]; then - print_fail - return 1 - else - print_ok - fi -} +source $TESTDIR/utils/utils.sh function test_kernel_before_start () { - echo -e "\n=== Testing kernel streaming with event enable BEFORE start\n" - lttng_create_session_uri + diag "Test kernel streaming with event enable BEFORE start" + create_lttng_session_uri $SESSION_NAME net://localhost lttng_enable_kernel_event $SESSION_NAME $EVENT_NAME - start_lttng_tracing $SESSION_NAME + start_lttng_tracing_ok $SESSION_NAME # Give a second sleep 1 - stop_lttng_tracing $SESSION_NAME - destroy_lttng_session $SESSION_NAME - - # We can not predict _yet_ when the trace is available so we have to do a - # arbitratry sleep to validate the trace. - echo -n "Waiting 3 seconds for the trace to be written on disk " - for i in `seq 1 3`; do - echo -n "." - sleep 1 - done - echo "" + stop_lttng_tracing_ok $SESSION_NAME + destroy_lttng_session_ok $SESSION_NAME } # Deactivated since this feature is not yet available where we can enable # an event AFTERE tracing has started. function test_kernel_after_start () { - echo -e "\n=== Testing kernel streaming with event enable AFTER start\n" - lttng_create_session_uri - start_lttng_tracing $SESSION_NAME + diag "Test kernel streaming with event enable AFTER start" + create_lttng_session_uri $SESSION_NAME net://localhost + start_lttng_tracing_ok $SESSION_NAME lttng_enable_kernel_event $SESSION_NAME $EVENT_NAME # Give a second sleep 1 - stop_lttng_tracing $SESSION_NAME - destroy_lttng_session $SESSION_NAME + stop_lttng_tracing_ok $SESSION_NAME + destroy_lttng_session_ok $SESSION_NAME } -start_lttng_sessiond -start_lttng_relayd "-o $TRACE_PATH" - -tests=( test_kernel_before_start ) +plan_tests $NUM_TESTS -for fct_test in ${tests[@]}; -do - SESSION_NAME=$(randstring 16 0) - ${fct_test} - - # Validate test - validate_trace $EVENT_NAME $TRACE_PATH/$HOSTNAME/$SESSION_NAME* - if [ $? -eq 0 ]; then - # Only delete if successful - rm -rf $TRACE_PATH - else - break - fi -done +print_test_banner "$TEST_DESC" -echo "" -stop_lttng_sessiond -stop_lttng_relayd +if [ "$(id -u)" == "0" ]; then + isroot=1 +else + isroot=0 +fi +skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS || +{ + validate_lttng_modules_present + + start_lttng_relayd "-o $TRACE_PATH" + start_lttng_sessiond + + tests=( test_kernel_before_start ) + + for fct_test in ${tests[@]}; + do + SESSION_NAME=$(randstring 16 0) + ${fct_test} + + # Validate test + validate_trace $EVENT_NAME $TRACE_PATH/$HOSTNAME/$SESSION_NAME* + if [ $? -eq 0 ]; then + # Only delete if successful + rm -rf $TRACE_PATH + else + break + fi + done -exit $out + stop_lttng_sessiond + stop_lttng_relayd +}