Clean-up: modernize pretty_xml.cpp
[lttng-tools.git] / tests / regression / kernel / test_select_poll_epoll
index d8245a0e7297f0083fe070abef8d33320d58de53..a359945cd59881fa564c776bbf51d5e76bca64c0 100755 (executable)
@@ -10,7 +10,6 @@ TEST_DESC="Kernel tracer - select, poll and epoll payload extraction"
 CURDIR=$(dirname "$0")/
 TESTDIR=$CURDIR/../..
 VALIDATE_SCRIPT="$CURDIR/validate_select_poll_epoll.py"
-NUM_TESTS=102
 
 DISABLE_VALIDATE=0
 # Babeltrace python bindings are required for the validation, but
@@ -27,6 +26,12 @@ LAST_WARNING=$(dmesg | grep " WARNING:" | cut -d' ' -f1 | tail -1)
 LAST_OOPS=$(dmesg | grep " OOPS:" | cut -d' ' -f1 | tail -1)
 LAST_BUG=$(dmesg | grep " BUG:" | cut -d' ' -f1 | tail -1)
 
+SUPPORTED_SYSCALLS_LIST=$("$CURDIR"/select_poll_epoll --list-supported-test-syscalls)
+SUPPORTED_SYSCALLS_COUNT=$(echo $SUPPORTED_SYSCALLS_LIST | awk -F '[\t,]' '{print NF}')
+
+# Two tests validate their trace for every supported syscall
+NUM_TESTS=$((88+(2*SUPPORTED_SYSCALLS_COUNT)))
+
 # shellcheck source=../../utils/utils.sh
 source $TESTDIR/utils/utils.sh
 
