3 # Copyright (C) - 2015 Philippe Proulx <pproulx@efficios.com>
4 # Copyright (C) - 2014 David Goulet <dgoulet@efficios.com>
6 # This program is free software; you can redistribute it and/or modify it under
7 # the terms of the GNU General Public License, version 2 only, as published by
8 # the Free Software Foundation.
10 # This program is distributed in the hope that it will be useful, but WITHOUT
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12 # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
15 # You should have received a copy of the GNU General Public License along with
16 # this program; if not, write to the Free Software Foundation, Inc., 51
17 # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 TEST_DESC
="Python support"
22 TESTDIR
=$CURDIR/..
/..
/..
26 TESTAPP_BIN
="$TESTAPP_NAME.py"
27 TESTAPP_PATH
="@abs_top_srcdir@/tests/regression/ust/python-logging"
28 SESSION_NAME
="python-test"
29 EVENT_NAME
="python-ev-test1"
30 EVENT_NAME2
="python-ev-test2"
31 OUTPUT_DEST
="/dev/null"
33 python_versions
=(@PYTHON2_AGENT@ @PYTHON3_AGENT@
)
34 run_test
=@RUN_PYTHON_AGENT_TEST@
36 if [[ -z "$run_test" ]]; then
39 NUM_TESTS
=$
(((194 * ${#python_versions[@]})+2))
42 source $TESTDIR/utils
/utils.sh
48 local fire_second_tp
=$3
50 $python $TESTAPP_PATH/$TESTAPP_BIN $NR_ITER $NR_SEC_WAIT $debug_tp $fire_second_tp
53 function run_app_background
58 function enable_python_loglevel_only
()
65 if [ -z $channel_name ]; then
66 # default channel if none specified
69 chan
="-c $channel_name"
72 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-event
--loglevel-only $loglevel "$event_name" $chan -s $sess_name -p >$OUTPUT_DEST
73 ok $?
"Enable Python event $event_name for session $sess_name with loglevel-only $loglevel"
76 function enable_python_filter
()
82 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-event
"$event_name" -s $sess_name -p --filter "$filter" >$OUTPUT_DEST
83 ok $?
"Enable event $event_name with filter $filter for session $sess_name"
86 function enable_python_filter_loglevel_only
()
93 $TESTDIR/..
/src
/bin
/lttng
/$LTTNG_BIN enable-event
--loglevel-only $loglevel "$event_name" -s $sess_name -p --filter "$filter" >$OUTPUT_DEST
94 ok $?
"Enable event $event_name with filter \"$filter\" and loglevel-only $loglevel for session $sess_name"
97 # MUST set TESTDIR before calling those functions
99 function test_python_before_start
()
101 diag
"Test Python application BEFORE tracing starts"
102 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
103 enable_python_lttng_event
$SESSION_NAME $EVENT_NAME
105 # Run 5 times with a 1 second delay
106 run_app_background
$1
108 start_lttng_tracing_ok
$SESSION_NAME
110 # Wait for the applications started in background
113 stop_lttng_tracing_ok
$SESSION_NAME
114 destroy_lttng_session_ok
$SESSION_NAME
116 # Validate test. Expecting all events.
117 trace_match_only
$EVENT_NAME $NR_ITER $TRACE_PATH
118 if [ $?
-ne 0 ]; then
123 function test_python_after_start
()
125 diag
"Test Python application AFTER tracing starts"
127 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
128 enable_python_lttng_event
$SESSION_NAME $EVENT_NAME
129 start_lttng_tracing_ok
$SESSION_NAME
131 # Run 5 times with a 1 second delay
134 stop_lttng_tracing_ok
$SESSION_NAME
135 destroy_lttng_session_ok
$SESSION_NAME
137 # Validate test. Expecting all events.
138 trace_match_only
$EVENT_NAME $NR_ITER $TRACE_PATH
139 if [ $?
-ne 0 ]; then
144 function test_python_loglevel
()
146 diag
"Test Python application with loglevel"
148 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
149 enable_python_lttng_event_loglevel
$SESSION_NAME $EVENT_NAME "INFO"
150 start_lttng_tracing_ok
$SESSION_NAME
152 # Run 5 times with a 1 second delay
155 stop_lttng_tracing_ok
$SESSION_NAME
156 destroy_lttng_session_ok
$SESSION_NAME
158 # Validate test. Expecting all events.
159 trace_match_only
$EVENT_NAME $NR_ITER $TRACE_PATH
160 if [ $?
-ne 0 ]; then
164 diag
"Test Python applications with lower loglevel"
166 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
167 enable_python_lttng_event_loglevel
$SESSION_NAME $EVENT_NAME "CRITICAL"
168 start_lttng_tracing_ok
$SESSION_NAME
170 # Run 5 times with a 1 second delay
173 stop_lttng_tracing_ok
$SESSION_NAME
174 destroy_lttng_session_ok
$SESSION_NAME
176 # Validate test. Expecting 0 events.
177 trace_match_only
$EVENT_NAME 0 $TRACE_PATH
178 if [ $?
-ne 0 ]; then
182 diag
"Test Python applications with higher loglevel"
184 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
185 enable_python_lttng_event_loglevel
$SESSION_NAME $EVENT_NAME "DEBUG"
186 start_lttng_tracing_ok
$SESSION_NAME
188 # Run 5 times with a 1 second delay
191 stop_lttng_tracing_ok
$SESSION_NAME
192 destroy_lttng_session_ok
$SESSION_NAME
194 # Validate test. Expecting all events.
195 trace_match_only
$EVENT_NAME $NR_ITER $TRACE_PATH
199 function test_python_loglevel_multiple
()
201 diag
"Test Python application with multiple loglevel"
203 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
204 enable_python_lttng_event_loglevel
$SESSION_NAME $EVENT_NAME "INFO"
205 enable_python_lttng_event_loglevel
$SESSION_NAME $EVENT_NAME "DEBUG"
206 start_lttng_tracing_ok
$SESSION_NAME
208 # Run 5 times with a 1 second delay and fire two TP.
211 stop_lttng_tracing_ok
$SESSION_NAME
212 destroy_lttng_session_ok
$SESSION_NAME
214 # Validate test. Expecting all events times two.
215 trace_match_only
$EVENT_NAME $
(($NR_ITER * 2)) $TRACE_PATH
216 if [ $?
-ne 0 ]; then
220 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH
221 enable_python_lttng_event_loglevel
$SESSION_NAME '*' "INFO"
222 enable_python_lttng_event_loglevel
$SESSION_NAME '*' "DEBUG"
223 start_lttng_tracing_ok
$SESSION_NAME
225 # Run 5 times with a 1 second delay and fire two TP.
228 stop_lttng_tracing_ok
$SESSION_NAME
229 destroy_lttng_session_ok
$SESSION_NAME
231 # Validate test. Expecting all events times two.
232 trace_match_only
$EVENT_NAME $
(($NR_ITER * 2)) $TRACE_PATH
233 if [ $?
-ne 0 ]; then
238 function test_python_multi_session_loglevel
()
240 diag
"Test Python with multiple session"
242 create_lttng_session_ok
$SESSION_NAME-1 $TRACE_PATH/$SESSION_NAME-1
243 enable_python_loglevel_only
$SESSION_NAME-1 '*' "INFO"
244 start_lttng_tracing_ok
$SESSION_NAME-1
246 create_lttng_session_ok
$SESSION_NAME-2 $TRACE_PATH/$SESSION_NAME-2
247 enable_python_loglevel_only
$SESSION_NAME-2 '*' "DEBUG"
248 start_lttng_tracing_ok
$SESSION_NAME-2
250 # Run 5 times with a 1 second delay and fire second TP.
253 stop_lttng_tracing_ok
$SESSION_NAME-1
254 stop_lttng_tracing_ok
$SESSION_NAME-2
255 destroy_lttng_session_ok
$SESSION_NAME-1
256 destroy_lttng_session_ok
$SESSION_NAME-2
258 # Expecting NR_ITER events being the main event and the second tp one.
259 trace_matches
$EVENT_NAME $NR_ITER $TRACE_PATH/$SESSION_NAME-1
260 if [ $?
-ne 0 ]; then
263 trace_matches
$EVENT_NAME2 1 $TRACE_PATH/$SESSION_NAME-1
264 if [ $?
-ne 0 ]; then
268 # Expectin NR_ITER events being the debug TP.
269 trace_match_only
$EVENT_NAME $NR_ITER $TRACE_PATH/$SESSION_NAME-2
270 if [ $?
-ne 0 ]; then
275 function test_python_multi_session_disable
()
277 diag
"Test Python with multiple session with disabled event"
279 create_lttng_session_ok
$SESSION_NAME-1 $TRACE_PATH/$SESSION_NAME-1
280 enable_python_lttng_event
$SESSION_NAME-1 $EVENT_NAME
281 enable_python_lttng_event
$SESSION_NAME-1 $EVENT_NAME2
282 disable_python_lttng_event
$SESSION_NAME-1 $EVENT_NAME
283 start_lttng_tracing_ok
$SESSION_NAME-1
285 create_lttng_session_ok
$SESSION_NAME-2 $TRACE_PATH/$SESSION_NAME-2
286 enable_python_lttng_event
$SESSION_NAME-2 $EVENT_NAME2
287 start_lttng_tracing_ok
$SESSION_NAME-2
289 # Run 5 times with a 1 second delay and fire second TP.
292 stop_lttng_tracing_ok
$SESSION_NAME-1
293 stop_lttng_tracing_ok
$SESSION_NAME-2
294 destroy_lttng_session_ok
$SESSION_NAME-1
295 destroy_lttng_session_ok
$SESSION_NAME-2
297 # Validate test. Expecting one event of the second TP.
298 trace_match_only
$EVENT_NAME2 1 $TRACE_PATH/$SESSION_NAME-1
299 if [ $?
-ne 0 ]; then
303 # Validate test. Expecting one event of the second TP.
304 trace_match_only
$EVENT_NAME2 1 $TRACE_PATH/$SESSION_NAME-2
305 if [ $?
-ne 0 ]; then
310 function test_python_multi_session_disable_wildcard
()
312 diag
"Test Python with multiple session with disabled wildcard event"
314 create_lttng_session_ok
$SESSION_NAME-1 $TRACE_PATH/$SESSION_NAME-1
315 enable_python_lttng_event
$SESSION_NAME-1 '*'
317 create_lttng_session_ok
$SESSION_NAME-2 $TRACE_PATH/$SESSION_NAME-2
318 enable_python_lttng_event
$SESSION_NAME-2 '*'
320 disable_python_lttng_event
$SESSION_NAME-1 '*'
322 start_lttng_tracing_ok
$SESSION_NAME-1
323 start_lttng_tracing_ok
$SESSION_NAME-2
327 stop_lttng_tracing_ok
$SESSION_NAME-1
328 stop_lttng_tracing_ok
$SESSION_NAME-2
329 destroy_lttng_session_ok
$SESSION_NAME-1
330 destroy_lttng_session_ok
$SESSION_NAME-2
332 # Validate test. Expecting NO event of the first TP.
333 trace_match_only
$EVENT_NAME 0 $TRACE_PATH/$SESSION_NAME-1
334 if [ $?
-ne 0 ]; then
338 # Validate test. Expecting all events of the first TP.
339 trace_match_only
$EVENT_NAME $NR_ITER $TRACE_PATH/$SESSION_NAME-2
340 if [ $?
-ne 0 ]; then
345 function test_python_multi_session_disable_wildcard_begin
()
348 diag
"Test Python with multiple session with disabled wildcard (at the beginning) event"
350 create_lttng_session_ok
$SESSION_NAME-1 $TRACE_PATH/$SESSION_NAME-1
351 enable_python_lttng_event
$SESSION_NAME-1 "$ev_name"
353 create_lttng_session_ok
$SESSION_NAME-2 $TRACE_PATH/$SESSION_NAME-2
354 enable_python_lttng_event
$SESSION_NAME-2 "$ev_name"
356 disable_python_lttng_event
$SESSION_NAME-1 "$ev_name"
358 start_lttng_tracing_ok
$SESSION_NAME-1
359 start_lttng_tracing_ok
$SESSION_NAME-2
363 stop_lttng_tracing_ok
$SESSION_NAME-1
364 stop_lttng_tracing_ok
$SESSION_NAME-2
365 destroy_lttng_session_ok
$SESSION_NAME-1
366 destroy_lttng_session_ok
$SESSION_NAME-2
368 # Validate test. Expecting NO event of the first TP.
369 trace_match_only
$EVENT_NAME 0 $TRACE_PATH/$SESSION_NAME-1
370 if [ $?
-ne 0 ]; then
374 # Validate test. Expecting all events of the first TP.
375 trace_match_only
$EVENT_NAME $NR_ITER $TRACE_PATH/$SESSION_NAME-2
376 if [ $?
-ne 0 ]; then
381 function test_python_multi_session_disable_wildcard_middle
()
383 ev_name
='python-*-test1'
384 diag
"Test Python with multiple session with disabled wildcard (at the middle) event"
386 create_lttng_session_ok
$SESSION_NAME-1 $TRACE_PATH/$SESSION_NAME-1
387 enable_python_lttng_event
$SESSION_NAME-1 "$ev_name"
389 create_lttng_session_ok
$SESSION_NAME-2 $TRACE_PATH/$SESSION_NAME-2
390 enable_python_lttng_event
$SESSION_NAME-2 "$ev_name"
392 disable_python_lttng_event
$SESSION_NAME-1 "$ev_name"
394 start_lttng_tracing_ok
$SESSION_NAME-1
395 start_lttng_tracing_ok
$SESSION_NAME-2
399 stop_lttng_tracing_ok
$SESSION_NAME-1
400 stop_lttng_tracing_ok
$SESSION_NAME-2
401 destroy_lttng_session_ok
$SESSION_NAME-1
402 destroy_lttng_session_ok
$SESSION_NAME-2
404 # Validate test. Expecting NO event of the first TP.
405 trace_match_only
$EVENT_NAME 0 $TRACE_PATH/$SESSION_NAME-1
406 if [ $?
-ne 0 ]; then
410 # Validate test. Expecting all events of the first TP.
411 trace_match_only
$EVENT_NAME $NR_ITER $TRACE_PATH/$SESSION_NAME-2
412 if [ $?
-ne 0 ]; then
417 function test_python_multi_session_disable_wildcard_end
()
420 diag
"Test Python with multiple session with disabled wildcard (at the end) event"
422 create_lttng_session_ok
$SESSION_NAME-1 $TRACE_PATH/$SESSION_NAME-1
423 enable_python_lttng_event
$SESSION_NAME-1 "$ev_name"
425 create_lttng_session_ok
$SESSION_NAME-2 $TRACE_PATH/$SESSION_NAME-2
426 enable_python_lttng_event
$SESSION_NAME-2 "$ev_name"
428 disable_python_lttng_event
$SESSION_NAME-1 "$ev_name"
430 start_lttng_tracing_ok
$SESSION_NAME-1
431 start_lttng_tracing_ok
$SESSION_NAME-2
435 stop_lttng_tracing_ok
$SESSION_NAME-1
436 stop_lttng_tracing_ok
$SESSION_NAME-2
437 destroy_lttng_session_ok
$SESSION_NAME-1
438 destroy_lttng_session_ok
$SESSION_NAME-2
440 # Validate test. Expecting NO event of the first TP.
441 trace_match_only
$EVENT_NAME 0 $TRACE_PATH/$SESSION_NAME-1
442 if [ $?
-ne 0 ]; then
446 # Validate test. Expecting all events of the first TP.
447 trace_matches
$EVENT_NAME $NR_ITER $TRACE_PATH/$SESSION_NAME-2
448 if [ $?
-ne 0 ]; then
452 trace_matches
$EVENT_NAME2 1 $TRACE_PATH/$SESSION_NAME-2
453 if [ $?
-ne 0 ]; then
458 function test_python_disable_all
()
460 diag
"Test Python with multiple session with disabled all event"
462 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH/$SESSION_NAME
463 enable_python_lttng_event
$SESSION_NAME '*'
464 enable_python_lttng_event
$SESSION_NAME $EVENT_NAME
465 enable_python_lttng_event
$SESSION_NAME $EVENT_NAME2
467 disable_python_lttng_event
$SESSION_NAME -a
469 start_lttng_tracing_ok
$SESSION_NAME
473 stop_lttng_tracing_ok
$SESSION_NAME
474 destroy_lttng_session_ok
$SESSION_NAME
476 # Validate test. Expecting NO event of the first TP and second TP.
477 trace_match_only
$EVENT_NAME 0 $TRACE_PATH/$SESSION_NAME
478 trace_match_only
$EVENT_NAME2 0 $TRACE_PATH/$SESSION_NAME
479 if [ $?
-ne 0 ]; then
484 function test_python_multi_session
()
486 diag
"Test Python with multiple session"
488 create_lttng_session_ok
$SESSION_NAME-1 $TRACE_PATH/$SESSION_NAME-1
489 enable_python_lttng_event
$SESSION_NAME-1 $EVENT_NAME
490 start_lttng_tracing_ok
$SESSION_NAME-1
492 create_lttng_session_ok
$SESSION_NAME-2 $TRACE_PATH/$SESSION_NAME-2
493 enable_python_lttng_event
$SESSION_NAME-2 $EVENT_NAME2
494 start_lttng_tracing_ok
$SESSION_NAME-2
496 # Run 5 times with a 1 second delay and fire second TP.
499 stop_lttng_tracing_ok
$SESSION_NAME-1
500 stop_lttng_tracing_ok
$SESSION_NAME-2
501 destroy_lttng_session_ok
$SESSION_NAME-1
502 destroy_lttng_session_ok
$SESSION_NAME-2
504 # Validate test. Expecting all events of first TP
505 trace_match_only
$EVENT_NAME $NR_ITER $TRACE_PATH/$SESSION_NAME-1
506 if [ $?
-ne 0 ]; then
510 # Validate test. Expecting one event of the second TP.
511 trace_match_only
$EVENT_NAME2 1 $TRACE_PATH/$SESSION_NAME-2
512 if [ $?
-ne 0 ]; then
517 function test_python_destroy_session
()
519 diag
"Test Python two session with destroy"
521 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH/first-sess
522 enable_python_lttng_event
$SESSION_NAME $EVENT_NAME
523 start_lttng_tracing_ok
$SESSION_NAME
525 # Run 5 times with a 1 second delay
526 run_app_background
$1 0 1
528 # Wait for the applications started in background
531 stop_lttng_tracing_ok
$SESSION_NAME
532 destroy_lttng_session_ok
$SESSION_NAME
534 # Validate test. Expecting at least one event num 1
535 validate_trace
$EVENT_NAME $TRACE_PATH/first-sess
536 if [ $?
-ne 0 ]; then
540 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH/second-sess
541 enable_python_lttng_event
$SESSION_NAME $EVENT_NAME2
542 start_lttng_tracing_ok
$SESSION_NAME
544 # Run 5 times with a 1 second delay
545 run_app_background
$1 0 1
547 # Wait for the applications started in background
550 stop_lttng_tracing_ok
$SESSION_NAME
551 destroy_lttng_session_ok
$SESSION_NAME
553 # Validate test. Expecting only one event num 2
554 trace_match_only
$EVENT_NAME2 1 $TRACE_PATH/second-sess
555 if [ $?
-ne 0 ]; then
560 function test_python_filtering
()
562 diag
"Test Python filtering"
564 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH/$SESSION_NAME
565 # Enable all event with a filter.
566 enable_python_filter
$SESSION_NAME '*' 'msg == "python-ev-test2 fired [INFO]"'
567 start_lttng_tracing_ok
$SESSION_NAME
569 # Run 5 times with a 1 second delay and fire second TP.
572 stop_lttng_tracing_ok
$SESSION_NAME
573 destroy_lttng_session_ok
$SESSION_NAME
575 # Validate test. Expecting one event of the second TP only.
576 trace_match_only
$EVENT_NAME2 1 $TRACE_PATH/$SESSION_NAME
577 if [ $?
-ne 0 ]; then
581 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH/$SESSION_NAME
582 # Enable first Logger but filter msg payload for the INFO one while
583 # triggering the debug and second TP.
584 enable_python_filter
$SESSION_NAME $EVENT_NAME 'msg == "python-ev-test1 fired [INFO]"'
585 start_lttng_tracing_ok
$SESSION_NAME
587 # Run 5 times with a 1 second delay, fire debug and second TP.
590 stop_lttng_tracing_ok
$SESSION_NAME
591 destroy_lttng_session_ok
$SESSION_NAME
593 # Validate test. Expecting NR_ITER event of the main INFO tp.
594 trace_match_only
$EVENT_NAME $NR_ITER $TRACE_PATH/$SESSION_NAME
595 if [ $?
-ne 0 ]; then
600 function test_python_disable
()
602 diag
"Test Python disable event"
604 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH/$SESSION_NAME
605 # Enable all event with a filter.
606 enable_python_lttng_event
$SESSION_NAME $EVENT_NAME
607 enable_python_lttng_event
$SESSION_NAME $EVENT_NAME2
608 disable_python_lttng_event
$SESSION_NAME $EVENT_NAME
609 start_lttng_tracing_ok
$SESSION_NAME
611 # Run 5 times with a 1 second delay and fire second TP.
614 stop_lttng_tracing_ok
$SESSION_NAME
615 destroy_lttng_session_ok
$SESSION_NAME
617 # Validate test. Expecting one event of the second TP only.
618 trace_match_only
$EVENT_NAME2 1 $TRACE_PATH/$SESSION_NAME
619 if [ $?
-ne 0 ]; then
624 function test_python_disable_enable
()
626 diag
"Test Python disable event followed by an enable"
628 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH/$SESSION_NAME
629 # Enable all event with a filter.
630 enable_python_lttng_event
$SESSION_NAME $EVENT_NAME
631 disable_python_lttng_event
$SESSION_NAME $EVENT_NAME
632 enable_python_lttng_event
$SESSION_NAME $EVENT_NAME
633 start_lttng_tracing_ok
$SESSION_NAME
635 # Run 5 times with a 1 second delay and fire second TP.
638 stop_lttng_tracing_ok
$SESSION_NAME
639 destroy_lttng_session_ok
$SESSION_NAME
641 # Validate test. Expecting NR_ITER event of the main INFO tp.
642 trace_match_only
$EVENT_NAME $NR_ITER $TRACE_PATH/$SESSION_NAME
643 if [ $?
-ne 0 ]; then
648 function test_python_filter_loglevel
()
650 local BOGUS_EVENT_NAME
="not_a_real_event"
651 local FILTER
="int_loglevel > 30 || int_loglevel < 30"
654 diag
"Test Python a filter with a loglevel"
656 create_lttng_session_ok
$SESSION_NAME $TRACE_PATH/$SESSION_NAME
657 # Enable an event with a filter and the loglevel-only option.
658 enable_python_filter_loglevel_only
$SESSION_NAME $BOGUS_EVENT_NAME "$FILTER" "INFO"
659 disable_python_lttng_event
$SESSION_NAME $BOGUS_EVENT_NAME
660 enable_python_filter_loglevel_only
$SESSION_NAME $BOGUS_EVENT_NAME "$FILTER" "INFO"
661 start_lttng_tracing_ok
$SESSION_NAME
663 # Run 5 times with a 1 second delay and fire second TP.
666 stop_lttng_tracing_ok
$SESSION_NAME
667 destroy_lttng_session_ok
$SESSION_NAME
669 # Validate test. Expecting no events.
670 trace_match_only
$ALL_EVENTS 0 $TRACE_PATH/$SESSION_NAME
671 if [ $?
-ne 0 ]; then
676 plan_tests
$NUM_TESTS
678 print_test_banner
"$TEST_DESC"
680 if [[ ${#python_versions[@]} -eq 0 ||
"x$run_test" != "xyes" ]]; then
686 skip
$skip_agent "Python agent test skipped." $NUM_TESTS ||
691 test_python_multi_session_disable_wildcard
692 test_python_multi_session_disable_wildcard_begin
693 test_python_multi_session_disable_wildcard_middle
694 test_python_multi_session_disable_wildcard_end
695 test_python_multi_session_disable
697 test_python_disable_enable
698 test_python_disable_all
699 test_python_filtering
700 test_python_multi_session_loglevel
701 test_python_destroy_session
703 test_python_loglevel_multiple
704 test_python_before_start
705 test_python_after_start
706 test_python_multi_session
707 test_python_filter_loglevel
711 for python_version
in ${python_versions[*]};
713 for fct_test
in ${tests[@]};
715 TRACE_PATH
=$
(mktemp
-d)
717 diag
"(Python $python_version)"
718 ${fct_test} $python_version
719 if [ $?
-ne 0 ]; then