Cleanup: tests: name all temporary files to better identify leakage
[lttng-tools.git] / tests / regression / kernel / test_userspace_probe
index fb8ce303ffa2719a64c3c596d19c85727403a794..0efcb9165d338f957f8eb370ac01114de520305e 100755 (executable)
@@ -1,27 +1,17 @@
 #!/bin/bash
 #
-# Copyright (C) 2017 Erica Bugden <erica.bugden@efficios.com>
-# Copyright (C) 2017 Francis Deslauriers <francis.deslauriers@efficios.com>
+# Copyright (C) 2017 Erica Bugden <erica.bugden@efficios.com>
+# Copyright (C) 2017 Francis Deslauriers <francis.deslauriers@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.
+# SPDX-License-Identifier: LGPL-2.1-only
 #
-# 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
 
 TEST_DESC="Userspace probe - Testing userspace probe on ELF symbol"
 
 CURDIR=$(dirname "$0")/
 TESTDIR=$CURDIR/../..
 TESTAPP_DIR="$TESTDIR/utils/testapp/"
-ELF_TEST_BIN_DIR="$TESTAPP_DIR/userspace-probe-elf-binary/"
+ELF_TEST_BIN_DIR="$TESTAPP_DIR/userspace-probe-elf-binary/.libs/"
 ELF_TEST_BIN_NAME="userspace-probe-elf-binary"
 ELF_TEST_BIN="$ELF_TEST_BIN_DIR/$ELF_TEST_BIN_NAME"
 ELF_CXX_TEST_BIN_DIR="$TESTAPP_DIR/userspace-probe-elf-cxx-binary/"
@@ -32,7 +22,7 @@ SDT_TEST_BIN_NAME="userspace-probe-sdt-binary"
 SDT_TEST_BIN="$SDT_TEST_BIN_DIR/$SDT_TEST_BIN_NAME"
 ELF_SYMBOL="test_function"
 PROBE_EVENT_NAME=userspace_probe_test_event
-NUM_TESTS=81
+NUM_TESTS=93
 OUTPUT_DEST=/dev/null
 ERROR_OUTPUT_DEST=/dev/null
 
@@ -54,7 +44,7 @@ function validate_list()
 
 function test_userspace_probe_enable_file_noexist ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userspace_probe_enable_file_noexist"
        ENABLE_EXPR="elf:/etc/file-not-exist:$ELF_SYMBOL"
 
@@ -71,7 +61,7 @@ function test_userspace_probe_enable_file_noexist ()
 
 function test_userspace_probe_enable_file_not_elf ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userspace_probe_enable_file_not_elf"
        ENABLE_EXPR="elf:/etc/passwd:$ELF_SYMBOL"
 
@@ -88,7 +78,7 @@ function test_userspace_probe_enable_file_not_elf ()
 
 function test_userspace_probe_enable_elf_missing_symbol_name ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userspace_probe_enable_elf_missing_symbol"
        ENABLE_EXPR="elf:$ELF_TEST_BIN:"
 
@@ -105,7 +95,7 @@ function test_userspace_probe_enable_elf_missing_symbol_name ()
 
 function test_userspace_probe_enable_elf_nonexistant_symbol ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userspace_probe_enable_elf_nonexistant_symbol"
        ELF_SYMBOL_NO_EXIST="function_doesnt_exist"
        ENABLE_EXPR="elf:$ELF_TEST_BIN:$ELF_SYMBOL_NO_EXIST"
@@ -123,7 +113,7 @@ function test_userspace_probe_enable_elf_nonexistant_symbol ()
 
 function test_userspace_probe_enable_elf_symbol_not_function ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userspace_probe_enable_elf_symbol_not_function"
        ELF_SYMBOL_NO_FUNC="not_a_function"
        ENABLE_EXPR="elf:$ELF_TEST_BIN:$ELF_SYMBOL_NO_FUNC"
@@ -139,9 +129,34 @@ function test_userspace_probe_enable_elf_symbol_not_function ()
        rm -rf "$TRACE_PATH"
 }
 
