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