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 | |
c489057c | 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" | |
c489057c | 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= | |
c489057c FD |
33 | TOUCH_BEFORE_LAST_PATH= |
34 | SYNC_BEFORE_LAST_PATH= | |
ba5e8d0a MD |
35 | |
36 | source $TESTDIR/utils/utils.sh | |
37 | ||
c489057c 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 | { | |
8d5a3312 MJ |
43 | TOUCH_BEFORE_LAST_PATH=$(mktemp -u -t tmp.${FUNCNAME[0]}_touch_before_last.XXXXXX) |
44 | SYNC_BEFORE_LAST_PATH=$(mktemp -u -t tmp.${FUNCNAME[0]}_sync_before_last.XXXXXX) | |
c489057c FD |
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=$! |
c489057c 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 | ||
c489057c | 59 | # Generate the last event. |
ba5e8d0a MD |
60 | function trace_ust_app |
61 | { | |
c489057c 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." |
c489057c FD |
66 | rm "$SYNC_BEFORE_LAST_PATH" |
67 | rm "$TOUCH_BEFORE_LAST_PATH" | |
ba5e8d0a MD |
68 | } |
69 | ||
70 | function prepare_kernel_app | |
71 | { | |
8d5a3312 | 72 | WAIT_PATH=$(mktemp -u -t "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" | |
c489057c | 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 | ||
c489057c FD |
95 | diag "${FUNCNAME[0]} $*" |
96 | ||
8d5a3312 | 97 | trace_path=$(mktemp -d -t 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 | ||
c489057c FD |
136 | diag "${FUNCNAME[0]} $*" |
137 | ||
8d5a3312 | 138 | trace_path=$(mktemp -d -t 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 | ||
c489057c FD |
181 | diag "${FUNCNAME[0]} $*" |
182 | ||
8d5a3312 | 183 | trace_path=$(mktemp -d -t 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 | ||
c489057c FD |
226 | diag "${FUNCNAME[0]} $*" |
227 | ||
8d5a3312 | 228 | trace_path=$(mktemp -d -t 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 | ||
c489057c FD |
247 | diag "${FUNCNAME[0]} $*" |
248 | ||
8d5a3312 | 249 | trace_path=$(mktemp -d -t 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 | ||
c489057c FD |
289 | diag "${FUNCNAME[0]} $*" |
290 | ||
8d5a3312 | 291 | trace_path=$(mktemp -d -t 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 | ||
c489057c FD |
331 | diag "${FUNCNAME[0]} $*" |
332 | ||
8d5a3312 | 333 | trace_path=$(mktemp -d -t 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 | { | |
c489057c | 367 | diag "${FUNCNAME[0]} $*" |
14d3fca9 | 368 | |
8d5a3312 | 369 | local trace_path=$(mktemp -d -t 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 | ||
c125de8f FD |
398 | bail_out_if_no_babeltrace |
399 | ||
ba5e8d0a MD |
400 | start_lttng_sessiond |
401 | ||
402 | diag "Test UST tracker" | |
403 | ||
404 | if [ ! -x "$TESTAPP_BIN" ]; then | |
405 | BAIL_OUT "No UST nevents binary detected." | |
406 | fi | |
407 | ||
408 | EVENT_NAME="tp:tptest" | |
409 | ||
adce7589 FD |
410 | # Both ordering of tracker type and `--all` are valid. |
411 | test_event_track_untrack ust 0 "${EVENT_NAME}" "--vgid --all" | |
412 | test_event_track_untrack ust 0 "${EVENT_NAME}" "--all --vgid" | |
413 | ||
ba5e8d0a MD |
414 | #vuid, vgid |
415 | ||
416 | # non-matching | |
417 | test_event_tracker ust 0 "${EVENT_NAME}" "--vuid $((SCRIPT_UID+1))" | |
418 | test_event_tracker ust 0 "${EVENT_NAME}" "--vgid $((SCRIPT_GID+1))" | |
419 | test_event_tracker ust 0 "${EVENT_NAME}" "--vuid $((SCRIPT_UID+1)) --vgid $((SCRIPT_GID+1))" | |
420 | test_event_tracker ust 0 "${EVENT_NAME}" "--vuid $((SCRIPT_UID+1)) --vgid ${SCRIPT_GID}" | |
421 | test_event_tracker ust 0 "${EVENT_NAME}" "--vuid ${SCRIPT_UID} --vgid $((SCRIPT_GID+1))" | |
422 | test_event_track_untrack ust 0 "${EVENT_NAME}" "--vuid ${SCRIPT_UID}" | |
423 | test_event_track_untrack ust 0 "${EVENT_NAME}" "--vgid ${SCRIPT_GID}" | |
424 | test_event_track_untrack ust 0 "${EVENT_NAME}" "--vuid --all" | |
425 | test_event_track_untrack ust 0 "${EVENT_NAME}" "--vgid --all" | |
426 | ||
427 | # matching | |
428 | test_event_tracker ust 1 "${EVENT_NAME}" "--vuid ${SCRIPT_UID}" | |
429 | test_event_tracker ust 1 "${EVENT_NAME}" "--vgid ${SCRIPT_GID}" | |
430 | test_event_tracker ust 1 "${EVENT_NAME}" "--vuid ${SCRIPT_UID} --vgid ${SCRIPT_GID}" | |
431 | test_event_tracker ust 1 "${EVENT_NAME}" "--vuid ${SCRIPT_USERNAME}" | |
432 | test_event_tracker ust 1 "${EVENT_NAME}" "--vgid ${SCRIPT_GROUPNAME}" | |
433 | test_event_tracker ust 1 "${EVENT_NAME}" "--vuid ${SCRIPT_UID},$((SCRIPT_UID+1))" | |
434 | test_event_tracker ust 1 "${EVENT_NAME}" "--vgid ${SCRIPT_GID},$((SCRIPT_GID+1))" | |
435 | test_event_tracker ust 1 "${EVENT_NAME}" "--vuid ${SCRIPT_USERNAME},$((SCRIPT_UID+1))" | |
436 | test_event_tracker ust 1 "${EVENT_NAME}" "--vgid ${SCRIPT_GROUPNAME},$((SCRIPT_GID+1))" | |
437 | test_event_tracker ust 1 "${EVENT_NAME}" "--vuid --all" | |
438 | test_event_tracker ust 1 "${EVENT_NAME}" "--vgid --all" | |
439 | ||
440 | #fail | |
441 | test_event_tracker_fail ust "${EVENT_NAME}" "--vuid lttng_unexisting_user" | |
442 | test_event_tracker_fail ust "${EVENT_NAME}" "--vgid lttng_unexisting_group" | |
443 | ||
444 | ||
445 | #vpid | |
446 | ||
447 | #non-matching | |
448 | test_event_track_untrack ust 0 "${EVENT_NAME}" "--vpid --all" | |
449 | test_event_vpid_tracker ust 0 "${EVENT_NAME}" | |
450 | test_event_vpid_track_untrack ust 0 "${EVENT_NAME}" | |
451 | ||
452 | #matching | |
453 | test_event_tracker ust 1 "${EVENT_NAME}" "--vpid --all" | |
454 | test_event_vpid_tracker ust 1 "${EVENT_NAME}" | |
455 | ||
14d3fca9 JR |
456 | #snapshot untrack vpid |
457 | ||
458 | test_event_ust_vpid_untrack_snapshot | |
459 | ||
ba5e8d0a MD |
460 | #pid (backward compat) |
461 | ||
462 | #non-matching | |
463 | test_event_pid_tracker ust 0 "${EVENT_NAME}" | |
464 | test_event_pid_track_untrack ust 0 "${EVENT_NAME}" | |
465 | test_event_track_untrack ust 0 "${EVENT_NAME}" "--pid --all" # backward compat | |
466 | ||
467 | #matching | |
468 | test_event_tracker ust 1 "${EVENT_NAME}" "--pid --all" # backward compat | |
469 | test_event_pid_tracker ust 1 "${EVENT_NAME}" | |
470 | ||
471 | if [ "$(id -u)" == "0" ]; then | |
472 | isroot=1 | |
473 | else | |
474 | isroot=0 | |
475 | fi | |
476 | ||
477 | skip $isroot "Root access is needed. Skipping all kernel tracker tests." $NUM_KERNEL_TESTS || | |
478 | { | |
479 | diag "Test kernel tracker" | |
480 | ||
481 | modprobe lttng-test | |
482 | ok $? "Loading lttng-test module" | |
483 | ||
484 | EVENT_NAME="lttng_test_filter_event" | |
485 | ||
486 | # vuid, vgid, vpid | |
487 | ||
488 | # non-matching | |
489 | test_event_tracker kernel 0 "${EVENT_NAME}" "--vuid $((SCRIPT_UID+1))" | |
490 | test_event_tracker kernel 0 "${EVENT_NAME}" "--vgid $((SCRIPT_GID+1))" | |
491 | test_event_tracker kernel 0 "${EVENT_NAME}" "--vuid $((SCRIPT_UID+1)) --vgid $((SCRIPT_GID+1))" | |
492 | test_event_tracker kernel 0 "${EVENT_NAME}" "--vuid $((SCRIPT_UID+1)) --vgid ${SCRIPT_GID}" | |
493 | test_event_tracker kernel 0 "${EVENT_NAME}" "--vuid ${SCRIPT_UID} --vgid $((SCRIPT_GID+1))" | |
494 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--vuid ${SCRIPT_UID}" | |
495 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--vgid ${SCRIPT_GID}" | |
496 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--vuid --all" | |
497 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--vgid --all" | |
498 | ||
499 | # matching | |
500 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vuid ${SCRIPT_UID}" | |
501 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vgid ${SCRIPT_GID}" | |
502 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vuid ${SCRIPT_UID} --vgid ${SCRIPT_GID}" | |
503 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vuid ${SCRIPT_USERNAME}" | |
504 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vgid ${SCRIPT_GROUPNAME}" | |
505 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vuid ${SCRIPT_UID},$((SCRIPT_UID+1))" | |
506 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vgid ${SCRIPT_GID},$((SCRIPT_GID+1))" | |
507 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vuid ${SCRIPT_USERNAME},$((SCRIPT_UID+1))" | |
508 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vgid ${SCRIPT_GROUPNAME},$((SCRIPT_GID+1))" | |
509 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vuid --all" | |
510 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vgid --all" | |
511 | ||
512 | #fail | |
513 | test_event_tracker_fail kernel "${EVENT_NAME}" "--vuid lttng_unexisting_user" | |
514 | test_event_tracker_fail kernel "${EVENT_NAME}" "--vgid lttng_unexisting_group" | |
515 | ||
516 | ||
517 | #uid, gid | |
518 | ||
519 | # non-matching | |
520 | test_event_tracker kernel 0 "${EVENT_NAME}" "--uid $((SCRIPT_UID+1))" | |
521 | test_event_tracker kernel 0 "${EVENT_NAME}" "--gid $((SCRIPT_GID+1))" | |
522 | test_event_tracker kernel 0 "${EVENT_NAME}" "--uid $((SCRIPT_UID+1)) --gid $((SCRIPT_GID+1))" | |
523 | test_event_tracker kernel 0 "${EVENT_NAME}" "--uid $((SCRIPT_UID+1)) --gid ${SCRIPT_GID}" | |
524 | test_event_tracker kernel 0 "${EVENT_NAME}" "--uid ${SCRIPT_UID} --gid $((SCRIPT_GID+1))" | |
525 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--uid ${SCRIPT_UID}" | |
526 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--gid ${SCRIPT_GID}" | |
527 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--uid --all" | |
528 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--gid --all" | |
529 | ||
530 | # matching | |
531 | test_event_tracker kernel 1 "${EVENT_NAME}" "--uid ${SCRIPT_UID}" | |
532 | test_event_tracker kernel 1 "${EVENT_NAME}" "--gid ${SCRIPT_GID}" | |
533 | test_event_tracker kernel 1 "${EVENT_NAME}" "--uid ${SCRIPT_UID} --gid ${SCRIPT_GID}" | |
534 | test_event_tracker kernel 1 "${EVENT_NAME}" "--uid ${SCRIPT_USERNAME}" | |
535 | test_event_tracker kernel 1 "${EVENT_NAME}" "--gid ${SCRIPT_GROUPNAME}" | |
536 | test_event_tracker kernel 1 "${EVENT_NAME}" "--uid ${SCRIPT_UID},$((SCRIPT_UID+1))" | |
537 | test_event_tracker kernel 1 "${EVENT_NAME}" "--gid ${SCRIPT_GID},$((SCRIPT_GID+1))" | |
538 | test_event_tracker kernel 1 "${EVENT_NAME}" "--uid ${SCRIPT_USERNAME},$((SCRIPT_UID+1))" | |
539 | test_event_tracker kernel 1 "${EVENT_NAME}" "--gid ${SCRIPT_GROUPNAME},$((SCRIPT_GID+1))" | |
540 | ||
541 | #fail | |
542 | test_event_tracker_fail kernel "${EVENT_NAME}" "--uid lttng_unexisting_user" | |
543 | test_event_tracker_fail kernel "${EVENT_NAME}" "--gid lttng_unexisting_group" | |
544 | ||
545 | ||
546 | #vpid | |
547 | ||
548 | #non-matching | |
549 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--vpid --all" | |
550 | test_event_vpid_tracker kernel 0 "${EVENT_NAME}" | |
551 | test_event_vpid_track_untrack kernel 0 "${EVENT_NAME}" | |
552 | ||
553 | #matching | |
554 | test_event_tracker kernel 1 "${EVENT_NAME}" "--vpid --all" | |
555 | test_event_vpid_tracker kernel 1 "${EVENT_NAME}" | |
556 | ||
557 | #pid | |
558 | ||
559 | #non-matching | |
560 | test_event_pid_tracker kernel 0 "${EVENT_NAME}" | |
561 | test_event_pid_track_untrack kernel 0 "${EVENT_NAME}" | |
562 | test_event_track_untrack kernel 0 "${EVENT_NAME}" "--pid --all" | |
563 | ||
564 | #matching | |
565 | test_event_tracker kernel 1 "${EVENT_NAME}" "--pid --all" | |
566 | test_event_pid_tracker kernel 1 "${EVENT_NAME}" | |
567 | ||
d0e263e7 | 568 | modprobe --remove lttng-test |
ba5e8d0a MD |
569 | ok $? "Unloading lttng-test module" |
570 | } | |
571 | ||
572 | stop_lttng_sessiond |