projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
port: add support for BSD mktemp
[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 6d5509b25990ea7960e39803cc07b2c54e6b7290..db4ffae88734bea21b246dd8962c5fb26823f9a3 100755
(executable)
--- a/
tests/regression/kernel/test_select_poll_epoll
+++ b/
tests/regression/kernel/test_select_poll_epoll
@@
-12,12
+12,6
@@
TESTDIR=$CURDIR/../..
VALIDATE_SCRIPT="$CURDIR/validate_select_poll_epoll.py"
NUM_TESTS=102
VALIDATE_SCRIPT="$CURDIR/validate_select_poll_epoll.py"
NUM_TESTS=102
-# Only run this test on x86 and arm
-uname -m | grep -E "x86|i686|arm|aarch64" >/dev/null 2>&1
-if test $? != 0; then
- exit 0
-fi
-
DISABLE_VALIDATE=0
# Babeltrace python bindings are required for the validation, but
# it is not a mandatory dependancy of the project, so fail run the
DISABLE_VALIDATE=0
# Babeltrace python bindings are required for the validation, but
# it is not a mandatory dependancy of the project, so fail run the
@@
-54,8
+48,8
@@
function check_trace_content()
function test_working_cases()
{
SESSION_NAME="syscall_payload"
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")
+ 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")
# 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
@@
-88,8
+82,8
@@
function test_working_cases()
function test_timeout_cases()
{
SESSION_NAME="syscall_payload"
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")
+ 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")
# 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
@@
-123,8
+117,8
@@
function test_pselect_invalid_fd()
{
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")
+ 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"
diag "pselect with invalid FD"
@@
-150,8
+144,8
@@
function test_big_ppoll()
{
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")
+ 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"
diag "ppoll with 2047 FDs"
@@
-177,8
+171,8
@@
function test_ppoll_overflow()
{
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")
+ 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"
diag "ppoll buffer overflow, should segfault, waits for input"
@@
-206,8
+200,8
@@
function test_pselect_invalid_ptr()
{
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")
+ 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"
diag "pselect with invalid pointer, waits for input"
@@
-233,8
+227,8
@@
function test_ppoll_ulong_max()
{
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")
+ 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"
diag "ppoll with ulong_max fds, waits for input"
@@
-260,8
+254,8
@@
function test_epoll_pwait_invalid_ptr()
{
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")
+ 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"
diag "epoll_pwait with invalid pointer, waits for input"
@@
-287,8
+281,8
@@
function test_epoll_pwait_int_max()
{
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")
+ 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"
diag "epoll_pwait with maxevents set to INT_MAX, waits for input"
@@
-314,8
+308,8
@@
function test_ppoll_concurrent()
{
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")
+ 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"
diag "ppoll with concurrent updates of the structure from user-space, stress test (3000 iterations), waits for input + timeout 1ms"
@@
-341,8
+335,8
@@
function test_epoll_pwait_concurrent()
{
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")
+ 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"
diag "epoll_pwait with concurrent munmap of the buffer from user-space, should randomly segfault, run multiple times, waits for input + timeout 1ms"
@@
-373,6
+367,13
@@
plan_tests $NUM_TESTS
print_test_banner "$TEST_DESC"
print_test_banner "$TEST_DESC"
+# Only run this test on x86 and arm
+uname -m | grep -E "x86|i686|arm|aarch64" >/dev/null 2>&1
+if test $? != 0; then
+ skip 0 "Run only on x86 and arm. Skipping all tests." $NUM_TESTS
+ exit 0
+fi
+
if [ "$(id -u)" == "0" ]; then
isroot=1
else
if [ "$(id -u)" == "0" ]; then
isroot=1
else
@@
-381,6
+382,8
@@
fi
skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
{
skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
{
+ validate_lttng_modules_present
+
start_lttng_sessiond
test_working_cases
start_lttng_sessiond
test_working_cases
This page took
0.026217 seconds
and
4
git commands to generate.