Commit | Line | Data |
---|---|---|
ba5e8d0a MD |
1 | #!/bin/bash |
2 | # | |
9d16b343 MJ |
3 | # Copyright (C) 2013 Christian Babeux <christian.babeux@efficios.com> |
4 | # Copyright (C) 2015-2018 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | |
ba5e8d0a | 5 | # |
9d16b343 | 6 | # SPDX-License-Identifier: GPL-2.0-only |
ba5e8d0a | 7 | |
3d1994cf | 8 | TEST_DESC="LTTng - Event tracker test" |
ba5e8d0a MD |
9 | |
10 | CURDIR=$(dirname "$0")/ | |
11 | TESTDIR="$CURDIR/../../.." | |
12 | TESTAPP_PATH="$TESTDIR/utils/testapp" | |
13 | TESTAPP_NAME="gen-ust-events" | |
14 | TESTAPP_KERNEL_NAME="gen-kernel-test-events" | |
15 | TESTAPP_BIN="$TESTAPP_PATH/$TESTAPP_NAME/$TESTAPP_NAME" | |
16 | TESTAPP_KERNEL_BIN="$TESTAPP_PATH/$TESTAPP_KERNEL_NAME/$TESTAPP_KERNEL_NAME" | |
17 | SESSION_NAME="tracker" | |
3d1994cf | 18 | NR_ITER=1 |
ba5e8d0a | 19 | NUM_GLOBAL_TESTS=2 |
adce7589 | 20 | NUM_UST_TESTS=283 |
ba5e8d0a MD |
21 | NUM_KERNEL_TESTS=462 |
22 | NUM_TESTS=$((NUM_UST_TESTS+NUM_KERNEL_TESTS+NUM_GLOBAL_TESTS)) | |
23 | ||
24 | NR_USEC_WAIT=0 #for UST gen events | |
25 | ||
26 | SCRIPT_UID="$(id -u)" | |
27 | SCRIPT_GID="$(id -g)" | |
28 | SCRIPT_USERNAME="$(id -un)" | |
29 | SCRIPT_GROUPNAME="$(id -gn)" | |
30 | ||
31 | CHILD_PID=-1 | |
32 | WAIT_PATH= | |
3d1994cf FD |
33 | TOUCH_BEFORE_LAST_PATH= |
34 | SYNC_BEFORE_LAST_PATH= | |
ba5e8d0a MD |
35 | |
36 | source $TESTDIR/utils/utils.sh | |
37 | ||
3d1994cf FD |
38 | # Launch the testapp and execute it up until right before the last event. It is |
39 | # useful to do it in two seperate steps in order to test tracking and | |
40 | # untracking on an active app. | |
ba5e8d0a MD |
41 | function prepare_ust_app |
42 | { | |
3d1994cf FD |
43 | TOUCH_BEFORE_LAST_PATH=$(mktemp --tmpdir -u tmp.${FUNCNAME[0]}_touch_before_last.XXXXXX) |
44 | SYNC_BEFORE_LAST_PATH=$(mktemp --tmpdir -u tmp.${FUNCNAME[0]}_sync_before_last.XXXXXX) | |
45 | ||
46 | $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT \ | |
47 | --sync-before-last-event-touch "$TOUCH_BEFORE_LAST_PATH" \ | |
48 | --sync-before-last-event "$SYNC_BEFORE_LAST_PATH" & | |
ba5e8d0a | 49 | |
ba5e8d0a | 50 | CHILD_PID=$! |
3d1994cf FD |
51 | |
52 | # Wait for the app to execute all the way to right before the last | |
53 | # event. | |
54 | while [ ! -f "${TOUCH_BEFORE_LAST_PATH}" ]; do | |
55 | sleep 0.5 | |
56 | done | |
ba5e8d0a MD |
57 | } |
58 | ||
3d1994cf | 59 | # Generate the last event. |
ba5e8d0a MD |
60 | function trace_ust_app |
61 | { | |
3d1994cf FD |
62 | # Ask the test app to generate the last event. |
63 | touch "$SYNC_BEFORE_LAST_PATH" | |
64 | wait "$CHILD_PID" | |
ba5e8d0a | 65 | ok $? "Traced application stopped." |
3d1994cf FD |
66 | rm "$SYNC_BEFORE_LAST_PATH" |
67 | rm "$TOUCH_BEFORE_LAST_PATH" | |
ba5e8d0a MD |
68 | } |
69 | ||
70 | function prepare_kernel_app | |
71 | { | |
7539dcec | 72 | WAIT_PATH=$(mktemp --tmpdir -u "tmp.${FUNCNAME[0]}_wait_path.XXXXXX") |
ba5e8d0a MD |
73 | |
74 | "$TESTAPP_KERNEL_BIN" "$WAIT_PATH" $NR_ITER & | |
75 | CHILD_PID=$! | |
76 | } | |
77 | ||
78 | function trace_kernel_app | |
79 | { | |
80 | touch "$WAIT_PATH" | |
3d1994cf | 81 | wait "$CHILD_PID" |
ba5e8d0a MD |
82 | ok $? "Traced application stopped." |
83 | rm "$WAIT_PATH" | |
84 | } | |
85 | ||
86 | function test_event_tracker() | |
87 | { | |
88 | local trace_path | |
89 | local domain="$1" | |
90 | local expect_event="$2" | |
91 | local wildcard="$3" | |
92 | local tracker="$4" | |
93 | local channel='' | |
94 | ||
3d1994cf FD |
95 | diag "${FUNCNAME[0]} $*" |
96 | ||
7539dcec | 97 | trace_path=$(mktemp --tmpdir -d tmp.${FUNCNAME[0]}_trace_path.XXXXXX) |
ba5e8d0a MD |
98 | |
99 | create_lttng_session_ok $SESSION_NAME "$trace_path" | |
100 | ||
101 | if [ "$domain" = kernel ]; then | |
102 | channel=chan | |
103 | lttng_enable_kernel_channel 1 0 $SESSION_NAME $channel "--subbuf-size=8M --num-subbuf=4" | |
104 | fi | |
105 | ||
106 | enable_"$domain"_lttng_event_ok $SESSION_NAME "$wildcard" "$channel" | |
107 | ||
108 | start_lttng_tracing_ok | |
109 | ||
110 | lttng_track_"$domain"_ok "${tracker}" | |
111 | ||
112 | prepare_"$domain"_app | |
113 | ||
114 | trace_"$domain"_app | |
115 | ||
116 | stop_lttng_tracing_ok | |
117 | destroy_lttng_session_ok $SESSION_NAME | |
118 | ||
119 | if [ "$expect_event" -eq 1 ]; then | |
120 | trace_matches "$EVENT_NAME" $NR_ITER "$trace_path" | |
121 | else | |
122 | validate_trace_session_"$domain"_empty "$trace_path" | |
123 | fi | |
124 | ||
125 | rm -rf "$trace_path" | |
126 | } | |
127 | ||
128 | function test_event_vpid_tracker() | |
129 | { | |
130 | local trace_path | |
131 | local domain="$1" | |
132 | local expect_event="$2" | |
133 | local wildcard="$3" | |
134 | local channel='' | |
135 | ||
3d1994cf FD |
136 | diag "${FUNCNAME[0]} $*" |
137 | ||
7539dcec | 138 | trace_path=$(mktemp --tmpdir -d tmp.${FUNCNAME[0]}_trace_path.XXXXXX) |
ba5e8d0a MD |
139 | |
140 | create_lttng_session_ok $SESSION_NAME "$trace_path" | |
141 | ||
142 | if [ "$domain" = kernel ]; then | |
143 | channel=chan | |
144 | lttng_enable_kernel_channel 1 0 $SESSION_NAME $channel "--subbuf-size=8M --num-subbuf=4" | |
145 | fi | |
146 | ||
147 | enable_"$domain"_lttng_event_ok $SESSION_NAME "$wildcard" "$channel" | |
148 | ||
149 | prepare_"$domain"_app | |
150 | ||
151 | start_lttng_tracing_ok | |
152 | ||
153 | if [ "$expect_event" -eq 1 ]; then | |
154 | lttng_track_"$domain"_ok "--vpid ${CHILD_PID}" | |
155 | else | |
156 | lttng_track_"$domain"_ok "--vpid $((CHILD_PID+1))" | |
157 | fi | |
158 | ||
159 | trace_"$domain"_app | |
160 | ||
161 | stop_lttng_tracing_ok | |
162 | destroy_lttng_session_ok $SESSION_NAME | |
163 | ||
164 | if [ "$expect_event" -eq 1 ]; then | |
165 | validate_trace "$EVENT_NAME" "$trace_path" | |
166 | else | |
167 | validate_trace_empty "$trace_path" | |
168 | fi | |
169 | ||
170 | rm -rf "$trace_path" | |
171 | } | |
172 | ||
173 | function test_event_pid_tracker() | |
174 | { | |
175 | local trace_path | |
176 | local domain="$1" | |
177 | local expect_event="$2" | |
178 | local wildcard="$3" | |
179 | local channel='' | |
180 | ||
3d1994cf FD |
181 | diag "${FUNCNAME[0]} $*" |
182 | ||
7539dcec | 183 | trace_path=$(mktemp --tmpdir -d tmp.${FUNCNAME[0]}_trace_path.XXXXXX) |
ba5e8d0a MD |
184 | |
185 | create_lttng_session_ok $SESSION_NAME "$trace_path" | |
186 | ||
187 | if [ "$domain" = kernel ]; then | |
188 | channel=chan | |
189 | lttng_enable_kernel_channel 1 0 $SESSION_NAME $channel "--subbuf-size=8M --num-subbuf=4" | |
190 | fi | |
191 | ||
192 | enable_"$domain"_lttng_event_ok $SESSION_NAME "$wildcard" "$channel" | |
193 | ||
194 | prepare_"$domain"_app | |
195 | ||
196 | start_lttng_tracing_ok | |
197 | ||
198 | if [ "$expect_event" -eq 1 ]; then | |
199 | lttng_track_"$domain"_ok "--pid ${CHILD_PID}" | |
200 | else | |
201 | lttng_track_"$domain"_ok "--pid $((CHILD_PID+1))" | |
202 | fi | |
203 | ||
204 | trace_"$domain"_app | |
205 | ||
206 | stop_lttng_tracing_ok | |
207 | destroy_lttng_session_ok $SESSION_NAME | |
208 | ||
209 | if [ "$expect_event" -eq 1 ]; then | |
210 | validate_trace "$EVENT_NAME" "$trace_path" | |
211 | else | |
212 | validate_trace_empty "$trace_path" | |
213 | fi | |
214 | ||
215 | rm -rf "$trace_path" | |
216 | } | |
217 | ||
218 | ||
219 | function test_event_tracker_fail() | |
220 | { | |
221 | local trace_path | |
222 | local domain="$1" | |
223 | local wildcard="$2" | |
224 | local tracker="$3" | |
225 | ||
3d1994cf FD |
226 | diag "${FUNCNAME[0]} $*" |
227 | ||
7539dcec | 228 | trace_path=$(mktemp --tmpdir -d tmp.${FUNCNAME[0]}_trace_path.XXXXXX) |
ba5e8d0a MD |
229 | |
230 | create_lttng_session_ok $SESSION_NAME "$trace_path" | |
231 | enable_"$domain"_lttng_event_ok $SESSION_NAME "$wildcard" | |
232 | lttng_track_"$domain"_fail "${tracker}" | |
233 | destroy_lttng_session_ok $SESSION_NAME | |
234 | ||
235 | rm -rf "$trace_path" | |
236 | } | |
237 | ||
238 | function test_event_track_untrack() | |
239 | { | |
240 | local trace_path | |
241 | local domain="$1" | |
242 | local expect_event="$2" | |
243 | local wildcard="$3" | |
244 | local tracker="$4" | |
245 | local channel='' | |
246 | ||
3d1994cf FD |
247 | diag "${FUNCNAME[0]} $*" |
248 | ||
7539dcec | 249 | trace_path=$(mktemp --tmpdir -d tmp.${FUNCNAME[0]}_trace_path.XXXXXX) |
ba5e8d0a MD |
250 | |
251 | create_lttng_session_ok $SESSION_NAME "$trace_path" | |
252 | ||
253 | if [ "$domain" = kernel ]; then | |
254 | channel=chan | |
255 | lttng_enable_kernel_channel 1 0 $SESSION_NAME $channel "--subbuf-size=8M --num-subbuf=4" | |
256 | fi | |
257 | ||
258 | enable_"$domain"_lttng_event_ok $SESSION_NAME "$wildcard" "$channel" | |
259 | ||
260 | start_lttng_tracing_ok | |
261 | ||
262 | lttng_track_"$domain"_ok "${tracker}" | |
263 | lttng_untrack_"$domain"_ok "${tracker}" | |
264 | ||
265 | prepare_"$domain"_app | |
266 | ||
267 | trace_"$domain"_app | |
268 | ||
269 | stop_lttng_tracing_ok | |
270 | destroy_lttng_session_ok $SESSION_NAME | |
271 | ||
272 | if [ "$expect_event" -eq 1 ]; then | |
273 | trace_matches "$EVENT_NAME" $NR_ITER "$trace_path" | |
274 | else | |
275 | validate_trace_session_"$domain"_empty "$trace_path" | |
276 | fi | |
277 | ||
278 | rm -rf "$trace_path" | |
279 | } | |
280 | ||
281 | function test_event_vpid_track_untrack() | |
282 | { | |
283 | local trace_path | |
284 | local domain="$1" | |
285 | local expect_event="$2" | |
286 | local wildcard="$3" | |
287 | local channel='' | |
288 | ||
3d1994cf FD |
289 | diag "${FUNCNAME[0]} $*" |
290 | ||
7539dcec | 291 | trace_path=$(mktemp --tmpdir -d tmp.${FUNCNAME[0]}_trace_path.XXXXXX) |
ba5e8d0a MD |
292 | |
293 | create_lttng_session_ok $SESSION_NAME "$trace_path" | |
294 | ||
295 | if [ "$domain" = kernel ]; then | |
296 | channel=chan | |
297 | lttng_enable_kernel_channel 1 0 $SESSION_NAME $channel "--subbuf-size=8M --num-subbuf=4" | |
298 | fi | |
299 | ||
300 | enable_"$domain"_lttng_event_ok $SESSION_NAME "$wildcard" "$channel" | |
301 | ||
302 | prepare_"$domain"_app | |
303 | ||
304 | start_lttng_tracing_ok | |
305 | ||
306 | lttng_track_"$domain"_ok "--vpid ${CHILD_PID}" | |
307 | lttng_untrack_"$domain"_ok "--vpid ${CHILD_PID}" | |
308 | ||
309 | trace_"$domain"_app | |
310 | ||
311 | stop_lttng_tracing_ok | |
312 | destroy_lttng_session_ok $SESSION_NAME | |
313 | ||
314 | if [ "$expect_event" -eq 1 ]; then | |
315 | validate_trace "$EVENT_NAME" "$trace_path" | |
316 | else | |
317 | validate_trace_empty "$trace_path" | |
318 | fi | |
319 | ||
320 | rm -rf "$trace_path" | |
321 | } | |
322 | ||
323 | function test_event_pid_track_untrack() | |
324 | { | |
325 | local trace_path | |
326 | local domain="$1" | |
327 | local expect_event="$2" | |
328 | local wildcard="$3" | |
329 | local channel='' | |
330 | ||
3d1994cf FD |
331 | diag "${FUNCNAME[0]} $*" |
332 | ||
7539dcec | 333 | trace_path=$(mktemp --tmpdir -d tmp.${FUNCNAME[0]}_trace_path.XXXXXX) |
ba5e8d0a MD |
334 | |
335 | create_lttng_session_ok $SESSION_NAME "$trace_path" | |
336 | ||
337 | if [ "$domain" = kernel ]; then | |
338 | channel=chan | |
339 | lttng_enable_kernel_channel 1 0 $SESSION_NAME $channel "--subbuf-size=8M --num-subbuf=4" | |
340 | fi | |
341 | ||
342 | enable_"$domain"_lttng_event_ok $SESSION_NAME "$wildcard" "$channel" | |
343 | ||
344 | prepare_"$domain"_app | |
345 | ||
346 | start_lttng_tracing_ok | |
347 | ||
348 | lttng_track_"$domain"_ok "--pid ${CHILD_PID}" | |
349 | lttng_untrack_"$domain"_ok "--pid ${CHILD_PID}" | |
350 | ||
351 | trace_"$domain"_app | |
352 | ||
353 | stop_lttng_tracing_ok | |
354 | destroy_lttng_session_ok $SESSION_NAME | |
355 | ||
356 | if [ "$expect_event" -eq 1 ]; then | |
357 | validate_trace "$EVENT_NAME" "$trace_path" | |
358 | else | |
359 | validate_trace_empty "$trace_path" | |
360 | fi | |
361 | ||
362 | rm -rf "$trace_path" | |
363 | } | |
364 | ||
14d3fca9 JR |
365 | function test_event_ust_vpid_untrack_snapshot() |
366 | { | |
3d1994cf | 367 | diag "${FUNCNAME[0]} $*" |
14d3fca9 | 368 | |
3d1994cf | 369 | local trace_path=$(mktemp --tmpdir -d tmp.${FUNCNAME[0]}_trace_path.XXXXXX) |
14d3fca9 JR |
370 | |
371 | create_lttng_session_ok $SESSION_NAME "$trace_path" "--snapshot" | |
372 | ||
373 | enable_ust_lttng_event_ok $SESSION_NAME "$EVENT_NAME" | |
374 | ||
375 | prepare_ust_app | |
376 | ||
377 | lttng_untrack_ust_ok "--vpid --all" | |
378 | ||
379 | start_lttng_tracing_ok | |
380 | ||
381 | trace_ust_app | |
382 | lttng_snapshot_record $SESSION_NAME | |
383 | ||
384 | stop_lttng_tracing_ok | |
385 | destroy_lttng_session_ok $SESSION_NAME | |
386 | ||
387 | snapshot_count=$(find "$trace_path" -name metadata | wc -l) | |
388 | is "$snapshot_count" 0 "Number of snapshot is zero" | |
389 | ||
390 | rm -rf "$trace_path" | |
391 | } | |
392 | ||
ba5e8d0a MD |
393 | # MUST set TESTDIR before calling those functions |
394 | plan_tests $NUM_TESTS | |
395 | ||
396 | print_test_banner "$TEST_DESC" | |
397 | ||
398 | start_lttng_sessiond | |
399 | ||
400 | diag "Test UST tracker" | |
401 | ||
402 | if [ ! -x "$TESTAPP_BIN" ]; then | |
403 | BAIL_OUT "No UST nevents binary detected." | |
404 | fi | |
405 | ||
406 | EVENT_NAME="tp:tptest" | |
407 | ||
adce7589 FD |
408 | # Both ordering of tracker type and `--all` are valid. |
409 | test_event_track_untrack ust 0 "${EVENT_NAME}" "--vgid --all" | |
410 | test_event_track_untrack ust 0 "${EVENT_NAME}" "--all --vgid" | |
411 | ||
ba5e8d0a MD |
412 | #vuid, vgid |
413 | ||
414 | # non-matching | |
415 | test_event_tracker ust 0 "${EVENT_NAME}" "--vuid $((SCRIPT_UID+1))" | |
416 | test_event_tracker ust 0 "${EVENT_NAME}" "--vgid $((SCRIPT_GID+1))" | |
417 | test_event_tracker ust 0 "${EVENT_NAME}" "--vuid $((SCRIPT_UID+1)) --vgid $((SCRIPT_GID+1))" | |
418 | test_event_tracker ust 0 "${EVENT_NAME}" "--vuid $((SCRIPT_UID+1)) --vgid ${SCRIPT_GID}" | |
419 | test_event_tracker ust 0 "${EVENT_NAME}" "--vuid ${SCRIPT_UID} --vgid $((SCRIPT_GID+1))" | |
420 | test_event_track_untrack ust 0 "${EVENT_NAME}" "--vuid ${SCRIPT_UID}" | |
421 | test_event_track_untrack ust 0 "${EVENT_NAME}" "--vgid ${SCRIPT_GID}" | |
422 | test_event_track_untrack ust 0 "${EVENT_NAME}" "--vuid --all" | |
423 | test_event_track_untrack ust 0 "${EVENT_NAME}" "--vgid --all" | |
424 | ||
425 | # matching | |
426 | test_event_tracker ust 1 "${EVENT_NAME}" "--vuid ${SCRIPT_UID}" | |
427 | test_event_tracker ust 1 "${EVENT_NAME}" "--vgid ${SCRIPT_GID}" | |
428 | test_event_tracker ust 1 "${EVENT_NAME}" "--vuid ${SCRIPT_UID} --vgid ${SCRIPT_GID}" | |
429 | test_event_tracker ust 1 "${EVENT_NAME}" "--vuid ${SCRIPT_USERNAME}" | |
430 | test_event_tracker ust 1 "${EVENT_NAME}" "--vgid ${SCRIPT_GROUPNAME}" | |
431 | test_event_tracker ust 1 "${EVENT_NAME}" "--vuid ${SCRIPT_UID},$((SCRIPT_UID+1))" | |
432 | test_event_tracker ust 1 "${EVENT_NAME}" "--vgid ${SCRIPT_GID},$((SCRIPT_GID+1))" | |
433 | test_event_tracker ust 1 "${EVENT_NAME}" "--vuid ${SCRIPT_USERNAME},$((SCRIPT_UID+1))" | |
434 | test_event_tracker ust 1 "${EVENT_NAME}" "--vgid ${SCRIPT_GROUPNAME},$((SCRIPT_GID+1))" | |
435 | test_event_tracker ust 1 "${EVENT_NAME}" "--vuid --all" | |
436 | test_event_tracker ust 1 "${EVENT_NAME}" "--vgid --all" | |
437 | ||
438 | #fail | |
439 | test_event_tracker_fail ust "${EVENT_NAME}" "--vuid lttng_unexisting_user" | |
440 | test_event_tracker_fail ust "${EVENT_NAME}" "--vgid lttng_unexisting_group" | |
441 | ||
442 | ||
443 | #vpid | |
444 | ||
445 | #non-matching | |
446 | test_event_track_untrack ust 0 "${EVENT_NAME}" "--vpid --all" | |
447 | test_event_vpid_tracker ust 0 "${EVENT_NAME}" | |
448 | test_event_vpid_track_untrack ust 0 "${EVENT_NAME}" | |
449 | ||
450 | #matching | |
451 | test_event_tracker ust 1 "${EVENT_NAME}" "--vpid --all" | |
452 | test_event_vpid_tracker ust 1 "${EVENT_NAME}" | |
453 | ||
14d3fca9 JR |
454 | #snapshot untrack vpid |
455 | ||
456 | test_event_ust_vpid_untrack_snapshot | |
457 | ||
ba5e8d0a MD |
458 | #pid (backward compat) |
459 | ||
460 | #non-matching | |
461 | test_event_pid_tracker ust 0 "${EVENT_NAME}" | |
462 | test_event_pid_track_untrack ust 0 "${EVENT_NAME}" | |
463 | test_event_track_untrack ust 0 "${EVENT_NAME}" "--pid --all" # backward compat | |
464 | ||
465 | #matching | |
466 | test_event_tracker ust 1 "${EVENT_NAME}" "--pid --all" # backward compat | |
467 | test_event_pid_tracker ust 1 "${EVENT_NAME}" | |
468 | ||
469 | if [ "$(id -u)" == "0" ]; then | |
470 | isroot=1 | |
471 | else | |
472 | isroot=0 | |
473 | fi | |
474 | ||
475 | skip $isroot "Root access is needed. Skipping all kernel tracker tests." $NUM_KERNEL_TESTS || | |
476 | { | |
477 | diag "Test kernel tracker" | |
478 | ||
479 | modprobe lttng-test | |
480 | ok $? "Loading lttng-test module" | |
481 | ||
482 | EVENT_NAME="lttng_test_filter_event" | |
483 | ||
484 | # vuid, vgid, vpid | |
485 | ||
486 | # non-matching | |
487 | test_event_tracker kernel 0 "${EVENT_NAME}" "--vuid $((SCRIPT_UID+1))" | |
488 | test_event_tracker kernel 0 "${EVENT_NAME}" "--vgid $((SCRIPT_GID+1))" | |
489 | test_event_tracker kernel 0 "${EVENT_NAME}" "--vuid $((SCRIPT_UID+1)) --vgid $((SCRIPT_GID+1))" | |
490 | test_event_tracker kernel 0 "${EVENT_NAME}" "--vuid $((SCRIPT_UID+1)) --vgid ${SCRIPT_GID}" | |
491 | test_event_tracker kernel 0 "${EVENT_NAME}" "--vuid ${SCRIPT_UID} --vgid $((SCRIPT_GID+1))" | |
492 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--vuid ${SCRIPT_UID}" | |
493 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--vgid ${SCRIPT_GID}" | |
494 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--vuid --all" | |
495 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--vgid --all" | |
496 | ||
497 | # matching | |
498 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vuid ${SCRIPT_UID}" | |
499 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vgid ${SCRIPT_GID}" | |
500 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vuid ${SCRIPT_UID} --vgid ${SCRIPT_GID}" | |
501 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vuid ${SCRIPT_USERNAME}" | |
502 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vgid ${SCRIPT_GROUPNAME}" | |
503 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vuid ${SCRIPT_UID},$((SCRIPT_UID+1))" | |
504 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vgid ${SCRIPT_GID},$((SCRIPT_GID+1))" | |
505 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vuid ${SCRIPT_USERNAME},$((SCRIPT_UID+1))" | |
506 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vgid ${SCRIPT_GROUPNAME},$((SCRIPT_GID+1))" | |
507 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vuid --all" | |
508 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vgid --all" | |
509 | ||
510 | #fail | |
511 | test_event_tracker_fail kernel "${EVENT_NAME}" "--vuid lttng_unexisting_user" | |
512 | test_event_tracker_fail kernel "${EVENT_NAME}" "--vgid lttng_unexisting_group" | |
513 | ||
514 | ||
515 | #uid, gid | |
516 | ||
517 | # non-matching | |
518 | test_event_tracker kernel 0 "${EVENT_NAME}" "--uid $((SCRIPT_UID+1))" | |
519 | test_event_tracker kernel 0 "${EVENT_NAME}" "--gid $((SCRIPT_GID+1))" | |
520 | test_event_tracker kernel 0 "${EVENT_NAME}" "--uid $((SCRIPT_UID+1)) --gid $((SCRIPT_GID+1))" | |
521 | test_event_tracker kernel 0 "${EVENT_NAME}" "--uid $((SCRIPT_UID+1)) --gid ${SCRIPT_GID}" | |
522 | test_event_tracker kernel 0 "${EVENT_NAME}" "--uid ${SCRIPT_UID} --gid $((SCRIPT_GID+1))" | |
523 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--uid ${SCRIPT_UID}" | |
524 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--gid ${SCRIPT_GID}" | |
525 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--uid --all" | |
526 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--gid --all" | |
527 | ||
528 | # matching | |
529 | test_event_tracker kernel 1 "${EVENT_NAME}" "--uid ${SCRIPT_UID}" | |
530 | test_event_tracker kernel 1 "${EVENT_NAME}" "--gid ${SCRIPT_GID}" | |
531 | test_event_tracker kernel 1 "${EVENT_NAME}" "--uid ${SCRIPT_UID} --gid ${SCRIPT_GID}" | |
532 | test_event_tracker kernel 1 "${EVENT_NAME}" "--uid ${SCRIPT_USERNAME}" | |
533 | test_event_tracker kernel 1 "${EVENT_NAME}" "--gid ${SCRIPT_GROUPNAME}" | |
534 | test_event_tracker kernel 1 "${EVENT_NAME}" "--uid ${SCRIPT_UID},$((SCRIPT_UID+1))" | |
535 | test_event_tracker kernel 1 "${EVENT_NAME}" "--gid ${SCRIPT_GID},$((SCRIPT_GID+1))" | |
536 | test_event_tracker kernel 1 "${EVENT_NAME}" "--uid ${SCRIPT_USERNAME},$((SCRIPT_UID+1))" | |
537 | test_event_tracker kernel 1 "${EVENT_NAME}" "--gid ${SCRIPT_GROUPNAME},$((SCRIPT_GID+1))" | |
538 | ||
539 | #fail | |
540 | test_event_tracker_fail kernel "${EVENT_NAME}" "--uid lttng_unexisting_user" | |
541 | test_event_tracker_fail kernel "${EVENT_NAME}" "--gid lttng_unexisting_group" | |
542 | ||
543 | ||
544 | #vpid | |
545 | ||
546 | #non-matching | |
547 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--vpid --all" | |
548 | test_event_vpid_tracker kernel 0 "${EVENT_NAME}" | |
549 | test_event_vpid_track_untrack kernel 0 "${EVENT_NAME}" | |
550 | ||
551 | #matching | |
552 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vpid --all" | |
553 | test_event_vpid_tracker kernel 1 "${EVENT_NAME}" | |
554 | ||
555 | #pid | |
556 | ||
557 | #non-matching | |
558 | test_event_pid_tracker kernel 0 "${EVENT_NAME}" | |
559 | test_event_pid_track_untrack kernel 0 "${EVENT_NAME}" | |
560 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--pid --all" | |
561 | ||
562 | #matching | |
563 | test_event_tracker kernel 1 "${EVENT_NAME}" "--pid --all" | |
564 | test_event_pid_tracker kernel 1 "${EVENT_NAME}" | |
565 | ||
d0e263e7 | 566 | modprobe --remove lttng-test |
ba5e8d0a MD |
567 | ok $? "Unloading lttng-test module" |
568 | } | |
569 | ||
570 | stop_lttng_sessiond |