#!/bin/bash # # Copyright (C) 2016 Julien Desfossez # # SPDX-License-Identifier: LGPL-2.1-only TEST_DESC="Regenerate the statedump - Kernel tracing" CURDIR=$(dirname $0)/ TESTDIR=$CURDIR/../../.. EVENT_NAME="lttng_test_filter_event" SESSION_NAME="" EVENT_NAME="lttng_statedump_start,lttng_statedump_end" TRACE_PATH=$(mktemp -d) NUM_TESTS=11 source $TESTDIR/utils/utils.sh function test_kernel_local () { diag "Test kernel local with statedump regeneration" create_lttng_session_ok $SESSION_NAME $TRACE_PATH lttng_enable_kernel_event $SESSION_NAME $EVENT_NAME start_lttng_tracing_ok $SESSION_NAME echo -n "100" > /proc/lttng-test-filter-event regenerate_statedump_ok $SESSION_NAME stop_lttng_tracing_ok $SESSION_NAME validate_trace_count $EVENT_NAME $TRACE_PATH 4 if [ $? -eq 0 ]; then # Only delete if successful rm -rf $TRACE_PATH fi destroy_lttng_session_ok $SESSION_NAME } plan_tests $NUM_TESTS print_test_banner "$TEST_DESC" if [ "$(id -u)" == "0" ]; then isroot=1 else isroot=0 fi skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS || { validate_lttng_modules_present start_lttng_sessiond modprobe lttng-test tests=( test_kernel_local ) for fct_test in ${tests[@]}; do SESSION_NAME=$(randstring 16 0) ${fct_test} done rmmod lttng-test stop_lttng_sessiond }