+function test_userspace_probe_unsupported_types ()
+{
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
+       SESSION_NAME="test_userspace_probe_unsupported_types"
+       # Userspace probe at an address or at an offset to a function
+       # instrumentation description types are not supported at the moment.
+       ENABLE_EXPR_1="elf:$ELF_TEST_BIN:0x400030"
+       ENABLE_EXPR_2="elf:$ELF_TEST_BIN:4194364"
+       ENABLE_EXPR_3="elf:$ELF_TEST_BIN:$ELF_SYMBOL+0x21"
+       ENABLE_EXPR_4="elf:$ELF_TEST_BIN:$ELF_SYMBOL+2"
+
+       diag "Userspace probe enable with unsupported instrumentation description type"
+
+       create_lttng_session_ok $SESSION_NAME "$TRACE_PATH"
+
+       lttng_enable_kernel_userspace_probe_event_fail $SESSION_NAME "$ENABLE_EXPR_1" $PROBE_EVENT_NAME
+       lttng_enable_kernel_userspace_probe_event_fail $SESSION_NAME "$ENABLE_EXPR_2" $PROBE_EVENT_NAME
+       lttng_enable_kernel_userspace_probe_event_fail $SESSION_NAME "$ENABLE_EXPR_3" $PROBE_EVENT_NAME
+       lttng_enable_kernel_userspace_probe_event_fail $SESSION_NAME "$ENABLE_EXPR_4" $PROBE_EVENT_NAME
+
+       destroy_lttng_session_ok $SESSION_NAME
+
+       rm -rf "$TRACE_PATH"
+}
+
 function test_userspace_probe_enable_implicit_probe_type ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userspace_probe_enable_implicit_probe_type"
        ENABLE_EXPR="$ELF_TEST_BIN:$ELF_SYMBOL"
 
@@ -151,10 +166,10 @@ function test_userspace_probe_enable_implicit_probe_type ()
 
        lttng_enable_kernel_userspace_probe_event_ok $SESSION_NAME "$ENABLE_EXPR" $PROBE_EVENT_NAME
 
-       validate_list  $SESSION_NAME $ELF_SYMBOL
-       validate_list  $SESSION_NAME $ELF_TEST_BIN_NAME
-       validate_list  $SESSION_NAME "ELF"
-       validate_list  $SESSION_NAME "Function"
+       validate_list $SESSION_NAME $ELF_SYMBOL
+       validate_list $SESSION_NAME $ELF_TEST_BIN_NAME
+       validate_list $SESSION_NAME "ELF"
+       validate_list $SESSION_NAME "Function"
 
        destroy_lttng_session_ok $SESSION_NAME
 
@@ -163,7 +178,7 @@ function test_userspace_probe_enable_implicit_probe_type ()
 
 function test_userspace_probe_enable_elf_symbol_exists ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userspace_probe_enable_elf_symbol_exists"
        ENABLE_EXPR="elf:$ELF_TEST_BIN:$ELF_SYMBOL"
 
@@ -173,10 +188,10 @@ function test_userspace_probe_enable_elf_symbol_exists ()
 
        lttng_enable_kernel_userspace_probe_event_ok $SESSION_NAME "$ENABLE_EXPR" $PROBE_EVENT_NAME
 
-       validate_list  $SESSION_NAME $ELF_SYMBOL
-       validate_list  $SESSION_NAME $ELF_TEST_BIN_NAME
-       validate_list  $SESSION_NAME "ELF"
-       validate_list  $SESSION_NAME "Function"
+       validate_list $SESSION_NAME $ELF_SYMBOL
+       validate_list $SESSION_NAME $ELF_TEST_BIN_NAME
+       validate_list $SESSION_NAME "ELF"
+       validate_list $SESSION_NAME "Function"
 
        destroy_lttng_session_ok $SESSION_NAME
 
