X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Fregression%2Fust%2Fpython-logging%2Ftest_python_logging.in;h=e9833bea0eff37b6f35eb7a25e38d6f8647f5153;hp=d5a9b80399633f1bb00aee18293a3d3b5604b630;hb=cf5683e616e0f6bb8b7b25c62dbff63552894c1d;hpb=b3639870e5ddf9a2cbb9ab6cb2ccdaf15447b8c8 diff --git a/tests/regression/ust/python-logging/test_python_logging.in b/tests/regression/ust/python-logging/test_python_logging.in index d5a9b8039..e9833bea0 100755 --- a/tests/regression/ust/python-logging/test_python_logging.in +++ b/tests/regression/ust/python-logging/test_python_logging.in @@ -24,7 +24,7 @@ NR_ITER=5 NR_SEC_WAIT=0 TESTAPP_NAME="test" TESTAPP_BIN="$TESTAPP_NAME.py" -TESTAPP_PATH="$CURDIR" +TESTAPP_PATH="@abs_top_srcdir@/tests/regression/ust/python-logging" SESSION_NAME="python-test" EVENT_NAME="python-ev-test1" EVENT_NAME2="python-ev-test2" @@ -36,7 +36,7 @@ run_test=@RUN_PYTHON_AGENT_TEST@ if [[ -z "$run_test" ]]; then NUM_TESTS=1 else - NUM_TESTS=$(((154 * ${#python_versions[@]})+2)) + NUM_TESTS=$(((194 * ${#python_versions[@]})+2)) fi source $TESTDIR/utils/utils.sh @@ -46,13 +46,32 @@ function run_app local python=$1 local debug_tp=$2 local fire_second_tp=$3 + local ready_file=$4 + local go_file=$5 + local opt="" - $python $TESTAPP_PATH/$TESTAPP_BIN $NR_ITER $NR_SEC_WAIT $debug_tp $fire_second_tp + if [[ -n "$debug_tp" ]] && [ "$debug_tp" -eq "1" ]; then + opt="${opt} -d" + fi + + if [[ -n "$fire_second_tp" ]] && [ "$fire_second_tp" -eq "1" ]; then + opt="${opt} -e" + fi + + if [[ -n "$ready_file" ]]; then + opt="${opt} -r ${ready_file}" + fi + + if [[ -n "$go_file" ]]; then + opt="${opt} -g ${go_file}" + fi + + $python $TESTAPP_PATH/$TESTAPP_BIN -n $NR_ITER -s $NR_SEC_WAIT $opt } function run_app_background { - run_app $@ & + run_app "$@" & } function enable_python_loglevel_only() @@ -98,16 +117,25 @@ function enable_python_filter_loglevel_only() function test_python_before_start () { + local ready_file=$(mktemp -u) + local go_file=$(mktemp -u) + diag "Test Python application BEFORE tracing starts" create_lttng_session_ok $SESSION_NAME $TRACE_PATH enable_python_lttng_event $SESSION_NAME $EVENT_NAME # Run 5 times with a 1 second delay - run_app_background $1 + run_app_background $1 "" "" $ready_file $go_file + + # Wait for ready file + while [ ! -e ${ready_file} ]; do + sleep 0.5 + done start_lttng_tracing_ok $SESSION_NAME # Wait for the applications started in background + echo "1" > ${go_file} wait stop_lttng_tracing_ok $SESSION_NAME @@ -118,6 +146,8 @@ function test_python_before_start () if [ $? -ne 0 ]; then return $? fi + + rm $go_file } function test_python_after_start () @@ -342,6 +372,119 @@ function test_python_multi_session_disable_wildcard() fi } +function test_python_multi_session_disable_wildcard_begin() +{ + ev_name='*ev-test1' + diag "Test Python with multiple session with disabled wildcard (at the beginning) event" + + create_lttng_session_ok $SESSION_NAME-1 $TRACE_PATH/$SESSION_NAME-1 + enable_python_lttng_event $SESSION_NAME-1 "$ev_name" + + create_lttng_session_ok $SESSION_NAME-2 $TRACE_PATH/$SESSION_NAME-2 + enable_python_lttng_event $SESSION_NAME-2 "$ev_name" + + disable_python_lttng_event $SESSION_NAME-1 "$ev_name" + + start_lttng_tracing_ok $SESSION_NAME-1 + start_lttng_tracing_ok $SESSION_NAME-2 + + run_app $1 0 1 + + stop_lttng_tracing_ok $SESSION_NAME-1 + stop_lttng_tracing_ok $SESSION_NAME-2 + destroy_lttng_session_ok $SESSION_NAME-1 + destroy_lttng_session_ok $SESSION_NAME-2 + + # Validate test. Expecting NO event of the first TP. + trace_match_only $EVENT_NAME 0 $TRACE_PATH/$SESSION_NAME-1 + if [ $? -ne 0 ]; then + return $? + fi + + # Validate test. Expecting all events of the first TP. + trace_match_only $EVENT_NAME $NR_ITER $TRACE_PATH/$SESSION_NAME-2 + if [ $? -ne 0 ]; then + return $? + fi +} + +function test_python_multi_session_disable_wildcard_middle() +{ + ev_name='python-*-test1' + diag "Test Python with multiple session with disabled wildcard (at the middle) event" + + create_lttng_session_ok $SESSION_NAME-1 $TRACE_PATH/$SESSION_NAME-1 + enable_python_lttng_event $SESSION_NAME-1 "$ev_name" + + create_lttng_session_ok $SESSION_NAME-2 $TRACE_PATH/$SESSION_NAME-2 + enable_python_lttng_event $SESSION_NAME-2 "$ev_name" + + disable_python_lttng_event $SESSION_NAME-1 "$ev_name" + + start_lttng_tracing_ok $SESSION_NAME-1 + start_lttng_tracing_ok $SESSION_NAME-2 + + run_app $1 0 1 + + stop_lttng_tracing_ok $SESSION_NAME-1 + stop_lttng_tracing_ok $SESSION_NAME-2 + destroy_lttng_session_ok $SESSION_NAME-1 + destroy_lttng_session_ok $SESSION_NAME-2 + + # Validate test. Expecting NO event of the first TP. + trace_match_only $EVENT_NAME 0 $TRACE_PATH/$SESSION_NAME-1 + if [ $? -ne 0 ]; then + return $? + fi + + # Validate test. Expecting all events of the first TP. + trace_match_only $EVENT_NAME $NR_ITER $TRACE_PATH/$SESSION_NAME-2 + if [ $? -ne 0 ]; then + return $? + fi +} + +function test_python_multi_session_disable_wildcard_end() +{ + ev_name='python-*' + diag "Test Python with multiple session with disabled wildcard (at the end) event" + + create_lttng_session_ok $SESSION_NAME-1 $TRACE_PATH/$SESSION_NAME-1 + enable_python_lttng_event $SESSION_NAME-1 "$ev_name" + + create_lttng_session_ok $SESSION_NAME-2 $TRACE_PATH/$SESSION_NAME-2 + enable_python_lttng_event $SESSION_NAME-2 "$ev_name" + + disable_python_lttng_event $SESSION_NAME-1 "$ev_name" + + start_lttng_tracing_ok $SESSION_NAME-1 + start_lttng_tracing_ok $SESSION_NAME-2 + + run_app $1 0 1 + + stop_lttng_tracing_ok $SESSION_NAME-1 + stop_lttng_tracing_ok $SESSION_NAME-2 + destroy_lttng_session_ok $SESSION_NAME-1 + destroy_lttng_session_ok $SESSION_NAME-2 + + # Validate test. Expecting NO event of the first TP. + trace_match_only $EVENT_NAME 0 $TRACE_PATH/$SESSION_NAME-1 + if [ $? -ne 0 ]; then + return $? + fi + + # Validate test. Expecting all events of the first TP. + trace_matches $EVENT_NAME $NR_ITER $TRACE_PATH/$SESSION_NAME-2 + if [ $? -ne 0 ]; then + return $? + fi + + trace_matches $EVENT_NAME2 1 $TRACE_PATH/$SESSION_NAME-2 + if [ $? -ne 0 ]; then + return $? + fi +} + function test_python_disable_all() { diag "Test Python with multiple session with disabled all event" @@ -410,10 +553,7 @@ function test_python_destroy_session() start_lttng_tracing_ok $SESSION_NAME # Run 5 times with a 1 second delay - run_app_background $1 0 1 - - # Wait for the applications started in background - wait + run_app $1 0 1 stop_lttng_tracing_ok $SESSION_NAME destroy_lttng_session_ok $SESSION_NAME @@ -428,11 +568,7 @@ function test_python_destroy_session() enable_python_lttng_event $SESSION_NAME $EVENT_NAME2 start_lttng_tracing_ok $SESSION_NAME - # Run 5 times with a 1 second delay - run_app_background $1 0 1 - - # Wait for the applications started in background - wait + run_app $1 0 1 stop_lttng_tracing_ok $SESSION_NAME destroy_lttng_session_ok $SESSION_NAME @@ -576,6 +712,9 @@ skip $skip_agent "Python agent test skipped." $NUM_TESTS || tests=( test_python_multi_session_disable_wildcard + test_python_multi_session_disable_wildcard_begin + test_python_multi_session_disable_wildcard_middle + test_python_multi_session_disable_wildcard_end test_python_multi_session_disable test_python_disable test_python_disable_enable