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