X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Ftools%2Fstreaming%2Frun-kernel;h=545cae7c825b605f01c034712041b36b490be5bb;hp=8674edfac29215d853d1bb833153ed47498142b9;hb=785d2d0dc3aec3a4e44fcf677155dd07e8e4cc1f;hpb=f4e40ab68a515750cdde6877b53fafb5210ceac6 diff --git a/tests/tools/streaming/run-kernel b/tests/tools/streaming/run-kernel index 8674edfac..545cae7c8 100755 --- a/tests/tools/streaming/run-kernel +++ b/tests/tools/streaming/run-kernel @@ -14,6 +14,7 @@ # You should have received a copy of the GNU Lesser General Public License # along with this library; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +TEST_DESC="Streaming - Kernel tracing" CURDIR=$(dirname $0)/ TESTDIR=$CURDIR/../.. @@ -21,11 +22,11 @@ EVENT_NAME="sched_switch" PID_RELAYD=0 SESSION_NAME="" +TRACE_PATH=$(mktemp -d) + source $TESTDIR/utils.sh -echo -e "\n---------------------------" -echo -e " Streaming - Kernel tracing " -echo -e "----------------------------" +print_test_banner "$TEST_DESC" if [ "$(id -u)" != "0" ]; then echo "This test must be running as root. Aborting" @@ -42,62 +43,58 @@ if [ -z "$out" ]; then exit 0 fi -function lttng_create_session +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 >/dev/null 2>&1 + $TESTDIR/../src/bin/lttng/$LTTNG_BIN create $SESSION_NAME -U net://localhost >/dev/null 2>&1 if [ $? -eq 1 ]; then - echo -e '\e[1;31mFAILED\e[0m' + print_fail return 1 else - echo -e "\e[1;32mOK\e[0m" - fi -} - -function lttng_enable_consumer_localhost -{ - echo -n "Enabling network consumer... " - # Create session with default path - $TESTDIR/../src/bin/lttng/$LTTNG_BIN enable-consumer -k net://localhost >/dev/null 2>&1 - if [ $? -eq 1 ]; then - echo -e '\e[1;31mFAILED\e[0m' - return 1 - else - echo -e "\e[1;32mOK\e[0m" + print_ok fi } function test_kernel_before_start () { echo -e "\n=== Testing kernel streaming with event enable BEFORE start\n" - lttng_create_session - lttng_enable_consumer_localhost + lttng_create_session_uri lttng_enable_kernel_event $SESSION_NAME $EVENT_NAME - start_tracing $SESSION_NAME + start_lttng_tracing $SESSION_NAME # Give a second sleep 1 - stop_tracing $SESSION_NAME + 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 "" } +# 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 - lttng_enable_consumer_localhost - start_tracing $SESSION_NAME + lttng_create_session_uri + start_lttng_tracing $SESSION_NAME lttng_enable_kernel_event $SESSION_NAME $EVENT_NAME # Give a second sleep 1 - stop_tracing $SESSION_NAME + stop_lttng_tracing $SESSION_NAME destroy_lttng_session $SESSION_NAME } -start_sessiond -lttng_start_relayd +start_lttng_sessiond +start_lttng_relayd "-o $TRACE_PATH" -tests=( test_kernel_before_start test_kernel_after_start ) +tests=( test_kernel_before_start ) for fct_test in ${tests[@]}; do @@ -105,19 +102,18 @@ do ${fct_test} # Validate test - validate_trace $EVENT_NAME ~/lttng-traces/$HOSTNAME/$SESSION_NAME* + validate_trace $EVENT_NAME $TRACE_PATH/$HOSTNAME/$SESSION_NAME* if [ $? -eq 0 ]; then # Only delete if successful - rm -rf ~/lttng-traces/$HOSTNAME/$SESSION_NAME* - rm -rf ~/lttng-traces/$SESSION_NAME* + rm -rf $TRACE_PATH else break fi done echo "" -stop_sessiond -lttng_stop_relayd +stop_lttng_sessiond +stop_lttng_relayd exit $out