projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Tests: fix: select_poll_epoll: test assumes epoll fd value
[lttng-tools.git]
/
tests
/
regression
/
kernel
/
test_select_poll_epoll
diff --git
a/tests/regression/kernel/test_select_poll_epoll
b/tests/regression/kernel/test_select_poll_epoll
index 16b0da525c4fae8cf394aa57729dd84bb24641d6..6d5509b25990ea7960e39803cc07b2c54e6b7290 100755
(executable)
--- a/
tests/regression/kernel/test_select_poll_epoll
+++ b/
tests/regression/kernel/test_select_poll_epoll
@@
-7,7
+7,7
@@
TEST_DESC="Kernel tracer - select, poll and epoll payload extraction"
TEST_DESC="Kernel tracer - select, poll and epoll payload extraction"
-CURDIR=$(dirname
$0
)/
+CURDIR=$(dirname
"$0"
)/
TESTDIR=$CURDIR/../..
VALIDATE_SCRIPT="$CURDIR/validate_select_poll_epoll.py"
NUM_TESTS=102
TESTDIR=$CURDIR/../..
VALIDATE_SCRIPT="$CURDIR/validate_select_poll_epoll.py"
NUM_TESTS=102
@@
-33,6
+33,7
@@
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)
LAST_OOPS=$(dmesg | grep " OOPS:" | cut -d' ' -f1 | tail -1)
LAST_BUG=$(dmesg | grep " BUG:" | cut -d' ' -f1 | tail -1)
+# shellcheck source=../../utils/utils.sh
source $TESTDIR/utils/utils.sh
function check_trace_content()
source $TESTDIR/utils/utils.sh
function check_trace_content()
@@
-52,8
+53,9
@@
function check_trace_content()
function test_working_cases()
{
function test_working_cases()
{
- TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
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
# arm64 does not have epoll_wait
uname -m | grep -E "aarch64" >/dev/null 2>&1
@@
-65,28
+67,29
@@
function test_working_cases()
diag "Working cases for select, pselect6, poll, ppoll and epoll, waiting for input"
diag "Working cases for select, pselect6, poll, ppoll and epoll, waiting for input"
- create_lttng_session_ok $SESSION_NAME
$TRACE_PATH
+ create_lttng_session_ok $SESSION_NAME
"$TRACE_PATH"
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
- { out=$(yes | $CURDIR/select_poll_epoll -t 1); } 2>/dev/null
+ yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 1
stop_lttng_tracing_ok
stop_lttng_tracing_ok
- pid=$(echo $out | cut -d' ' -f1)
- validate_trace "$SYSCALL_LIST"
$TRACE_PATH
- check_trace_content -t 1 -
p $pid $TRACE_PATH
+ validate_trace "$SYSCALL_LIST"
"$TRACE_PATH"
+ check_trace_content -t 1 -
-validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH"
destroy_lttng_session_ok $SESSION_NAME
destroy_lttng_session_ok $SESSION_NAME
- rm -rf $TRACE_PATH
+ rm -rf "$TRACE_PATH"
+ rm -f "$TEST_VALIDATION_OUTPUT_PATH"
}
function test_timeout_cases()
{
}
function test_timeout_cases()
{
- TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
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
# arm64 does not have epoll_wait
uname -m | grep -E "aarch64" >/dev/null 2>&1
@@
-98,244
+101,252
@@
function test_timeout_cases()
diag "Timeout cases (1ms) for select, pselect6, poll, ppoll and epoll"
diag "Timeout cases (1ms) for select, pselect6, poll, ppoll and epoll"
- create_lttng_session_ok $SESSION_NAME
$TRACE_PATH
+ create_lttng_session_ok $SESSION_NAME
"$TRACE_PATH"
lttng_enable_kernel_syscall_ok $SESSION_NAME "$SYSCALL_LIST"
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
lttng_enable_kernel_syscall_ok $SESSION_NAME "$SYSCALL_LIST"
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
- { out=$($CURDIR/select_poll_epoll -t 2); } 2>/dev/null
+ yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 2
stop_lttng_tracing_ok
stop_lttng_tracing_ok
- pid=$(echo $out | cut -d' ' -f1)
- validate_trace "$SYSCALL_LIST"
$TRACE_PATH
- check_trace_content -t 2 -
p $pid $TRACE_PATH
2>/dev/null
+ validate_trace "$SYSCALL_LIST"
"$TRACE_PATH"
+ check_trace_content -t 2 -
-validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH"
2>/dev/null
destroy_lttng_session_ok $SESSION_NAME
destroy_lttng_session_ok $SESSION_NAME
- rm -rf $TRACE_PATH
+ rm -rf "$TRACE_PATH"
+ rm -f "$TEST_VALIDATION_OUTPUT_PATH"
}
function test_pselect_invalid_fd()
{
}
function test_pselect_invalid_fd()
{
- TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
SYSCALL_LIST="pselect6"
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")
diag "pselect with invalid FD"
diag "pselect with invalid FD"
- create_lttng_session_ok $SESSION_NAME
$TRACE_PATH
+ create_lttng_session_ok $SESSION_NAME
"$TRACE_PATH"
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
- { out=$($CURDIR/select_poll_epoll -t 3); } 2>/dev/null
+ yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 3
stop_lttng_tracing_ok
stop_lttng_tracing_ok
- pid=$(echo $out | cut -d' ' -f1)
- validate_trace "$SYSCALL_LIST"
$TRACE_PATH
- check_trace_content -t 3 -
p $pid $TRACE_PATH
2>/dev/null
+ validate_trace "$SYSCALL_LIST"
"$TRACE_PATH"
+ check_trace_content -t 3 -
-validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH"
2>/dev/null
destroy_lttng_session_ok $SESSION_NAME
destroy_lttng_session_ok $SESSION_NAME
- rm -rf $TRACE_PATH
+ rm -rf "$TRACE_PATH"
+ rm -f "$TEST_VALIDATION_OUTPUT_PATH"
}
function test_big_ppoll()
{
}
function test_big_ppoll()
{
- TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
SYSCALL_LIST="ppoll"
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")
diag "ppoll with 2047 FDs"
diag "ppoll with 2047 FDs"
- create_lttng_session_ok $SESSION_NAME
$TRACE_PATH
+ create_lttng_session_ok $SESSION_NAME
"$TRACE_PATH"
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
- { out=$(yes | $CURDIR/select_poll_epoll -t 4); } 2>/dev/null
+ yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 4
stop_lttng_tracing_ok
stop_lttng_tracing_ok
- pid=$(echo $out | cut -d' ' -f1)
- validate_trace "$SYSCALL_LIST"
$TRACE_PATH
- check_trace_content -t 4 -
p $pid $TRACE_PATH
2>/dev/null
+ validate_trace "$SYSCALL_LIST"
"$TRACE_PATH"
+ check_trace_content -t 4 -
-validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH"
2>/dev/null
destroy_lttng_session_ok $SESSION_NAME
destroy_lttng_session_ok $SESSION_NAME
- rm -rf $TRACE_PATH
+ rm -rf "$TRACE_PATH"
+ rm -f "$TEST_VALIDATION_OUTPUT_PATH"
}
function test_ppoll_overflow()
{
}
function test_ppoll_overflow()
{
- TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
SYSCALL_LIST="ppoll"
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")
diag "ppoll buffer overflow, should segfault, waits for input"
diag "ppoll buffer overflow, should segfault, waits for input"
- create_lttng_session_ok $SESSION_NAME
$TRACE_PATH
+ create_lttng_session_ok $SESSION_NAME
"$TRACE_PATH"
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
diag "Expect segfaults"
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
diag "Expect segfaults"
- { out=$(yes | $CURDIR/select_poll_epoll -t 5); } 2>/dev/null
+ yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 5
stop_lttng_tracing_ok
stop_lttng_tracing_ok
- echo $out
- pid=$(echo $out | cut -d' ' -f1)
- validate_trace "$SYSCALL_LIST"
$TRACE_PATH
+ validate_trace "$SYSCALL_LIST"
"$TRACE_PATH"
- check_trace_content -t 5 -
p $pid $TRACE_PATH
2>/dev/null
+ check_trace_content -t 5 -
-validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH"
2>/dev/null
destroy_lttng_session_ok $SESSION_NAME
destroy_lttng_session_ok $SESSION_NAME
- rm -rf $TRACE_PATH
+ rm -rf "$TRACE_PATH"
+ rm -f "$TEST_VALIDATION_OUTPUT_PATH"
}
function test_pselect_invalid_ptr()
{
}
function test_pselect_invalid_ptr()
{
- TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
SYSCALL_LIST="pselect6"
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")
diag "pselect with invalid pointer, waits for input"
diag "pselect with invalid pointer, waits for input"
- create_lttng_session_ok $SESSION_NAME
$TRACE_PATH
+ create_lttng_session_ok $SESSION_NAME
"$TRACE_PATH"
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
- { out=$(yes | $CURDIR/select_poll_epoll -t 6); } 2>/dev/null
+ yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 6
stop_lttng_tracing_ok
stop_lttng_tracing_ok
- pid=$(echo $out | cut -d' ' -f1)
- validate_trace "$SYSCALL_LIST"
$TRACE_PATH
- check_trace_content -t 6 -
p $pid $TRACE_PATH
2>/dev/null
+ validate_trace "$SYSCALL_LIST"
"$TRACE_PATH"
+ check_trace_content -t 6 -
-validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH"
2>/dev/null
destroy_lttng_session_ok $SESSION_NAME
destroy_lttng_session_ok $SESSION_NAME
- rm -rf $TRACE_PATH
+ rm -rf "$TRACE_PATH"
+ rm -f "$TEST_VALIDATION_OUTPUT_PATH"
}
function test_ppoll_ulong_max()
{
}
function test_ppoll_ulong_max()
{
- TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
SYSCALL_LIST="ppoll"
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")
diag "ppoll with ulong_max fds, waits for input"
diag "ppoll with ulong_max fds, waits for input"
- create_lttng_session_ok $SESSION_NAME
$TRACE_PATH
+ create_lttng_session_ok $SESSION_NAME
"$TRACE_PATH"
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
- { out=$(yes | $CURDIR/select_poll_epoll -t 7); } 2>/dev/null
+ yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 7
stop_lttng_tracing_ok
stop_lttng_tracing_ok
- pid=$(echo $out | cut -d' ' -f1)
- validate_trace "$SYSCALL_LIST"
$TRACE_PATH
- check_trace_content -t 7 -
p $pid $TRACE_PATH
2>/dev/null
+ validate_trace "$SYSCALL_LIST"
"$TRACE_PATH"
+ check_trace_content -t 7 -
-validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH"
2>/dev/null
destroy_lttng_session_ok $SESSION_NAME
destroy_lttng_session_ok $SESSION_NAME
- rm -rf $TRACE_PATH
+ rm -rf "$TRACE_PATH"
+ rm -f "$TEST_VALIDATION_OUTPUT_PATH"
}
function test_epoll_pwait_invalid_ptr()
{
}
function test_epoll_pwait_invalid_ptr()
{
- TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
SYSCALL_LIST="epoll_pwait"
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")
diag "epoll_pwait with invalid pointer, waits for input"
diag "epoll_pwait with invalid pointer, waits for input"
- create_lttng_session_ok $SESSION_NAME
$TRACE_PATH
+ create_lttng_session_ok $SESSION_NAME
"$TRACE_PATH"
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
- { out=$(yes | $CURDIR/select_poll_epoll -t 8); } 2>/dev/null
+ yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 8
stop_lttng_tracing_ok
stop_lttng_tracing_ok
- pid=$(echo $out | cut -d' ' -f1)
- validate_trace "$SYSCALL_LIST"
$TRACE_PATH
- check_trace_content -t 8 -
p $pid $TRACE_PATH
2>/dev/null
+ validate_trace "$SYSCALL_LIST"
"$TRACE_PATH"
+ check_trace_content -t 8 -
-validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH"
2>/dev/null
destroy_lttng_session_ok $SESSION_NAME
destroy_lttng_session_ok $SESSION_NAME
- rm -rf $TRACE_PATH
+ rm -rf "$TRACE_PATH"
+ rm -f "$TEST_VALIDATION_OUTPUT_PATH"
}
function test_epoll_pwait_int_max()
{
}
function test_epoll_pwait_int_max()
{
- TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
SYSCALL_LIST="epoll_pwait"
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")
diag "epoll_pwait with maxevents set to INT_MAX, waits for input"
diag "epoll_pwait with maxevents set to INT_MAX, waits for input"
- create_lttng_session_ok $SESSION_NAME
$TRACE_PATH
+ create_lttng_session_ok $SESSION_NAME
"$TRACE_PATH"
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
- { out=$(yes | $CURDIR/select_poll_epoll -t 9); } 2>/dev/null
+ yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 9
stop_lttng_tracing_ok
stop_lttng_tracing_ok
- pid=$(echo $out | cut -d' ' -f1)
- validate_trace "$SYSCALL_LIST"
$TRACE_PATH
- check_trace_content -t 9 -
p $pid $TRACE_PATH
2>/dev/null
+ validate_trace "$SYSCALL_LIST"
"$TRACE_PATH"
+ check_trace_content -t 9 -
-validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH"
2>/dev/null
destroy_lttng_session_ok $SESSION_NAME
destroy_lttng_session_ok $SESSION_NAME
- rm -rf $TRACE_PATH
+ rm -rf "$TRACE_PATH"
+ rm -f "$TEST_VALIDATION_OUTPUT_PATH"
}
function test_ppoll_concurrent()
{
}
function test_ppoll_concurrent()
{
- TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
SYSCALL_LIST="ppoll"
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")
diag "ppoll with concurrent updates of the structure from user-space, stress test (3000 iterations), waits for input + timeout 1ms"
diag "ppoll with concurrent updates of the structure from user-space, stress test (3000 iterations), waits for input + timeout 1ms"
- create_lttng_session_ok $SESSION_NAME
$TRACE_PATH
+ create_lttng_session_ok $SESSION_NAME
"$TRACE_PATH"
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
start_lttng_tracing_ok
- { out=$(yes | $CURDIR/select_poll_epoll -t 10); } 2>/dev/null
+ yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 10
stop_lttng_tracing_ok
stop_lttng_tracing_ok
- pid=$(echo $out | cut -d' ' -f1)
- validate_trace "$SYSCALL_LIST"
$TRACE_PATH
- check_trace_content -t 10 -
p $pid $TRACE_PATH
2>/dev/null
+ validate_trace "$SYSCALL_LIST"
"$TRACE_PATH"
+ check_trace_content -t 10 -
-validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH"
2>/dev/null
destroy_lttng_session_ok $SESSION_NAME
destroy_lttng_session_ok $SESSION_NAME
- rm -rf $TRACE_PATH
+ rm -rf "$TRACE_PATH"
+ rm -f "$TEST_VALIDATION_OUTPUT_PATH"
}
function test_epoll_pwait_concurrent()
{
}
function test_epoll_pwait_concurrent()
{
- TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
SYSCALL_LIST="epoll_ctl,epoll_pwait"
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")
diag "epoll_pwait with concurrent munmap of the buffer from user-space, should randomly segfault, run multiple times, waits for input + timeout 1ms"
diag "epoll_pwait with concurrent munmap of the buffer from user-space, should randomly segfault, run multiple times, waits for input + timeout 1ms"
- create_lttng_session_ok $SESSION_NAME
$TRACE_PATH
+ create_lttng_session_ok $SESSION_NAME
"$TRACE_PATH"
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
lttng_enable_kernel_syscall_ok $SESSION_NAME $SYSCALL_LIST
add_context_kernel_ok $SESSION_NAME channel0 pid
@@
-343,18
+354,18
@@
function test_epoll_pwait_concurrent()
start_lttng_tracing_ok
diag "Expect segfaults"
for i in $(seq 1 100); do
start_lttng_tracing_ok
diag "Expect segfaults"
for i in $(seq 1 100); do
- { out=$($CURDIR/select_poll_epoll -t 11); } 2>/dev/null
+ yes | "$CURDIR"/select_poll_epoll --validation-file "$TEST_VALIDATION_OUTPUT_PATH" -t 11
done
done
- pid=$(echo $out | cut -d' ' -f1)
stop_lttng_tracing_ok
# epoll_wait is not always generated in the trace (stress test)
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 -
p $pid $TRACE_PATH
2>/dev/null
+ validate_trace "epoll_ctl"
"$TRACE_PATH"
+ check_trace_content -t 11 -
-validation-file "$TEST_VALIDATION_OUTPUT_PATH" "$TRACE_PATH"
2>/dev/null
destroy_lttng_session_ok $SESSION_NAME
destroy_lttng_session_ok $SESSION_NAME
- rm -rf $TRACE_PATH
+ rm -rf "$TRACE_PATH"
+ rm -f "$TEST_VALIDATION_OUTPUT_PATH"
}
# MUST set TESTDIR before calling those functions
}
# MUST set TESTDIR before calling those functions
This page took
0.030776 seconds
and
4
git commands to generate.