@@ -185,7 +200,7 @@ function test_userspace_probe_enable_elf_symbol_exists ()
 
 function test_userspace_probe_enable_in_path ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userspace_probe_enable_in_path"
        ENABLE_EXPR="elf:$ELF_TEST_BIN_NAME:$ELF_SYMBOL"
 
@@ -199,10 +214,10 @@ function test_userspace_probe_enable_in_path ()
 
        lttng_enable_kernel_userspace_probe_event_ok $SESSION_NAME "$ENABLE_EXPR" $PROBE_EVENT_NAME
 
-       validate_list  $SESSION_NAME $ELF_SYMBOL
-       validate_list  $SESSION_NAME $ELF_TEST_BIN_NAME
-       validate_list  $SESSION_NAME "ELF"
-       validate_list  $SESSION_NAME "Function"
+       validate_list $SESSION_NAME $ELF_SYMBOL
+       validate_list $SESSION_NAME $ELF_TEST_BIN_NAME
+       validate_list $SESSION_NAME "ELF"
+       validate_list $SESSION_NAME "Function"
 
        # Reset the previously saved PATH.
        export PATH="$OLDPATH"
@@ -214,7 +229,7 @@ function test_userspace_probe_enable_in_path ()
 
 function test_userspace_probe_enable_full_path ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userspace_probe_enable_full_path"
        ENABLE_EXPR="elf:$(realpath $ELF_TEST_BIN):$ELF_SYMBOL"
        diag "Userspace probe with full path enabled successfully"
@@ -223,10 +238,10 @@ function test_userspace_probe_enable_full_path ()
 
        lttng_enable_kernel_userspace_probe_event_ok $SESSION_NAME "$ENABLE_EXPR" $PROBE_EVENT_NAME
 
-       validate_list  $SESSION_NAME $ELF_SYMBOL
-       validate_list  $SESSION_NAME $ELF_TEST_BIN_NAME
-       validate_list  $SESSION_NAME "ELF"
-       validate_list  $SESSION_NAME "Function"
+       validate_list $SESSION_NAME $ELF_SYMBOL
+       validate_list $SESSION_NAME $ELF_TEST_BIN_NAME
+       validate_list $SESSION_NAME "ELF"
+       validate_list $SESSION_NAME "Function"
 
        destroy_lttng_session_ok $SESSION_NAME
 
@@ -235,9 +250,9 @@ function test_userspace_probe_enable_full_path ()
 
 function test_userspace_probe_enable_colon_in_path ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userspace_probe_enable_colon_in_path"
-       COLON_FILE_PATH=$(mktemp -d)
+       COLON_FILE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        ELF_BIN_SYMLINK="$COLON_FILE_PATH/colon_:_in_name"
        ELF_BIN_WITH_COLON_IN_NAME_ESCAPED="$COLON_FILE_PATH/colon_\:_in_name"
        ENABLE_EXPR="elf:"$ELF_BIN_WITH_COLON_IN_NAME_ESCAPED":$ELF_SYMBOL"
@@ -250,10 +265,10 @@ function test_userspace_probe_enable_colon_in_path ()
 
        lttng_enable_kernel_userspace_probe_event_ok $SESSION_NAME "$ENABLE_EXPR" $PROBE_EVENT_NAME
 
-       validate_list  $SESSION_NAME $ELF_SYMBOL
-       validate_list  $SESSION_NAME $ELF_TEST_BIN_NAME
-       validate_list  $SESSION_NAME "ELF"
-       validate_list  $SESSION_NAME "Function"
+       validate_list $SESSION_NAME $ELF_SYMBOL
+       validate_list $SESSION_NAME $ELF_TEST_BIN_NAME
+       validate_list $SESSION_NAME "ELF"
+       validate_list $SESSION_NAME "Function"
 
        destroy_lttng_session_ok $SESSION_NAME
 
@@ -263,7 +278,7 @@ function test_userspace_probe_enable_colon_in_path ()
 
 function test_userspace_probe_elf ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userprobe_elf"
        ENABLE_EXPR="elf:$ELF_TEST_BIN:$ELF_SYMBOL"
 