@@ -48,30 +53,22 @@ function check_trace_content()
 function test_working_cases()
 {
        SESSION_NAME="syscall_payload"
-       TRACE_PATH=$(mktemp --tmpdir -d "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
-       TEST_VALIDATION_OUTPUT_PATH=$(mktemp --tmpdir -u "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
-
-       # arm64 does not have epoll_wait
-       uname -m | grep -E "aarch64" >/dev/null 2>&1
-       if test $? = 0; then
-               SYSCALL_LIST="select,pselect6,poll,ppoll,epoll_ctl,epoll_pwait"
-       else
-               SYSCALL_LIST="select,pselect6,poll,ppoll,epoll_ctl,epoll_wait,epoll_pwait"
-       fi
+       TRACE_PATH=$(mktemp -d -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
+       TEST_VALIDATION_OUTPUT_PATH=$(mktemp -u -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
 
        diag "Working cases for select, pselect6, poll, ppoll and epoll, waiting for input"
 
        create_lttng_session_ok $SESSION_NAME "$TRACE_PATH"
 
-       lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
+       lttng_enable_kernel_syscall_ok $SESSION_NAME $SUPPORTED_SYSCALLS_LIST
        add_context_kernel_ok $SESSION_NAME channel0 pid
 
        start_lttng_tracing_ok
-       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 1
+       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t working_cases
        stop_lttng_tracing_ok
 
-       validate_trace "$SYSCALL_LIST" "$TRACE_PATH"
-       check_trace_content -t 1 --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH"
+       validate_trace "$SUPPORTED_SYSCALLS_LIST" "$TRACE_PATH"
+       check_trace_content -t working_cases --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH"
 
        destroy_lttng_session_ok $SESSION_NAME
 
@@ -82,30 +79,22 @@ function test_working_cases()
 function test_timeout_cases()
 {
        SESSION_NAME="syscall_payload"
-       TRACE_PATH=$(mktemp --tmpdir -d "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
-       TEST_VALIDATION_OUTPUT_PATH=$(mktemp --tmpdir -u "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
-
-       # arm64 does not have epoll_wait
-       uname -m | grep -E "aarch64" >/dev/null 2>&1
-       if test $? = 0; then
-               SYSCALL_LIST="select,pselect6,poll,ppoll,epoll_ctl,epoll_pwait"
-       else
-               SYSCALL_LIST="select,pselect6,poll,ppoll,epoll_ctl,epoll_wait,epoll_pwait"
-       fi
+       TRACE_PATH=$(mktemp -d -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
+       TEST_VALIDATION_OUTPUT_PATH=$(mktemp -u -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
 
        diag "Timeout cases (1ms) for select, pselect6, poll, ppoll and epoll"
 
        create_lttng_session_ok $SESSION_NAME "$TRACE_PATH"
 
-       lttng_enable_kernel_syscall_ok $SESSION_NAME "$SYSCALL_LIST"
+       lttng_enable_kernel_syscall_ok $SESSION_NAME "$SUPPORTED_SYSCALLS_LIST"
        add_context_kernel_ok $SESSION_NAME channel0 pid
 
        start_lttng_tracing_ok
-       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 2
+       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t working_cases_timeout
        stop_lttng_tracing_ok
 
-       validate_trace "$SYSCALL_LIST" "$TRACE_PATH"
-       check_trace_content -t 2 --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
+       validate_trace "$SUPPORTED_SYSCALLS_LIST" "$TRACE_PATH"
+       check_trace_content -t working_cases_timeout --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
 
        destroy_lttng_session_ok $SESSION_NAME
 
@@ -116,9 +105,9 @@ function test_timeout_cases()
 function test_pselect_invalid_fd()
 {
        SESSION_NAME="syscall_payload"
-       SYSCALL_LIST="pselect6"
-       TRACE_PATH=$(mktemp --tmpdir -d "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
-       TEST_VALIDATION_OUTPUT_PATH=$(mktemp --tmpdir -u "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
+       local SYSCALL_LIST="pselect6"
+       TRACE_PATH=$(mktemp -d -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
+       TEST_VALIDATION_OUTPUT_PATH=$(mktemp -u -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
 
        diag "pselect with invalid FD"
 
@@ -128,11 +117,11 @@ function test_pselect_invalid_fd()
        add_context_kernel_ok $SESSION_NAME channel0 pid
 
        start_lttng_tracing_ok
-       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 3
+       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t pselect_invalid_fd
        stop_lttng_tracing_ok
 
        validate_trace "$SYSCALL_LIST" "$TRACE_PATH"
-       check_trace_content -t 3 --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
+       check_trace_content -t pselect_invalid_fd --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
 
        destroy_lttng_session_ok $SESSION_NAME
 
@@ -140,12 +129,12 @@ function test_pselect_invalid_fd()
        rm -f "$TEST_VALIDATION_OUTPUT_PATH"
 }
 
-function test_big_ppoll()
+function test_ppoll_big()
 {
        SESSION_NAME="syscall_payload"
-       SYSCALL_LIST="ppoll"
-       TRACE_PATH=$(mktemp --tmpdir -d "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
-       TEST_VALIDATION_OUTPUT_PATH=$(mktemp --tmpdir -u "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
+       local SYSCALL_LIST="ppoll"
+       TRACE_PATH=$(mktemp -d -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
+       TEST_VALIDATION_OUTPUT_PATH=$(mktemp -u -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
 
        diag "ppoll with 2047 FDs"
 
@@ -155,11 +144,11 @@ function test_big_ppoll()
        add_context_kernel_ok $SESSION_NAME channel0 pid
 
        start_lttng_tracing_ok
-       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 4
+       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t ppoll_big
        stop_lttng_tracing_ok
 
        validate_trace "$SYSCALL_LIST" "$TRACE_PATH"
-       check_trace_content -t 4 --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
+       check_trace_content -t ppoll_big --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
 
        destroy_lttng_session_ok $SESSION_NAME
 
@@ -167,12 +156,12 @@ function test_big_ppoll()
        rm -f "$TEST_VALIDATION_OUTPUT_PATH"
 }
 
-function test_ppoll_overflow()
+function test_ppoll_fds_buffer_overflow()
 {
        SESSION_NAME="syscall_payload"
-       SYSCALL_LIST="ppoll"
-       TRACE_PATH=$(mktemp --tmpdir -d "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
-       TEST_VALIDATION_OUTPUT_PATH=$(mktemp --tmpdir -u "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
+       local SYSCALL_LIST="ppoll"
+       TRACE_PATH=$(mktemp -d -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
+       TEST_VALIDATION_OUTPUT_PATH=$(mktemp -u -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
 
        diag "ppoll buffer overflow, should segfault, waits for input"
 
@@ -183,12 +172,12 @@ function test_ppoll_overflow()
 
        start_lttng_tracing_ok
        diag "Expect segfaults"
-       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 5
+       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t ppoll_fds_buffer_overflow
        stop_lttng_tracing_ok
 
        validate_trace "$SYSCALL_LIST" "$TRACE_PATH"
 
-       check_trace_content -t 5 --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
+       check_trace_content -t ppoll_fds_buffer_overflow --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
 
        destroy_lttng_session_ok $SESSION_NAME
 
@@ -196,12 +185,12 @@ function test_ppoll_overflow()
        rm -f "$TEST_VALIDATION_OUTPUT_PATH"
 }
 
-function test_pselect_invalid_ptr()
+function test_pselect_invalid_pointer()
 {
        SESSION_NAME="syscall_payload"
-       SYSCALL_LIST="pselect6"
-       TRACE_PATH=$(mktemp --tmpdir -d "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
-       TEST_VALIDATION_OUTPUT_PATH=$(mktemp --tmpdir -u "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
+       local SYSCALL_LIST="pselect6"
+       TRACE_PATH=$(mktemp -d -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
+       TEST_VALIDATION_OUTPUT_PATH=$(mktemp -u -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
 
        diag "pselect with invalid pointer, waits for input"
 
@@ -211,11 +200,11 @@ function test_pselect_invalid_ptr()
        add_context_kernel_ok $SESSION_NAME channel0 pid
 
        start_lttng_tracing_ok
-       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 6
+       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t pselect_invalid_pointer
        stop_lttng_tracing_ok
 
        validate_trace "$SYSCALL_LIST" "$TRACE_PATH"
-       check_trace_content -t 6 --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
+       check_trace_content -t pselect_invalid_pointer --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
 
        destroy_lttng_session_ok $SESSION_NAME
 
@@ -223,12 +212,12 @@ function test_pselect_invalid_ptr()
        rm -f "$TEST_VALIDATION_OUTPUT_PATH"
 }
 
-function test_ppoll_ulong_max()
+function test_ppoll_fds_ulong_max()
 {
        SESSION_NAME="syscall_payload"
-       SYSCALL_LIST="ppoll"
-       TRACE_PATH=$(mktemp --tmpdir -d "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
-       TEST_VALIDATION_OUTPUT_PATH=$(mktemp --tmpdir -u "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
+       local SYSCALL_LIST="ppoll"
+       TRACE_PATH=$(mktemp -d -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
+       TEST_VALIDATION_OUTPUT_PATH=$(mktemp -u -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
 
        diag "ppoll with ulong_max fds, waits for input"
 
@@ -238,11 +227,11 @@ function test_ppoll_ulong_max()
        add_context_kernel_ok $SESSION_NAME channel0 pid
 
        start_lttng_tracing_ok
-       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 7
+       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t ppoll_fds_ulong_max
        stop_lttng_tracing_ok
 
        validate_trace "$SYSCALL_LIST" "$TRACE_PATH"
-       check_trace_content -t 7 --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
+       check_trace_content -t ppoll_fds_ulong_max --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
 
        destroy_lttng_session_ok $SESSION_NAME
 
@@ -250,12 +239,12 @@ function test_ppoll_ulong_max()
        rm -f "$TEST_VALIDATION_OUTPUT_PATH"
 }
 
-function test_epoll_pwait_invalid_ptr()
+function test_epoll_pwait_invalid_pointer()
 {
        SESSION_NAME="syscall_payload"
-       SYSCALL_LIST="epoll_pwait"
-       TRACE_PATH=$(mktemp --tmpdir -d "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
-       TEST_VALIDATION_OUTPUT_PATH=$(mktemp --tmpdir -u "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
+       local SYSCALL_LIST="epoll_pwait"
+       TRACE_PATH=$(mktemp -d -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
+       TEST_VALIDATION_OUTPUT_PATH=$(mktemp -u -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
 
        diag "epoll_pwait with invalid pointer, waits for input"
 
@@ -265,11 +254,11 @@ function test_epoll_pwait_invalid_ptr()
        add_context_kernel_ok $SESSION_NAME channel0 pid
 
        start_lttng_tracing_ok
-       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 8
+       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t epoll_pwait_invalid_pointer
        stop_lttng_tracing_ok
 
        validate_trace "$SYSCALL_LIST" "$TRACE_PATH"
-       check_trace_content -t 8 --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
+       check_trace_content -t epoll_pwait_invalid_pointer --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
 
        destroy_lttng_session_ok $SESSION_NAME
 
@@ -277,12 +266,12 @@ function test_epoll_pwait_invalid_ptr()
        rm -f "$TEST_VALIDATION_OUTPUT_PATH"
 }
 
-function test_epoll_pwait_int_max()
+function test_epoll_pwait_fds_int_max()
 {
        SESSION_NAME="syscall_payload"
-       SYSCALL_LIST="epoll_pwait"
-       TRACE_PATH=$(mktemp --tmpdir -d "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
-       TEST_VALIDATION_OUTPUT_PATH=$(mktemp --tmpdir -u "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
+       local SYSCALL_LIST="epoll_pwait"
+       TRACE_PATH=$(mktemp -d -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
+       TEST_VALIDATION_OUTPUT_PATH=$(mktemp -u -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
 
        diag "epoll_pwait with maxevents set to INT_MAX, waits for input"
 
@@ -292,11 +281,11 @@ function test_epoll_pwait_int_max()
        add_context_kernel_ok $SESSION_NAME channel0 pid
 
        start_lttng_tracing_ok
-       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 9
+       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t epoll_pwait_int_max
        stop_lttng_tracing_ok
 
        validate_trace "$SYSCALL_LIST" "$TRACE_PATH"
-       check_trace_content -t 9 --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
+       check_trace_content -t epoll_pwait_int_max --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
 
        destroy_lttng_session_ok $SESSION_NAME
 
@@ -304,12 +293,12 @@ function test_epoll_pwait_int_max()
        rm -f "$TEST_VALIDATION_OUTPUT_PATH"
 }
 
-function test_ppoll_concurrent()
+function test_ppoll_concurrent_write()
 {
        SESSION_NAME="syscall_payload"
-       SYSCALL_LIST="ppoll"
-       TRACE_PATH=$(mktemp --tmpdir -d "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
-       TEST_VALIDATION_OUTPUT_PATH=$(mktemp --tmpdir -u "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
+       local SYSCALL_LIST="ppoll"
+       TRACE_PATH=$(mktemp -d -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
+       TEST_VALIDATION_OUTPUT_PATH=$(mktemp -u -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
 
        diag "ppoll with concurrent updates of the structure from user-space, stress test (3000 iterations), waits for input + timeout 1ms"
 
@@ -319,11 +308,11 @@ function test_ppoll_concurrent()
        add_context_kernel_ok $SESSION_NAME channel0 pid
 
        start_lttng_tracing_ok
-       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 10
+       yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t ppoll_concurrent_write
        stop_lttng_tracing_ok
 
        validate_trace "$SYSCALL_LIST" "$TRACE_PATH"
-       check_trace_content -t 10 --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
+       check_trace_content -t ppoll_concurrent_write --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
 
        destroy_lttng_session_ok $SESSION_NAME
 
@@ -331,12 +320,12 @@ function test_ppoll_concurrent()
        rm -f "$TEST_VALIDATION_OUTPUT_PATH"
 }
 
-function test_epoll_pwait_concurrent()
+function test_epoll_pwait_concurrent_unmap()
 {
        SESSION_NAME="syscall_payload"
-       SYSCALL_LIST="epoll_ctl,epoll_pwait"
-       TRACE_PATH=$(mktemp --tmpdir -d "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
-       TEST_VALIDATION_OUTPUT_PATH=$(mktemp --tmpdir -u "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
+       local SYSCALL_LIST="epoll_ctl,epoll_pwait"
+       TRACE_PATH=$(mktemp -d -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_trace_path.XXXXXX")
+       TEST_VALIDATION_OUTPUT_PATH=$(mktemp -u -t "tmp.test_kernel_select_poll_epoll_${FUNCNAME[0]}_validation.XXXXXX")
 
        diag "epoll_pwait with concurrent munmap of the buffer from user-space, should randomly segfault, run multiple times, waits for input + timeout 1ms"
 
@@ -348,13 +337,13 @@ function test_epoll_pwait_concurrent()
        start_lttng_tracing_ok
        diag "Expect segfaults"
        for i in $(seq 1 100); do
-               yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 11
+               yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t epoll_pwait_concurrent_munmap
        done
        stop_lttng_tracing_ok
 
        # epoll_wait is not always generated in the trace (stress test)
        validate_trace "epoll_ctl" "$TRACE_PATH"
-       check_trace_content -t 11 --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
+       check_trace_content -t epoll_pwait_concurrent_munmap --validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH" 2>/dev/null
 
        destroy_lttng_session_ok $SESSION_NAME
 
@@ -374,13 +363,9 @@ if test $? != 0; then
        exit 0
 fi
 
-if [ "$(id -u)" == "0" ]; then
-       isroot=1
-else
-       isroot=0
-fi
+diag "Supported syscalls are $SUPPORTED_SYSCALLS_LIST"
 
-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
+check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
 {
        validate_lttng_modules_present
 
@@ -389,14 +374,14 @@ skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
        test_working_cases
        test_timeout_cases
        test_pselect_invalid_fd
-       test_big_ppoll
-       test_ppoll_overflow
-       test_pselect_invalid_ptr
-       test_ppoll_ulong_max
-       test_epoll_pwait_invalid_ptr
-       test_epoll_pwait_int_max
-       test_ppoll_concurrent
-       test_epoll_pwait_concurrent
+       test_ppoll_big
+       test_ppoll_fds_buffer_overflow
+       test_pselect_invalid_pointer
+       test_ppoll_fds_ulong_max
+       test_epoll_pwait_invalid_pointer
+       test_epoll_pwait_fds_int_max
+       test_ppoll_concurrent_write
+       test_epoll_pwait_concurrent_unmap
 
        stop_lttng_sessiond
 
@@ -405,12 +390,18 @@ skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
        NEW_BUG=$(dmesg | grep " BUG:" | cut -d' ' -f1 | tail -1)
 
        if test "$LAST_WARNING" != "$NEW_WARNING"; then
+               diag "Last WARNING before tests: ${LAST_WARNING}"
+               diag "Last WARNING after tests: ${NEW_WARNING}"
                fail "New WARNING generated"
        fi
        if test "$LAST_OOPS" != "$NEW_OOPS"; then
+               diag "Last OOPS before tests: ${LAST_OOPS}"
+               diag "Last OOPS after tests: ${NEW_OOPS}"
                fail "New OOPS generated"
        fi
        if test "$LAST_BUG" != "$NEW_BUG"; then
+               diag "Last BUG before tests: ${LAST_BUG}"
+               diag "Last BUG after tests: ${NEW_BUG}"
                fail "New BUG generated"
        fi
 }
This page took 0.037324 seconds and 4 git commands to generate.