X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Fregression%2Ftools%2Frotation%2Ftest_ust;h=b6e0502c731bf7860f4a80a0ff67652c27355cb3;hp=fcad28e698562572ff521a6d4ed70baad70eb05c;hb=9d16b343fb9e781fc8d8fa3c448a3f382306dd33;hpb=da0e44845286ccce34b980e060f454952f070214 diff --git a/tests/regression/tools/rotation/test_ust b/tests/regression/tools/rotation/test_ust index fcad28e69..b6e0502c7 100755 --- a/tests/regression/tools/rotation/test_ust +++ b/tests/regression/tools/rotation/test_ust @@ -1,35 +1,23 @@ #!/bin/bash # -# Copyright (C) - 2017 Julien Desfossez +# Copyright (C) 2017 Julien Desfossez # -# This library is free software; you can redistribute it and/or modify it under -# the terms of the GNU Lesser General Public License as published by the Free -# Software Foundation; version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more -# details. -# -# 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 +# SPDX-License-Identifier: LGPL-2.1-only + TEST_DESC="Rotation - User space tracing" CURDIR=$(dirname $0)/ TESTDIR=$CURDIR/../../.. -NR_ITER=1 NR_USEC_WAIT=0 TESTAPP_PATH="$TESTDIR/utils/testapp" TESTAPP_NAME="gen-ust-events" TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME" SESSION_NAME="stream" EVENT_NAME="tp:tptest" -PID_RELAYD=0 TRACE_PATH=$(mktemp -d) -NUM_TESTS=146 +NUM_TESTS=136 source $TESTDIR/utils/utils.sh source $CURDIR/rotate_utils.sh @@ -38,7 +26,7 @@ if [ ! -x "$TESTAPP_BIN" ]; then BAIL_OUT "No UST events binary detected." fi -function enable_channel_per_pid() +function enable_channel_per_pid () { sess_name=$1 channel_name=$2 @@ -46,14 +34,6 @@ function enable_channel_per_pid() enable_ust_lttng_channel_ok $sess_name $channel_name --buffers-pid } -function lttng_create_session_uri -{ - # Create session with default path - $TESTDIR/../src/bin/lttng/$LTTNG_BIN create $SESSION_NAME -U net://localhost >/dev/null 2>&1 - - ok $? "Create session $SESSION_NAME" -} - # MUST set TESTDIR before calling those functions function rotate_ust_test () @@ -65,10 +45,10 @@ function rotate_ust_test () start_lttng_tracing_ok $SESSION_NAME today=$(date +%Y%m%d) - $TESTAPP_BIN 10 $NR_USEC_WAIT /dev/null 2>&1 + $TESTAPP_BIN -i 10 -w $NR_USEC_WAIT > /dev/null 2>&1 rotate_session_ok $SESSION_NAME - $TESTAPP_BIN 20 $NR_USEC_WAIT /dev/null 2>&1 + $TESTAPP_BIN -i 20 -w $NR_USEC_WAIT > /dev/null 2>&1 stop_lttng_tracing_ok $SESSION_NAME # Third chunk contains no event (rotate after stop). @@ -76,25 +56,16 @@ function rotate_ust_test () destroy_lttng_session_ok $SESSION_NAME - # The tests on the chunk folder rely on the date staying the same during - # the duration of the test, if this fail we will now why the other checks - # fail afterwards. There is a short window of time where an automated test - # could fail because of that. - now=$(date +%Y%m%d) - test $today = $now - ok $? "Date did not change during the test" - validate_test_chunks "${local_path}" $today $app_path ust $per_pid } function test_ust_streaming_uid () { diag "Test UST streaming with session rotation per UID" - lttng_create_session_uri + create_lttng_session_uri $SESSION_NAME net://localhost enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME - rotate_ust_test "${TRACE_PATH}/${HOSTNAME}/${SESSION_NAME}*" "ust/uid/*/*/" 0 - clean_path $TRACE_PATH + rotate_ust_test "${TRACE_PATH}/${HOSTNAME}/${SESSION_NAME}*/archives" "ust/uid/*/*/" 0 } function test_ust_local_uid () @@ -103,19 +74,17 @@ function test_ust_local_uid () create_lttng_session_ok $SESSION_NAME $TRACE_PATH enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME - rotate_ust_test "${TRACE_PATH}" "ust/uid/*/*/" 0 - clean_path $TRACE_PATH + rotate_ust_test "${TRACE_PATH}/archives" "ust/uid/*/*/" 0 } function test_ust_streaming_pid () { diag "Test UST streaming with session rotation per PID" - lttng_create_session_uri + create_lttng_session_uri $SESSION_NAME net://localhost enable_channel_per_pid $SESSION_NAME "channel0" enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME "channel0" - rotate_ust_test "${TRACE_PATH}/${HOSTNAME}/${SESSION_NAME}*" "ust/pid/*/" 1 - clean_path $TRACE_PATH + rotate_ust_test "${TRACE_PATH}/${HOSTNAME}/${SESSION_NAME}*/archives" "ust/pid/*/" 1 } function test_ust_local_pid () @@ -125,8 +94,7 @@ function test_ust_local_pid () enable_channel_per_pid $SESSION_NAME "channel0" enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME "channel0" - rotate_ust_test "${TRACE_PATH}" "ust/pid/*/" 1 - clean_path $TRACE_PATH + rotate_ust_test "${TRACE_PATH}/archives" "ust/pid/*/" 1 } function test_ust_local_timer_uid () @@ -137,24 +105,22 @@ function test_ust_local_timer_uid () lttng_enable_rotation_timer_ok $SESSION_NAME 500ms start_lttng_tracing_ok $SESSION_NAME # We just want the app to register, no event generated - $TESTAPP_BIN 0 0 /dev/null 2>&1 + $TESTAPP_BIN -i 0 -w 0 > /dev/null 2>&1 - rotate_timer_test "${TRACE_PATH}" 0 - clean_path $TRACE_PATH + rotate_timer_test "${TRACE_PATH}/archives" 0 } function test_ust_streaming_timer_uid () { diag "Test ust remote with session rotation timer per-uid" - lttng_create_session_uri + create_lttng_session_uri $SESSION_NAME net://localhost enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME lttng_enable_rotation_timer_ok $SESSION_NAME 500ms start_lttng_tracing_ok $SESSION_NAME # We just want the app to register, no event generated - $TESTAPP_BIN 0 0 /dev/null 2>&1 + $TESTAPP_BIN -i 0 -w 0 > /dev/null 2>&1 - rotate_timer_test "${TRACE_PATH}/${HOSTNAME}/${SESSION_NAME}*" 0 - clean_path $TRACE_PATH + rotate_timer_test "${TRACE_PATH}/${HOSTNAME}/${SESSION_NAME}*/archives" 0 } function test_ust_local_timer_pid () @@ -166,25 +132,23 @@ function test_ust_local_timer_pid () lttng_enable_rotation_timer_ok $SESSION_NAME 500ms start_lttng_tracing_ok $SESSION_NAME # We just want the app to register, no event generated - $TESTAPP_BIN 0 0 /dev/null 2>&1 + $TESTAPP_BIN -i 0 -w 0 > /dev/null 2>&1 - rotate_timer_test "${TRACE_PATH}" 1 - clean_path $TRACE_PATH + rotate_timer_test "${TRACE_PATH}/archives" 1 } function test_ust_streaming_timer_pid () { diag "Test ust remote with session rotation timer per-pid" - lttng_create_session_uri + create_lttng_session_uri $SESSION_NAME net://localhost enable_channel_per_pid $SESSION_NAME "channel0" enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME "channel0" lttng_enable_rotation_timer_ok $SESSION_NAME 500ms start_lttng_tracing_ok $SESSION_NAME # We just want the app to register, no event generated - $TESTAPP_BIN 0 0 /dev/null 2>&1 + $TESTAPP_BIN -i 0 -w 0 > /dev/null 2>&1 - rotate_timer_test "${TRACE_PATH}/${HOSTNAME}/${SESSION_NAME}*" 1 - clean_path $TRACE_PATH + rotate_timer_test "${TRACE_PATH}/${HOSTNAME}/${SESSION_NAME}*/archives" 1 } function test_incompatible_sessions () @@ -193,19 +157,19 @@ function test_incompatible_sessions () diag "Live session with rotate timer" # Should not be able to enable a rotation timer with a live session - $TESTDIR/../src/bin/lttng/$LTTNG_BIN create $SESSION_NAME --live >/dev/null 2>&1 + create_lttng_session_uri $SESSION_NAME net://localhost --live lttng_enable_rotation_timer_fail $SESSION_NAME 500ms destroy_lttng_session_ok $SESSION_NAME diag "Snapshot session with rotate timer" # Should not be able to enable a rotation timer with a snapshot session - $TESTDIR/../src/bin/lttng/$LTTNG_BIN create $SESSION_NAME --snapshot >/dev/null 2>&1 + create_lttng_session_ok $SESSION_NAME $TRACE_PATH --snapshot lttng_enable_rotation_timer_fail $SESSION_NAME 500ms destroy_lttng_session_ok $SESSION_NAME diag "Live session with rotate" # Should not be able to rotate a live session - $TESTDIR/../src/bin/lttng/$LTTNG_BIN create $SESSION_NAME --live >/dev/null 2>&1 + create_lttng_session_uri $SESSION_NAME net://localhost --live enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME start_lttng_tracing_ok $SESSION_NAME rotate_session_fail $SESSION_NAME @@ -213,12 +177,11 @@ function test_incompatible_sessions () diag "Snapshot session with rotate" # Should not be able to rotate a snapshot session - $TESTDIR/../src/bin/lttng/$LTTNG_BIN create $SESSION_NAME --snapshot >/dev/null 2>&1 + create_lttng_session_ok $SESSION_NAME $TRACE_PATH --snapshot enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME start_lttng_tracing_ok $SESSION_NAME rotate_session_fail $SESSION_NAME destroy_lttng_session_ok $SESSION_NAME - } plan_tests $NUM_TESTS @@ -238,6 +201,7 @@ for fct_test in ${tests[@]}; do SESSION_NAME=$(randstring 16 0) ${fct_test} + clean_path $TRACE_PATH done stop_lttng_sessiond