@@ -274,7 +289,31 @@ function test_userspace_probe_elf ()
        lttng_enable_kernel_userspace_probe_event_ok $SESSION_NAME "$ENABLE_EXPR" $PROBE_EVENT_NAME
 
        start_lttng_tracing_ok $SESSION_NAME
-       eval "$ELF_TEST_BIN"  > /dev/null
+       eval "$ELF_TEST_BIN" > /dev/null
+       stop_lttng_tracing_ok $SESSION_NAME
+
+       validate_trace $PROBE_EVENT_NAME "$TRACE_PATH"
+
+       destroy_lttng_session_ok $SESSION_NAME
+
+       rm -rf "$TRACE_PATH"
+}
+
+function test_userspace_probe_elf_dynamic_symbol ()
+{
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
+       SESSION_NAME="test_userprobe_elf"
+       LIBFOO_PATH="$ELF_TEST_BIN_DIR/libfoo.so"
+       ENABLE_EXPR="elf:$LIBFOO_PATH:dynamic_symbol"
+
+       diag "Userspace probe on Elf dynamic symbol enabled and traced"
+
+       create_lttng_session_ok $SESSION_NAME "$TRACE_PATH"
+
+       lttng_enable_kernel_userspace_probe_event_ok $SESSION_NAME "$ENABLE_EXPR" $PROBE_EVENT_NAME
+
+       start_lttng_tracing_ok $SESSION_NAME
+       eval "$ELF_TEST_BIN" > /dev/null
        stop_lttng_tracing_ok $SESSION_NAME
 
        validate_trace $PROBE_EVENT_NAME "$TRACE_PATH"
@@ -286,7 +325,7 @@ function test_userspace_probe_elf ()
 
 function test_userspace_probe_elf_cxx_function ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userprobe_elf_cxx_function"
        # Probing C++ mangled symbols should work the same way as regular Elf
        # symbols
@@ -300,7 +339,7 @@ function test_userspace_probe_elf_cxx_function ()
        lttng_enable_kernel_userspace_probe_event_ok $SESSION_NAME "$ENABLE_EXPR" $PROBE_EVENT_NAME
 
        start_lttng_tracing_ok $SESSION_NAME
-       eval "$ELF_CXX_TEST_BIN"  > /dev/null
+       eval "$ELF_CXX_TEST_BIN" > /dev/null
        stop_lttng_tracing_ok $SESSION_NAME
 
        validate_trace $PROBE_EVENT_NAME "$TRACE_PATH"
@@ -312,7 +351,7 @@ function test_userspace_probe_elf_cxx_function ()
 
 function test_userspace_probe_elf_cxx_method ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userprobe_elf_cxx_method"
        # Probing C++ mangled symbols should work the same way as regular Elf
        # symbols
@@ -326,7 +365,7 @@ function test_userspace_probe_elf_cxx_method ()
        lttng_enable_kernel_userspace_probe_event_ok $SESSION_NAME "$ENABLE_EXPR" $PROBE_EVENT_NAME
 
        start_lttng_tracing_ok $SESSION_NAME
-       eval "$ELF_CXX_TEST_BIN"  > /dev/null
+       eval "$ELF_CXX_TEST_BIN" > /dev/null
        stop_lttng_tracing_ok $SESSION_NAME
 
        validate_trace $PROBE_EVENT_NAME "$TRACE_PATH"
@@ -338,7 +377,7 @@ function test_userspace_probe_elf_cxx_method ()
 
 function test_userspace_probe_elf_disable ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userprobe_elf_disable"
        ENABLE_EXPR="elf:$ELF_TEST_BIN:$ELF_SYMBOL"
 
@@ -351,7 +390,7 @@ function test_userspace_probe_elf_disable ()
        disable_kernel_lttng_userspace_probe_event_ok $SESSION_NAME $PROBE_EVENT_NAME
 
        start_lttng_tracing_ok $SESSION_NAME
-       eval "$ELF_TEST_BIN"  > /dev/null
+       eval "$ELF_TEST_BIN" > /dev/null
        stop_lttng_tracing_ok $SESSION_NAME
 
        # Verify that the trace contains zero event.
@@ -364,7 +403,7 @@ function test_userspace_probe_elf_disable ()
 
 function test_userspace_probe_elf_list ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userprobe_elf_list"
        ENABLE_EXPR="elf:$ELF_TEST_BIN:$ELF_SYMBOL"
 
@@ -374,11 +413,11 @@ function test_userspace_probe_elf_list ()
 
        lttng_enable_kernel_userspace_probe_event_ok $SESSION_NAME "$ENABLE_EXPR" $PROBE_EVENT_NAME
 
-       validate_list  $SESSION_NAME $PROBE_EVENT_NAME
-       validate_list  $SESSION_NAME $ELF_SYMBOL
-       validate_list  $SESSION_NAME $ELF_TEST_BIN_NAME
-       validate_list  $SESSION_NAME "ELF"
-       validate_list  $SESSION_NAME "Function"
+       validate_list $SESSION_NAME $PROBE_EVENT_NAME
+       validate_list $SESSION_NAME $ELF_SYMBOL
+       validate_list $SESSION_NAME $ELF_TEST_BIN_NAME
+       validate_list $SESSION_NAME "ELF"
+       validate_list $SESSION_NAME "Function"
 
        destroy_lttng_session_ok $SESSION_NAME
 
@@ -392,9 +431,9 @@ function test_userspace_probe_save_load_elf()
        # saves the path to the link and not to the actual file. This is to
        # support instrumentation of shared objects that are often accessed
        # through symlinks and updated.
-       TRACE_PATH=$(mktemp -d)
-       TMP_LINK_DIR=$(mktemp -d)
-       TMP_SAVE_DIR=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
+       TMP_LINK_DIR=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
+       TMP_SAVE_DIR=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
 
        SESSION_NAME="test_userprobe_save_load_elf"
 
@@ -448,9 +487,9 @@ function test_userspace_probe_save_load_sdt()
        # saves the path to the link and not to the actual file. This is to
        # support instrumentation of shared objects that are often accessed
        # through symlinks and updated.
-       TRACE_PATH=$(mktemp -d)
-       TMP_LINK_DIR=$(mktemp -d)
-       TMP_SAVE_DIR=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
+       TMP_LINK_DIR=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
+       TMP_SAVE_DIR=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
 
        SESSION_NAME="test_userprobe_save_load_sdt"
        PROVIDER="foobar"
@@ -502,7 +541,7 @@ function test_userspace_probe_save_load_sdt()
 
 function test_userspace_probe_sdt ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        PROVIDER="foobar"
        PROBE="tp1"
        ENABLE_EXPR="sdt:$SDT_TEST_BIN:$PROVIDER:$PROBE"
@@ -514,7 +553,7 @@ function test_userspace_probe_sdt ()
        lttng_enable_kernel_userspace_probe_event_ok $SESSION_NAME "$ENABLE_EXPR" $PROBE_EVENT_NAME
 
        start_lttng_tracing_ok $SESSION_NAME
-       eval "$SDT_TEST_BIN"  > /dev/null
+       eval "$SDT_TEST_BIN" > /dev/null
        stop_lttng_tracing_ok $SESSION_NAME
 
        validate_trace $PROBE_EVENT_NAME "$TRACE_PATH"
@@ -526,7 +565,7 @@ function test_userspace_probe_sdt ()
 
 function test_userspace_probe_sdt_list ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userprobe_sdt_list"
        PROVIDER="foobar"
        PROBE="tp1"
@@ -538,12 +577,12 @@ function test_userspace_probe_sdt_list ()
 
        lttng_enable_kernel_userspace_probe_event_ok $SESSION_NAME "$ENABLE_EXPR" $PROBE_EVENT_NAME
 
-       validate_list  $SESSION_NAME $PROBE_EVENT_NAME
-       validate_list  $SESSION_NAME $PROVIDER
-       validate_list  $SESSION_NAME $PROBE
-       validate_list  $SESSION_NAME $SDT_TEST_BIN_NAME
-       validate_list  $SESSION_NAME "SDT"
-       validate_list  $SESSION_NAME "Tracepoint"
+       validate_list $SESSION_NAME $PROBE_EVENT_NAME
+       validate_list $SESSION_NAME $PROVIDER
+       validate_list $SESSION_NAME $PROBE
+       validate_list $SESSION_NAME $SDT_TEST_BIN_NAME
+       validate_list $SESSION_NAME "SDT"
+       validate_list $SESSION_NAME "Tracepoint"
 
        destroy_lttng_session_ok $SESSION_NAME
 
@@ -552,7 +591,7 @@ function test_userspace_probe_sdt_list ()
 
 function test_userspace_probe_enable_sdt_nonexistant_provider ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userprobe_sdt_nonexistand_provider"
        PROVIDER="not_provider"
        PROBE="tp1"
@@ -571,7 +610,7 @@ function test_userspace_probe_enable_sdt_nonexistant_provider ()
 
 function test_userspace_probe_enable_sdt_nonexistant_probe ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userprobe_sdt_nonexistant_probe"
        PROVIDER="foobar"
        PROBE="not_a_tracepoint"
@@ -590,7 +629,7 @@ function test_userspace_probe_enable_sdt_nonexistant_probe ()
 
 function test_userspace_probe_enable_sdt_with_sema ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userprobe_sdt_with_sema"
        PROVIDER="foobar"
        PROBE="tp_with_semaphore"
@@ -609,7 +648,7 @@ function test_userspace_probe_enable_sdt_with_sema ()
 
 function test_userspace_probe_sdt_one_probe ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userprobe_sdt_one_probe"
        PROVIDER="foobar"
        PROBE="tp1"
@@ -622,7 +661,7 @@ function test_userspace_probe_sdt_one_probe ()
        lttng_enable_kernel_userspace_probe_event_ok $SESSION_NAME "$ENABLE_EXPR" $PROBE_EVENT_NAME
 
        start_lttng_tracing_ok $SESSION_NAME
-       eval "$SDT_TEST_BIN"  > /dev/null
+       eval "$SDT_TEST_BIN" > /dev/null
        stop_lttng_tracing_ok $SESSION_NAME
 
        validate_trace $PROBE_EVENT_NAME "$TRACE_PATH"
@@ -634,7 +673,7 @@ function test_userspace_probe_sdt_one_probe ()
 
 function test_userspace_probe_sdt_two_probes ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userprobe_sdt_two_probes"
        PROVIDER="foobar"
        PROBE="tp2"
@@ -647,7 +686,7 @@ function test_userspace_probe_sdt_two_probes ()
        lttng_enable_kernel_userspace_probe_event_ok $SESSION_NAME "$ENABLE_EXPR" $PROBE_EVENT_NAME
 
        start_lttng_tracing_ok $SESSION_NAME
-       eval "$SDT_TEST_BIN"  > /dev/null
+       eval "$SDT_TEST_BIN" > /dev/null
        stop_lttng_tracing_ok $SESSION_NAME
 
        validate_trace $PROBE_EVENT_NAME "$TRACE_PATH"
@@ -659,7 +698,7 @@ function test_userspace_probe_sdt_two_probes ()
 
 function test_userspace_probe_sdt_in_shared_object ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userprobe_sdt_shared_object"
        PROVIDER="foobar"
        PROBE="tp_in_shared_object"
@@ -672,7 +711,7 @@ function test_userspace_probe_sdt_in_shared_object ()
        lttng_enable_kernel_userspace_probe_event_ok $SESSION_NAME "$ENABLE_EXPR" $PROBE_EVENT_NAME
 
        start_lttng_tracing_ok $SESSION_NAME
-       eval "$SDT_TEST_BIN"  > /dev/null
+       eval "$SDT_TEST_BIN" > /dev/null
        stop_lttng_tracing_ok $SESSION_NAME
 
        validate_trace $PROBE_EVENT_NAME "$TRACE_PATH"
@@ -684,7 +723,7 @@ function test_userspace_probe_sdt_in_shared_object ()
 
 function test_userspace_probe_sdt_in_shared_object_dlopen ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userprobe_sdt_shared_object_dlopen"
        PROVIDER="foobar"
        PROBE="tp_in_dlopen"
@@ -697,7 +736,7 @@ function test_userspace_probe_sdt_in_shared_object_dlopen ()
        lttng_enable_kernel_userspace_probe_event_ok $SESSION_NAME "$ENABLE_EXPR" $PROBE_EVENT_NAME
 
        start_lttng_tracing_ok $SESSION_NAME
-       eval "$SDT_TEST_BIN"  > /dev/null
+       eval "$SDT_TEST_BIN" > /dev/null
        stop_lttng_tracing_ok $SESSION_NAME
 
        validate_trace $PROBE_EVENT_NAME "$TRACE_PATH"
@@ -709,7 +748,7 @@ function test_userspace_probe_sdt_in_shared_object_dlopen ()
 
 function test_userspace_probe_sdt_in_shared_object_ldpreload ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userprobe_sdt_shared_object_ldpreload"
        PROVIDER="foobar"
        PROBE="tp_in_ldpreload"
@@ -722,7 +761,7 @@ function test_userspace_probe_sdt_in_shared_object_ldpreload ()
        lttng_enable_kernel_userspace_probe_event_ok $SESSION_NAME "$ENABLE_EXPR" $PROBE_EVENT_NAME
 
        start_lttng_tracing_ok $SESSION_NAME
-       LD_PRELOAD="$SDT_TEST_BIN_DIR/libzzz.so" eval "$SDT_TEST_BIN"  > /dev/null
+       LD_PRELOAD="$SDT_TEST_BIN_DIR/libzzz.so" eval "$SDT_TEST_BIN" > /dev/null
        stop_lttng_tracing_ok $SESSION_NAME
 
        validate_trace $PROBE_EVENT_NAME "$TRACE_PATH"
@@ -734,7 +773,7 @@ function test_userspace_probe_sdt_in_shared_object_ldpreload ()
 
 function test_userspace_probe_sdt_with_arg ()
 {
-       TRACE_PATH=$(mktemp -d)
+       TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
        SESSION_NAME="test_userprobe_sdt_arg"
        PROVIDER="foobar"
        PROBE="tp_with_arg"
@@ -747,7 +786,7 @@ function test_userspace_probe_sdt_with_arg ()
        lttng_enable_kernel_userspace_probe_event_ok $SESSION_NAME "$ENABLE_EXPR" $PROBE_EVENT_NAME
 
        start_lttng_tracing_ok $SESSION_NAME
-       eval "$SDT_TEST_BIN"  > /dev/null
+       eval "$SDT_TEST_BIN" > /dev/null
        stop_lttng_tracing_ok $SESSION_NAME
 
        validate_trace $PROBE_EVENT_NAME "$TRACE_PATH"
@@ -792,6 +831,7 @@ skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
        test_userspace_probe_enable_elf_missing_symbol_name
        test_userspace_probe_enable_elf_nonexistant_symbol
        test_userspace_probe_enable_elf_symbol_not_function
+       test_userspace_probe_unsupported_types
 
        # Successful userspace probe elf enabling
        test_userspace_probe_enable_implicit_probe_type
@@ -802,6 +842,7 @@ skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
 
        # Successful tracing userspace probe elf
        test_userspace_probe_elf
+       test_userspace_probe_elf_dynamic_symbol
 
        # Disable userspace-probe elf
        test_userspace_probe_elf_disable
This page took 0.031758 seconds and 4 git commands to generate.