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