#!/bin/bash
#
-# Copyright (C) - 2017 Julien Desfossez <jdesfossez@efficios.com>
+# Copyright (C) 2017 Julien Desfossez <jdesfossez@efficios.com>
#
-# 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=150
+NUM_TESTS=136
source $TESTDIR/utils/utils.sh
source $CURDIR/rotate_utils.sh
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).
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
}
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 ()
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 ()
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 ()
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 ()
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 ()
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 ()
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 ()
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 ()
start_lttng_tracing_ok $SESSION_NAME
rotate_session_fail $SESSION_NAME
destroy_lttng_session_ok $SESSION_NAME
-
}
plan_tests $NUM_TESTS
do
SESSION_NAME=$(randstring 16 0)
${fct_test}
+ clean_path $TRACE_PATH
done
stop_lttng_sessiond