Commit | Line | Data |
---|---|---|
26b53d3b DG |
1 | #!/bin/bash |
2 | # | |
3 | # Copyright (C) - 2012 David Goulet <dgoulet@efficios.com> | |
4 | # | |
5 | # This library is free software; you can redistribute it and/or modify it under | |
6 | # the terms of the GNU Lesser General Public License as published by the Free | |
7 | # Software Foundation; version 2.1 of the License. | |
8 | # | |
9 | # This library is distributed in the hope that it will be useful, but WITHOUT | |
10 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | |
11 | # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more | |
12 | # details. | |
13 | # | |
14 | # You should have received a copy of the GNU Lesser General Public License | |
15 | # along with this library; if not, write to the Free Software Foundation, Inc., | |
16 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |
17 | TEST_DESC="UST - Wildcard overlap" | |
18 | ||
19 | CURDIR=$(dirname $0)/ | |
20 | TESTDIR=$CURDIR/../.. | |
21 | SESSION_NAME="wildcard-overlap" | |
22 | ||
23 | DEMO_EVENT1="ust_tests_demo:starting" | |
24 | DEMO_EVENT1_2="ust_tests_demo:done" | |
25 | DEMO_EVENT2="ust_tests_demo2:loop" | |
26 | DEMO_EVENT3="ust_tests_demo3:done" | |
27 | ||
28 | NUM_DEMO1_EVENT=1 | |
29 | NUM_DEMO1_2_EVENT=1 | |
30 | NUM_DEMO2_EVENT=5 | |
31 | NUM_DEMO3_EVENT=1 | |
32 | ||
33 | source $TESTDIR/utils.sh | |
34 | ||
35 | print_test_banner "$TEST_DESC" | |
36 | ||
37 | if [ ! -x "$CURDIR/demo/demo" ]; then | |
38 | echo -e "No UST nevents binary detected. Passing." | |
39 | exit 0 | |
40 | fi | |
41 | ||
42 | # MUST set TESTDIR before calling those functions | |
43 | ||
44 | run_demo_app() | |
45 | { | |
f8014aa3 | 46 | cd $CURDIR/demo |
26b53d3b DG |
47 | |
48 | # Start test | |
49 | echo -n "Starting application... " | |
f8014aa3 | 50 | ./demo-trace >/dev/null 2>&1 |
26b53d3b DG |
51 | echo -n "Ended " |
52 | print_ok | |
53 | ||
f8014aa3 | 54 | cd - |
26b53d3b DG |
55 | } |
56 | ||
57 | # Ease our life a bit ;) | |
58 | trace_match_demo1_events() | |
59 | { | |
907b42de DG |
60 | trace_matches "$DEMO_EVENT1" $NUM_DEMO1_EVENT $TRACE_PATH |
61 | trace_matches "$DEMO_EVENT1_2" $NUM_DEMO1_EVENT $TRACE_PATH | |
26b53d3b DG |
62 | } |
63 | ||
64 | # Ease our life a bit ;) | |
65 | trace_match_all_demo_events() | |
66 | { | |
67 | trace_match_demo1_events | |
907b42de DG |
68 | trace_matches "$DEMO_EVENT2" $NUM_DEMO2_EVENT $TRACE_PATH |
69 | trace_matches "$DEMO_EVENT3" $NUM_DEMO3_EVENT $TRACE_PATH | |
26b53d3b DG |
70 | } |
71 | ||
72 | # Ease our life a bit ;) | |
73 | trace_match_no_demo_events() | |
74 | { | |
907b42de DG |
75 | trace_matches "$DEMO_EVENT1" 0 $TRACE_PATH |
76 | trace_matches "$DEMO_EVENT1_2" 0 $TRACE_PATH | |
77 | trace_matches "$DEMO_EVENT2" 0 $TRACE_PATH | |
78 | trace_matches "$DEMO_EVENT3" 0 $TRACE_PATH | |
26b53d3b DG |
79 | } |
80 | ||
81 | # Expect all "demo" events, no duplicate. | |
82 | test_enable_simple_wildcard() | |
83 | { | |
84 | local event_wild1="us*" | |
85 | local event_wild2="ust*" | |
86 | ||
87 | echo "" | |
88 | echo "=== Simple wildcard overlap" | |
89 | ||
907b42de DG |
90 | enable_ust_lttng_event $SESSION_NAME "$event_wild1" |
91 | enable_ust_lttng_event $SESSION_NAME "$event_wild2" | |
26b53d3b DG |
92 | |
93 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
94 | ||
95 | run_demo_app | |
96 | ||
97 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
98 | ||
99 | trace_match_all_demo_events | |
100 | ||
101 | return $? | |
102 | } | |
103 | ||
104 | # Expect all "demo" events, no duplicate. | |
105 | test_enable_wildcard_filter() | |
106 | { | |
107 | local event_wild1="us*" | |
108 | local event_wild2="ust*" | |
109 | ||
110 | echo "" | |
111 | echo "=== Wildcard overlap with filter" | |
112 | ||
907b42de DG |
113 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==1" |
114 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==0" | |
26b53d3b DG |
115 | |
116 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
117 | ||
118 | run_demo_app | |
119 | ||
120 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
121 | ||
122 | trace_match_all_demo_events | |
123 | return $? | |
124 | } | |
125 | ||
126 | # Expect all "demo" events, no duplicate. | |
127 | test_enable_wildcard_filter_2() | |
128 | { | |
129 | local event_wild1="us*" | |
130 | local event_wild2="ust*" | |
131 | ||
132 | echo "" | |
133 | echo "=== Wildcard overlap with filter 2" | |
134 | ||
907b42de DG |
135 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==0" |
136 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==1" | |
26b53d3b DG |
137 | |
138 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
139 | ||
140 | run_demo_app | |
141 | ||
142 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
143 | ||
144 | trace_match_all_demo_events | |
145 | return $? | |
146 | } | |
147 | ||
148 | # Expect all "demo" events, no duplicate. | |
149 | test_enable_wildcard_filter_3() | |
150 | { | |
151 | local event_wild1="us*" | |
152 | local event_wild2="ust*" | |
153 | ||
154 | echo "" | |
155 | echo "=== Wildcard overlap with filter 3" | |
156 | ||
907b42de DG |
157 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==1" |
158 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==1" | |
26b53d3b DG |
159 | |
160 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
161 | ||
162 | run_demo_app | |
163 | ||
164 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
165 | ||
166 | trace_match_all_demo_events | |
167 | return $? | |
168 | } | |
169 | ||
170 | # Expected: No events. | |
171 | test_enable_wildcard_filter_4() | |
172 | { | |
173 | local event_wild1="us*" | |
174 | local event_wild2="ust*" | |
175 | ||
176 | echo "" | |
177 | echo "=== Wildcard overlap with filter 4" | |
178 | ||
907b42de DG |
179 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==0" |
180 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==0" | |
26b53d3b DG |
181 | |
182 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
183 | ||
184 | run_demo_app | |
185 | ||
186 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
187 | ||
188 | trace_match_no_demo_events | |
189 | return $? | |
190 | } | |
191 | ||
192 | # Expect all "demo" events, no duplicate. | |
193 | test_enable_wildcard_filter_5() | |
194 | { | |
195 | local event_wild1="us*" | |
196 | local event_wild2="$DEMO_EVENT1" | |
197 | ||
198 | echo "" | |
199 | echo "=== Wildcard overlap with filter 5" | |
200 | ||
907b42de DG |
201 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==1" |
202 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==0" | |
26b53d3b DG |
203 | |
204 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
205 | ||
206 | run_demo_app | |
207 | ||
208 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
209 | ||
210 | trace_match_all_demo_events | |
211 | return $? | |
212 | } | |
213 | ||
214 | # Expect all $DEMO_EVENT1 events, no duplicate. | |
215 | test_enable_wildcard_filter_6() | |
216 | { | |
217 | local event_wild1="us*" | |
218 | local event_wild2="$DEMO_EVENT1" | |
219 | ||
220 | echo "" | |
221 | echo "=== Wildcard overlap with filter 6" | |
222 | ||
907b42de DG |
223 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==0" |
224 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==1" | |
26b53d3b DG |
225 | |
226 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
227 | ||
228 | run_demo_app | |
229 | ||
230 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
231 | ||
232 | trace_matches $DEMO_EVENT1 $NUM_DEMO1_EVENT $TRACE_PATH | |
233 | trace_matches $DEMO_EVENT1_2 0 $TRACE_PATH | |
234 | trace_matches $DEMO_EVENT2 0 $TRACE_PATH | |
235 | trace_matches $DEMO_EVENT3 0 $TRACE_PATH | |
236 | return $? | |
237 | } | |
238 | ||
239 | # Expect all events, no duplicate. | |
240 | test_enable_wildcard_filter_7() | |
241 | { | |
242 | local event_wild1="us*" | |
243 | local event_wild2="$DEMO_EVENT1" | |
244 | ||
245 | echo "" | |
246 | echo "=== Wildcard overlap with filter 7" | |
247 | ||
907b42de DG |
248 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==1" |
249 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==1" | |
26b53d3b DG |
250 | |
251 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
252 | ||
253 | run_demo_app | |
254 | ||
255 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
256 | ||
257 | trace_match_all_demo_events | |
258 | return $? | |
259 | } | |
260 | ||
261 | # Expected: No events. | |
262 | test_enable_wildcard_filter_8() | |
263 | { | |
264 | local event_wild1="us*" | |
265 | local event_wild2="$DEMO_EVENT1" | |
266 | ||
267 | echo "" | |
268 | echo "=== Wildcard overlap with filter 8" | |
269 | ||
907b42de DG |
270 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==0" |
271 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==0" | |
26b53d3b DG |
272 | |
273 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
274 | ||
275 | run_demo_app | |
276 | ||
277 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
278 | ||
279 | trace_match_no_demo_events | |
280 | return $? | |
281 | } | |
282 | ||
283 | # Expect all events. | |
284 | test_enable_same_wildcard_filter() | |
285 | { | |
286 | local event_wild1="ust*" | |
287 | local event_wild2="ust*" | |
288 | ||
289 | echo "" | |
290 | echo "=== Same wildcard overlap with filter" | |
291 | ||
907b42de DG |
292 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==1&&1==1" |
293 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==1" | |
26b53d3b DG |
294 | |
295 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
296 | ||
297 | run_demo_app | |
298 | ||
299 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
300 | ||
301 | trace_match_all_demo_events | |
302 | return $? | |
303 | } | |
304 | ||
305 | # Expect all events. | |
306 | test_enable_same_wildcard_filter_2() | |
307 | { | |
308 | local event_wild1="ust*" | |
309 | local event_wild2="ust*" | |
310 | ||
311 | echo "" | |
312 | echo "=== Same wildcard overlap with filter 2" | |
313 | ||
907b42de DG |
314 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==1" |
315 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==1" | |
f8014aa3 DG |
316 | if [ $? -eq 1 ]; then |
317 | echo -n "FAIL is normal. Same event with same filter is denied by the sessiond " | |
318 | print_ok | |
319 | else | |
320 | print_fail | |
321 | fi | |
26b53d3b DG |
322 | |
323 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
324 | ||
325 | run_demo_app | |
326 | ||
327 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
328 | ||
329 | trace_match_all_demo_events | |
330 | return $? | |
331 | } | |
332 | ||
333 | # Expect all events. | |
334 | test_enable_same_wildcard_filter_3() | |
335 | { | |
336 | local event_wild1="ust*" | |
337 | local event_wild2="ust*" | |
338 | ||
339 | echo "" | |
340 | echo "=== Same wildcard overlap with filter 3" | |
341 | ||
907b42de DG |
342 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==1" |
343 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==0" | |
26b53d3b DG |
344 | |
345 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
346 | ||
347 | run_demo_app | |
348 | ||
349 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
350 | ||
351 | trace_match_all_demo_events | |
352 | return $? | |
353 | } | |
354 | ||
355 | # Expected: No events. | |
356 | test_enable_same_wildcard_filter_4() | |
357 | { | |
358 | local event_wild1="ust*" | |
359 | local event_wild2="ust*" | |
360 | ||
361 | echo "" | |
362 | echo "=== Same wildcard overlap with filter 4" | |
363 | ||
907b42de DG |
364 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==0&&1==0" |
365 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==0" | |
26b53d3b DG |
366 | |
367 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
368 | ||
369 | run_demo_app | |
370 | ||
371 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
372 | ||
373 | trace_match_no_demo_events | |
374 | return $? | |
375 | } | |
376 | ||
377 | # Expected: Only $DEMO_EVENT1 | |
378 | test_enable_same_event_filter() | |
379 | { | |
380 | local event_wild1="$DEMO_EVENT1" | |
381 | local event_wild2="$DEMO_EVENT1" | |
382 | ||
383 | echo "" | |
384 | echo "=== Enable same event with filter." | |
385 | ||
907b42de DG |
386 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==1&&1==1" |
387 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==1" | |
26b53d3b DG |
388 | |
389 | disable_ust_lttng_event $SESSION_NAME "ust*" | |
390 | ||
391 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
392 | ||
393 | run_demo_app | |
394 | ||
395 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
396 | ||
397 | trace_matches $DEMO_EVENT1 $NUM_DEMO1_EVENT $TRACE_PATH | |
398 | trace_matches $DEMO_EVENT1_2 0 $TRACE_PATH | |
399 | trace_matches $DEMO_EVENT2 0 $TRACE_PATH | |
400 | trace_matches $DEMO_EVENT3 0 $TRACE_PATH | |
401 | return $? | |
402 | } | |
403 | ||
404 | # Expected: No events. | |
405 | test_disable_same_wildcard_filter() | |
406 | { | |
407 | local event_wild1="ust*" | |
408 | local event_wild2="ust*" | |
409 | ||
410 | echo "" | |
411 | echo "=== Disable same wildcard with filter." | |
412 | ||
907b42de DG |
413 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild1" "1==1&&1==1" |
414 | enable_ust_lttng_event_filter $SESSION_NAME "$event_wild2" "1==1" | |
26b53d3b DG |
415 | |
416 | disable_ust_lttng_event $SESSION_NAME "ust*" | |
417 | ||
418 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
419 | ||
420 | run_demo_app | |
421 | ||
422 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
423 | ||
424 | trace_match_no_demo_events | |
425 | return $? | |
426 | } | |
427 | ||
428 | # Expect no events | |
429 | test_enable_bad_wildcard() | |
430 | { | |
431 | # Invalid event | |
432 | local event_wild1="ust_tests_demo" | |
433 | local event_wild2="ust_tests_demo2" | |
434 | local event_wild3="ust_tests_demo3" | |
435 | ||
436 | echo "" | |
437 | echo "=== Enable bad wildcard" | |
438 | ||
907b42de DG |
439 | enable_ust_lttng_event $SESSION_NAME "$event_wild1" |
440 | enable_ust_lttng_event $SESSION_NAME "$event_wild2" | |
441 | enable_ust_lttng_event $SESSION_NAME "$event_wild3" | |
26b53d3b DG |
442 | |
443 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
444 | ||
445 | run_demo_app | |
446 | ||
447 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
448 | ||
449 | trace_match_no_demo_events | |
450 | return $? | |
451 | } | |
452 | ||
453 | # Expect all "demo" events, no duplicate. | |
454 | test_enable_simple_wildcard_2() | |
455 | { | |
456 | local event_wild1="us*" | |
457 | local event_wild2="$DEMO_EVENT1" | |
458 | ||
459 | echo "" | |
460 | echo "=== Simple wildcard 2" | |
461 | ||
907b42de DG |
462 | enable_ust_lttng_event $SESSION_NAME "$event_wild1" |
463 | enable_ust_lttng_event $SESSION_NAME "$event_wild2" | |
26b53d3b DG |
464 | |
465 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
466 | ||
467 | run_demo_app | |
468 | ||
469 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
470 | ||
471 | trace_match_all_demo_events | |
472 | return $? | |
473 | } | |
474 | ||
475 | # Expected: all CRIT events, + all warning events. | |
476 | test_enable_loglevel_overlap() | |
477 | { | |
478 | local event_wild1="us*" | |
479 | local event_wild2="ust*" | |
480 | ||
481 | echo "" | |
482 | echo "=== Enable loglevel overlap" | |
483 | ||
484 | enable_ust_lttng_event_loglevel $SESSION_NAME "$event_wild1" "TRACE_WARNING" | |
485 | enable_ust_lttng_event_loglevel $SESSION_NAME "$event_wild2" "TRACE_CRIT" | |
486 | ||
487 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
488 | ||
489 | run_demo_app | |
490 | ||
491 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
492 | ||
493 | trace_match_all_demo_events | |
494 | return $? | |
495 | } | |
496 | ||
497 | # Expected: all CRIT events, + all warning events. | |
498 | test_enable_loglevel_only_overlap() | |
499 | { | |
500 | local event_wild1="us*" | |
501 | local event_wild2="ust*" | |
502 | ||
503 | echo "" | |
504 | echo "=== Enable loglevel only overlap" | |
505 | ||
506 | enable_ust_lttng_event_loglevel $SESSION_NAME "$event_wild1" "TRACE_WARNING" | |
507 | enable_ust_lttng_event_loglevel_only $SESSION_NAME "$event_wild2" "TRACE_CRIT" | |
508 | ||
509 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
510 | ||
511 | run_demo_app | |
512 | ||
513 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
514 | ||
515 | trace_match_all_demo_events | |
516 | return $? | |
517 | } | |
518 | ||
519 | # Expected: all events | |
520 | test_enable_loglevel_overlap_2() | |
521 | { | |
522 | local event_wild1="us*" | |
523 | local event_wild2="$DEMO_EVENT2" | |
524 | ||
525 | echo "" | |
526 | echo "=== Enable loglevel overlap 2" | |
527 | ||
528 | enable_ust_lttng_event_loglevel $SESSION_NAME "$event_wild1" "TRACE_WARNING" | |
529 | enable_ust_lttng_event_loglevel $SESSION_NAME "$event_wild2" "TRACE_CRIT" | |
530 | ||
531 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
532 | ||
533 | run_demo_app | |
534 | ||
535 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
536 | ||
537 | trace_match_all_demo_events | |
538 | return $? | |
539 | } | |
540 | ||
541 | # Expected only ust_tests_demo* events. | |
542 | test_enable_same_wildcard_loglevels() | |
543 | { | |
544 | local event_wild1="ust*" | |
545 | local event_wild2="ust*" | |
546 | ||
547 | echo "" | |
548 | echo "=== Enable same wildcard with different loglevels" | |
549 | ||
550 | enable_ust_lttng_event_loglevel $SESSION_NAME "$event_wild1" "TRACE_CRIT" | |
551 | enable_ust_lttng_event_loglevel $SESSION_NAME "$event_wild2" "TRACE_WARNING" | |
552 | ||
553 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
554 | ||
555 | run_demo_app | |
556 | ||
557 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
558 | ||
559 | trace_match_all_demo_events | |
560 | return $? | |
561 | } | |
562 | ||
563 | # Expected only ust_tests_demo:starting events. | |
564 | test_enable_same_event_loglevels() | |
565 | { | |
566 | local event_wild1="$DEMO_EVENT1" | |
567 | local event_wild2="$DEMO_EVENT1" | |
568 | ||
569 | echo "" | |
570 | echo "=== Enable same event with different loglevels" | |
571 | ||
572 | enable_ust_lttng_event_loglevel $SESSION_NAME "$event_wild1" "TRACE_CRIT" | |
573 | enable_ust_lttng_event_loglevel $SESSION_NAME "$event_wild2" "TRACE_WARNING" | |
574 | ||
575 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
576 | ||
577 | run_demo_app | |
578 | ||
579 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
580 | ||
581 | trace_matches $DEMO_EVENT1 $NUM_DEMO1_EVENT $TRACE_PATH | |
582 | trace_matches $DEMO_EVENT1_2 0 $TRACE_PATH | |
583 | trace_matches $DEMO_EVENT2 0 $TRACE_PATH | |
584 | trace_matches $DEMO_EVENT3 0 $TRACE_PATH | |
585 | return $? | |
586 | } | |
587 | ||
588 | # Expect 0 event | |
589 | test_disable_simple_wildcard() | |
590 | { | |
591 | local event_wild1="us*" | |
592 | local event_wild2="$DEMO_EVENT1" | |
593 | ||
594 | echo "" | |
595 | echo "=== Disable simple wildcard" | |
596 | ||
907b42de DG |
597 | enable_ust_lttng_event $SESSION_NAME "$event_wild1" |
598 | enable_ust_lttng_event $SESSION_NAME "$event_wild2" | |
26b53d3b | 599 | |
907b42de DG |
600 | disable_ust_lttng_event $SESSION_NAME "$event_wild1" |
601 | disable_ust_lttng_event $SESSION_NAME "$event_wild2" | |
26b53d3b DG |
602 | |
603 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
604 | ||
605 | run_demo_app | |
606 | ||
607 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
608 | ||
609 | # No events are expected. | |
610 | trace_match_no_demo_events | |
611 | return $? | |
612 | } | |
613 | ||
614 | # Expect only "ust_tests_demo" events. | |
615 | test_disable_wildcard_overlap() | |
616 | { | |
617 | local event_wild1="us*" | |
618 | local event_wild2="$DEMO_EVENT1" | |
619 | ||
620 | echo "" | |
621 | echo "=== Disable wildcard overlap" | |
622 | ||
907b42de DG |
623 | enable_ust_lttng_event $SESSION_NAME "$event_wild1" |
624 | enable_ust_lttng_event $SESSION_NAME "$event_wild2" | |
26b53d3b | 625 | |
907b42de | 626 | disable_ust_lttng_event $SESSION_NAME "$event_wild1" |
26b53d3b DG |
627 | |
628 | start_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
629 | ||
630 | run_demo_app | |
631 | ||
632 | stop_lttng_tracing $SESSION_NAME >/dev/null 2>&1 | |
633 | ||
634 | # Expect only "ust_tests_demo" events. | |
907b42de DG |
635 | trace_matches "$DEMO_EVENT1" $NUM_DEMO1_EVENT $TRACE_PATH |
636 | trace_matches "$DEMO_EVENT1_2" 0 $TRACE_PATH | |
637 | trace_matches "$DEMO_EVENT2" 0 $TRACE_PATH | |
638 | trace_matches "$DEMO_EVENT3" 0 $TRACE_PATH | |
26b53d3b DG |
639 | return $? |
640 | } | |
641 | ||
642 | TESTS=( | |
643 | "test_enable_wildcard_filter" | |
644 | "test_enable_wildcard_filter_2" | |
645 | "test_enable_wildcard_filter_3" | |
646 | "test_enable_wildcard_filter_4" | |
647 | "test_enable_wildcard_filter_5" | |
648 | "test_enable_wildcard_filter_6" | |
649 | "test_enable_wildcard_filter_7" | |
650 | "test_enable_wildcard_filter_8" | |
651 | "test_enable_same_wildcard_filter" | |
652 | "test_enable_same_wildcard_filter_2" | |
653 | "test_enable_same_wildcard_filter_3" | |
654 | "test_enable_same_wildcard_filter_4" | |
655 | "test_enable_same_event_filter" | |
656 | "test_enable_loglevel_only_overlap" | |
657 | "test_enable_same_event_loglevels" | |
658 | "test_enable_same_wildcard_loglevels" | |
659 | "test_enable_bad_wildcard" | |
660 | "test_enable_loglevel_overlap_2" | |
661 | "test_enable_simple_wildcard" | |
662 | "test_enable_simple_wildcard_2" | |
663 | "test_enable_loglevel_overlap" | |
664 | "test_disable_simple_wildcard" | |
665 | "test_disable_wildcard_overlap" | |
666 | ) | |
667 | ||
668 | TEST_COUNT=${#TESTS[@]} | |
669 | i=0 | |
670 | ||
671 | start_lttng_sessiond | |
672 | ||
673 | while [ "$i" -lt "$TEST_COUNT" ]; do | |
674 | ||
675 | TRACE_PATH=$(mktemp -d) | |
676 | ||
677 | create_lttng_session $SESSION_NAME $TRACE_PATH >/dev/null 2>&1 | |
678 | ||
679 | # Execute test | |
680 | ${TESTS[$i]} | |
681 | if [ $? -ne 0 ]; then | |
682 | stop_lttng_sessiond | |
683 | exit 1 | |
684 | fi | |
685 | ||
686 | destroy_lttng_session $SESSION_NAME >/dev/null 2>&1 | |
687 | ||
688 | rm -rf $TRACE_PATH | |
689 | ||
690 | let "i++" | |
691 | done | |
692 | ||
693 | stop_lttng_sessiond |