#!/bin/bash # # Copyright (C) 2017 Jonathan Rajotte-Julien # # SPDX-License-Identifier: LGPL-2.1-only CURDIR=$(dirname "$0")/ TESTDIR=$CURDIR/../../../ TMPDIR=$(mktemp -d) TESTAPP_STATE_PATH=$(mktemp -u "$TMPDIR/application_state.XXXXXXXXXX") NUM_TESTS=104 # shellcheck source=../../../utils/utils.sh source "$TESTDIR/utils/utils.sh" # shellcheck source=./util_event_generator.sh source "$CURDIR/util_event_generator.sh" function test_kernel_syscall_notification { kernel_event_generator_run_once_per_transition generate_syscalls \ "$TESTAPP_STATE_PATH" 10 /proc/cpuinfo /proc/cmdline & APP_PID=$! # Pass the syscall_generator_file for filtering "$CURDIR/notification" 5 LTTNG_DOMAIN_KERNEL $APP_PID \ "$TESTAPP_STATE_PATH" kill -SIGUSR2 $APP_PID wait $APP_PID 2> /dev/null } if [ "$(id -u)" == "0" ]; then validate_lttng_modules_present start_lttng_sessiond_notap test_kernel_syscall_notification stop_lttng_sessiond_notap else # Kernel tests are skipped. plan_tests $NUM_TESTS skip 0 "Root access is needed. Skipping all kernel notification tests." $NUM_TESTS fi # Just in case cleanup rm -rf "$TMPDIR"