Fix: Tests that assume CPU 0 is present
[lttng-tools.git] / tests / regression / tools / clear / test_kernel
index c105698391726dac39989cce4098caa6aec2c1cf..ce76f85d24102c4ac85ed34cf41f1959331de2a8 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# Copyright (C) 2019 Jonathan Rajotte-Julien <jonathan.rajotte-julien@efficios.com>
+# Copyright (C) 2019 Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
 #
 # SPDX-License-Identifier: LGPL-2.1-only
 
@@ -11,16 +11,17 @@ TESTDIR=$CURDIR/../../..
 EVENT_NAME="lttng_test_filter_event"
 
 PAGE_SIZE=$(getconf PAGE_SIZE)
-TRACE_PATH=$(mktemp -d)
+TRACE_PATH=$(mktemp -d -t tmp.test_clear_kernel_trace_path.XXXXXX)
 
 NUM_TESTS=837
 
-source $TESTDIR/utils/utils.sh
+# shellcheck source=../utils/utils.sh
+source "$TESTDIR/utils/utils.sh"
 
 function signal_cleanup ()
 {
        stop_lttng_sessiond
-       modprobe -r lttng-test
+       modprobe --remove lttng-test
        full_cleanup
 }
 
@@ -28,7 +29,7 @@ function clean_path ()
 {
        local trace_path=$1
        set -u
-       rm -rf $trace_path/*
+       rm -rf $trace_path
        set +u
 }
 
@@ -200,8 +201,8 @@ function test_kernel_basic_streaming_live_viewer ()
        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 -t "tmp.${FUNCNAME[0]}_bt_output.XXXXXX")
+       local file_sync_before_exit=$(mktemp -u -t "tmp.${FUNCNAME[0]}_sync_before_exit.XXXXXX")
 
        diag "Test kernel basic streaming live with viewer"
        diag "Parameters: tracing_active=$tracing_active, clear_twice=$clear_twice"
@@ -247,7 +248,7 @@ function test_kernel_streaming_live_viewer ()
        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 -t "tmp.${FUNCNAME[0]}_bt_output.XXXXXX")
 
        diag "Test kernel streaming live clear with viewer"
        diag "Parameters: tracing_active=$tracing_active, clear_twice=$clear_twice"
@@ -488,7 +489,7 @@ function test_kernel_streaming_tracefile_rotation_overwrite_files ()
                --tracefile-size=$PAGE_SIZE --tracefile-count=2
        enable_kernel_lttng_event_ok $SESSION_NAME $EVENT_NAME $channel_name
        start_lttng_tracing_ok $SESSION_NAME
-       taskset -c 0 echo -n "200000" > /proc/lttng-test-filter-event
+       taskset -c "$(get_any_available_cpu)" echo -n "200000" > /proc/lttng-test-filter-event
        do_clear_session $SESSION_NAME $tracing_active $clear_twice $rotate_before $rotate_after
        stop_lttng_tracing_ok $SESSION_NAME
 
@@ -499,7 +500,7 @@ function test_kernel_streaming_tracefile_rotation_overwrite_files ()
        fi
 
        start_lttng_tracing_ok $SESSION_NAME
-       taskset -c 0 echo -n "400000" > /proc/lttng-test-filter-event
+       taskset -c "$(get_any_available_cpu)" echo -n "400000" > /proc/lttng-test-filter-event
        stop_lttng_tracing_ok
 
        if [[ $rotate_before -eq 1 ]]; then
@@ -535,6 +536,8 @@ plan_tests $NUM_TESTS
 
 print_test_banner "$TEST_DESC"
 
+bail_out_if_no_babeltrace
+
 if [ "$(id -u)" == "0" ]; then
        isroot=1
 else
@@ -620,7 +623,7 @@ skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_
                clean_path $TRACE_PATH
        done
 
-       rmmod lttng-test
+       modprobe --remove lttng-test
        stop_lttng_sessiond
        stop_lttng_relayd
 
This page took 0.02513 seconds and 4 git commands to generate.