#!/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"
function test_working_cases()
{
- TRACE_PATH=$(mktemp -d)
+ TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
# arm64 does not have epoll_wait
function test_timeout_cases()
{
- TRACE_PATH=$(mktemp -d)
+ TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
# arm64 does not have epoll_wait
rm -rf $TRACE_PATH
}
-function test_big_pselect()
+function test_pselect_invalid_fd()
{
- TRACE_PATH=$(mktemp -d)
+ TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
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
function test_big_ppoll()
{
- TRACE_PATH=$(mktemp -d)
+ TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
SYSCALL_LIST="ppoll"
function test_ppoll_overflow()
{
- TRACE_PATH=$(mktemp -d)
+ TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
SYSCALL_LIST="ppoll"
function test_pselect_invalid_ptr()
{
- TRACE_PATH=$(mktemp -d)
+ TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
SYSCALL_LIST="pselect6"
function test_ppoll_ulong_max()
{
- TRACE_PATH=$(mktemp -d)
+ TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
SYSCALL_LIST="ppoll"
function test_epoll_pwait_invalid_ptr()
{
- TRACE_PATH=$(mktemp -d)
+ TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
SYSCALL_LIST="epoll_pwait"
function test_epoll_pwait_int_max()
{
- TRACE_PATH=$(mktemp -d)
+ TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
SYSCALL_LIST="epoll_pwait"
function test_ppoll_concurrent()
{
- TRACE_PATH=$(mktemp -d)
+ TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
SYSCALL_LIST="ppoll"
function test_epoll_pwait_concurrent()
{
- TRACE_PATH=$(mktemp -d)
+ TRACE_PATH=$(mktemp --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
SESSION_NAME="syscall_payload"
SYSCALL_LIST="epoll_ctl,epoll_pwait"
test_working_cases
test_timeout_cases
- test_big_pselect
+ test_pselect_invalid_fd
test_big_ppoll
test_ppoll_overflow
test_pselect_invalid_ptr