#!/bin/bash
#
-# Copyright (C) - 2016 Julien Desfossez <jdesfossez@efficios.com>
+# Copyright (C) 2016 Julien Desfossez <jdesfossez@efficios.com>
#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License, version 2 only, as
-# published by the Free Software Foundation.
+# SPDX-License-Identifier: GPL-2.0-only
#
-# This program 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 General Public License for
-# more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
TEST_DESC="Kernel tracer - select, poll and epoll payload extraction"
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
rm -rf $TRACE_PATH
}
-function test_big_pselect()
+function test_pselect_invalid_fd()
{
TRACE_PATH=$(mktemp -d)
SESSION_NAME="syscall_payload"
SYSCALL_LIST="pselect6"
- diag "pselect with a FD > 1023"
+ diag "pselect with invalid FD"
create_lttng_session_ok $SESSION_NAME $TRACE_PATH
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
skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
{
+ validate_lttng_modules_present
+
start_lttng_sessiond
test_working_cases
test_timeout_cases
- test_big_pselect
+ test_pselect_invalid_fd
test_big_ppoll
test_ppoll_overflow
test_pselect_invalid_ptr