File: test_event_basic

package info (click to toggle)
ltt-control 2.15.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 22,744 kB
  • sloc: cpp: 207,706; sh: 28,837; python: 18,952; ansic: 11,636; makefile: 3,362; java: 109; xml: 46
file content (91 lines) | stat: -rwxr-xr-x 2,718 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#!/bin/bash
#
# SPDX-FileCopyrightText: 2013 Christian Babeux <christian.babeux@efficios.com>
#
# SPDX-License-Identifier: GPL-2.0-only

TEST_DESC="UST tracer - Basic events"

CURDIR=$(dirname "$0")/
TESTDIR="$CURDIR/../.."

TESTAPP_PATH="$TESTDIR/utils/testapp"
TESTAPP_NAME="gen-ust-events"
TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME"

NR_ITER=5
NR_USEC_WAIT=1

NUM_TESTS=32

# shellcheck source-path=SCRIPTDIR/../..
source "$TESTDIR/utils/utils.sh"

function test_event_basic()
{
	local session_name="ust_event_basic"
	local session_name2="ust_event_basic2"
	local chan_name="mychan"
	local chan_name2="mychan2"
	local event_name="tp:tptest"
	local event_name2="ev2"
	local event_name3="ev3"
	local trace_path
	local file_testapp_output

	trace_path=$(mktemp -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX")
	file_testapp_output=$(mktemp -u -t "tmp.${FUNCNAME[0]}_testapp_output.XXXXXX")

	create_lttng_session_ok $session_name "$trace_path/$session_name"
	create_lttng_session_ok $session_name2 "$trace_path/$session_name2"

	enable_ust_lttng_channel_ok $session_name $chan_name
	enable_ust_lttng_channel_ok $session_name2 $chan_name2

	enable_ust_lttng_event_ok $session_name $event_name $chan_name
	enable_ust_lttng_event_ok $session_name $event_name2 $chan_name
	enable_ust_lttng_event_ok $session_name2 $event_name3 $chan_name2

	add_context_ust_ok $session_name $chan_name "vpid"
	add_context_ust_ok $session_name $chan_name "vtid"
	add_context_ust_ok $session_name $chan_name "pthread_id"
	add_context_ust_ok $session_name $chan_name "procname"
	add_context_ust_ok $session_name2 $chan_name2 "procname"

	disable_ust_lttng_event $session_name $event_name $chan_name
	disable_ust_lttng_event $session_name2 $event_name3 $chan_name2

	enable_ust_lttng_event_ok $session_name $event_name $chan_name
	enable_ust_lttng_event_ok $session_name2 $event_name3 $chan_name2

	start_lttng_tracing_ok $session_name
	start_lttng_tracing_ok $session_name
	run_testapp_ok "$file_testapp_output" "$TESTAPP_BIN" -i "$NR_ITER" -w "$NR_USEC_WAIT"
	stop_lttng_tracing_ok $session_name
	stop_lttng_tracing_ok $session_name2

	start_lttng_tracing_ok $session_name
	start_lttng_tracing_ok $session_name2
	run_testapp_ok "$file_testapp_output" "$TESTAPP_BIN" -i "$NR_ITER" -w "$NR_USEC_WAIT"
	stop_lttng_tracing_ok $session_name
	stop_lttng_tracing_ok $session_name2

	validate_trace_count $event_name "$trace_path" $(( NR_ITER * 2 ))

	destroy_lttng_session_ok $session_name2
	destroy_lttng_session_ok $session_name

	rm -rf "$trace_path"
	rm -f "$file_testapp_output"
}

# MUST set TESTDIR before calling those functions
plan_tests $NUM_TESTS

print_test_banner "$TEST_DESC"

start_lttng_sessiond

test_event_basic

stop_lttng_sessiond