NUM_TESTS=2071
PAGE_SIZE=$(getconf PAGE_SIZE)
-TRACE_PATH=$(mktemp -d)
+TRACE_PATH=$(mktemp -d -t tmp.test_clear_ust_trace_path.XXXXXX)
-source $TESTDIR/utils/utils.sh
+# shellcheck source=../utils/utils.sh
+source "$TESTDIR/utils/utils.sh"
if [ ! -x "$TESTAPP_BIN" ]; then
BAIL_OUT "No UST events binary detected."
{
local trace_path=$1
set -u
- rm -rf $trace_path/*
+ rm -rf $trace_path
set +u
}
local local_path="${TRACE_PATH}/${HOSTNAME}/${SESSION_NAME}*"
local remote_trace_path="${HOSTNAME}/${SESSION_NAME}"
local channel_name="chan"
- local bt_output_path=$(mktemp -u)
- local file_sync_before_exit=$(mktemp -u)
+ local bt_output_path=$(mktemp -u -t tmp.test_${FUNCNAME[0]}_bt_output_path.XXXXXX)
+ local file_sync_before_exit=$(mktemp -u -t tmp.test_${FUNCNAME[0]}_sync_before_exit.XXXXXX)
diag "Test ust basic streaming live with viewer"
diag "Parameters: tracing_active=$tracing_active, clear_twice=$clear_twice, buffer_type=$buffer_type"
local evcount=0
while [ $evcount -ne 10 ]; do
evcount=$(cat $bt_output_path | wc -l)
- sleep 0.5
+ sleep 0.1
done
pass "Live viewer read $evcount events, expect 10"
local local_path="${TRACE_PATH}/${HOSTNAME}/${SESSION_NAME}*"
local remote_trace_path="${HOSTNAME}/${SESSION_NAME}"
local channel_name="chan"
- local bt_output_path=$(mktemp -d)/bt-output.txt
+ local bt_output_path=$(mktemp -u -t tmp.test_${FUNCNAME[0]}_bt_output_path.XXXXXX)
diag "Test ust streaming live clear with viewer"
diag "Parameters: tracing_active=$tracing_active, clear_twice=$clear_twice, buffer_type=$buffer_type"
local local_path="${TRACE_PATH}/${HOSTNAME}/${SESSION_NAME}*"
local remote_trace_path="${HOSTNAME}/${SESSION_NAME}"
local channel_name="chan"
- local bt_output_path
- local bt_error_path
- local file_sync_before_exit
- bt_output_path=$(mktemp -d)/bt-output.txt
- bt_error_path=$(mktemp -d)/bt-output.err
- file_sync_before_exit=$(mktemp -u)
+ local bt_output_path=$(mktemp -t "tmp.${FUNCNAME[0]}_bt_output.XXXXXX")
+ local bt_error_path=$(mktemp -t "tmp.${FUNCNAME[0]}_bt_error.XXXXXX")
+ local file_sync_before_exit=$(mktemp -u -t "tmp.${FUNCNAME[0]}_sync_before_exit.XXXXXX")
diag "Test ust streaming live clear with viewer with new metadata after clear"
diag "Parameters: tracing_active=$tracing_active, clear_twice=$clear_twice, buffer_type=$buffer_type"
local evcount=0
while [ $evcount -ne 10 ]; do
evcount=$(wc -l < "$bt_output_path")
- sleep 0.5
+ sleep 0.1
done
pass "Live viewer read $evcount events, expect 10"
local evcount=0
while [ $evcount -ne 12 ]; do
evcount=$(wc -l < "$bt_output_path")
- sleep 0.5
+ sleep 0.1
done
pass "Live viewer read $evcount events, expect 12"
clean_path "$bt_output_path"
clean_path "$bt_error_path"
+ rm -f "$file_sync_before_exit"
}
function test_ust_local ()
# 3, 4 unused.
local buffer_type=$5
local channel_name="channel0"
- local file_sync_before_last=$(mktemp -u)
- local file_sync_before_last_touch=$(mktemp -u)
- local file_sync_before_exit=$(mktemp -u)
- local file_sync_before_exit_touch=$(mktemp -u)
+ local file_sync_before_last=$(mktemp -u -t "tmp.${FUNCNAME[0]}_sync_before_last.XXXXXX")
+ local file_sync_before_last_touch=$(mktemp -u -t "tmp.${FUNCNAME[0]}_sync_before_last_touch.XXXXXX")
+ local file_sync_before_exit=$(mktemp -u -t "tmp.${FUNCNAME[0]}_sync_before_exit.XXXXXX")
+ local file_sync_before_exit_touch=$(mktemp -u -t "tmp.${FUNCNAME[0]}_sync_before_exit_touch.XXXXXX")
diag "Test ust local snapshot clear per pid"
diag "Parameters: tracing_active=$tracing_active, clear_twice=$clear_twice, buffer_type=$buffer_type"
--sync-before-last-event-touch ${file_sync_before_last_touch} \
--sync-before-exit ${file_sync_before_exit} \
--sync-before-exit-touch ${file_sync_before_exit_touch} >/dev/null 2>&1 &
+ local app_pid="${!}"
# Continue only when there is only the last event remaining.
while [ ! -f "${file_sync_before_last_touch}" ]; do
- sleep 0.5
+ sleep 0.1
done
# Take a first snapshot and validate that the events are present.
# Wait for the before exit sync point. This ensure that we went over the
# last tracepoint.
while [ ! -f "${file_sync_before_exit_touch}" ]; do
- sleep 0.5
+ sleep 0.1
done
# Make sure the snapshot contains the last event.
# Release the application.
touch ${file_sync_before_exit}
- wait
+ wait "${app_pid}"
destroy_lttng_session_ok $SESSION_NAME
rm -f ${file_sync_before_last}
--tracefile-size=$PAGE_SIZE --tracefile-count=2 --buffers-$buffer_type
enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME $channel_name
start_lttng_tracing_ok $SESSION_NAME
- taskset -c 0 $TESTAPP_BIN -i 200000
+ taskset -c "$(get_any_available_cpu)" $TESTAPP_BIN -i 200000
do_clear_session $SESSION_NAME $tracing_active $clear_twice $rotate_before $rotate_after
stop_lttng_tracing_ok $SESSION_NAME
fi
start_lttng_tracing_ok $SESSION_NAME
- taskset -c 0 $TESTAPP_BIN -i 400000
+ taskset -c "$(get_any_available_cpu)" $TESTAPP_BIN -i 400000
stop_lttng_tracing_ok
if [[ $rotate_before -eq 1 ]]; then
print_test_banner "$TEST_DESC"
+bail_out_if_no_babeltrace
+
streaming_tests=(test_ust_streaming
test_ust_streaming_rotate_clear
test_ust_streaming_clear_rotate
stop_lttng_relayd
test_ust_disallow_clear
+
+rm -rf "$TRACE_PATH"