X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=tests%2Fregression%2Ftools%2Fcrash%2Ftest_crash;h=7b24764c25368ecfedd175a54f74e8237271293d;hb=a4c305246c4b8021fa1681076326731349a1cd17;hp=35a5bd7bcb72fd858cd3338de2fe1d308157de1c;hpb=93c4b58325c074281b332afb451356685641f33a;p=deliverable%2Flttng-tools.git diff --git a/tests/regression/tools/crash/test_crash b/tests/regression/tools/crash/test_crash index 35a5bd7bc..7b24764c2 100755 --- a/tests/regression/tools/crash/test_crash +++ b/tests/regression/tools/crash/test_crash @@ -31,7 +31,7 @@ NR_ITER=-1 # Temp file output OUTPUT_DIR=$(mktemp -d) -NUM_TESTS=71 +NUM_TESTS=77 source $TESTDIR/utils/utils.sh @@ -48,7 +48,7 @@ function start_test_app() local tmp_file=$(mktemp -u) # Start application with a temporary file. - $TESTAPP_BIN $NR_ITER $NR_USEC_WAIT $tmp_file & + $TESTAPP_BIN -i $NR_ITER -w $NR_USEC_WAIT --sync-after-first-event $tmp_file & ret=$? APPS_PID="${APPS_PID} ${!}" ok $ret "Start application to trace" @@ -87,19 +87,11 @@ function stop_test_app() function verify_path_dont_exists() { local path=$1 - local timeout_try_limit=100 - local timeout_try_count=0 - local timeout_flag=0 while find $path -mindepth 1 -maxdepth 1 &>/dev/null ; do - if [[ $timeout_try_count -gt $timeout_try_limit ]]; then - timeout_flag=1 - break - fi - timeout_try_count=$((timeout_try_count+1)) - sleep 0.1 + sleep 2 done - return $timeout_flag + return 0 } function test_shm_path_per_pid() @@ -114,6 +106,8 @@ function test_shm_path_per_pid() create_lttng_session_ok $session_name $OUTPUT_DIR "--shm-path $shm_path" enable_ust_lttng_channel_ok $session_name $channel_name "--buffers-pid" + start_lttng_tracing_ok $session_name + diag "Shm: clean state" file_count=$(find $shm_path -mindepth 1 -maxdepth 1 | wc -l) test $file_count -eq "0" @@ -182,6 +176,8 @@ function test_shm_path_per_uid() create_lttng_session_ok $session_name $OUTPUT_DIR "--shm-path $shm_path" enable_ust_lttng_channel_ok $session_name $channel_name "--buffers-uid" + start_lttng_tracing_ok $session_name + diag "Shm: test clean state" file_count=$(find $shm_path -mindepth 1 -maxdepth 1 | wc -l) test $file_count -eq "0" @@ -236,8 +232,8 @@ function test_lttng_crash() start_lttng_tracing_ok $session_name # Generate 10 events - $TESTAPP_BIN 10 0 - stop_lttng_tracing + $TESTAPP_BIN -i 10 -w 0 + stop_lttng_tracing_ok crash_recup_count=$($LTTNG_CRASH $shm_path | wc -l) test $crash_recup_count -eq "10" @@ -274,8 +270,8 @@ function test_lttng_crash_extraction() start_lttng_tracing_ok $session_name # Generate 10 events - $TESTAPP_BIN 10 0 - stop_lttng_tracing + $TESTAPP_BIN -i 10 -w 0 + stop_lttng_tracing_ok $LTTNG_CRASH -x $extraction_path $shm_path ok $? "Extraction of crashed buffers to path" @@ -303,6 +299,8 @@ function test_shm_path_per_pid_sigint() create_lttng_session_ok $session_name $OUTPUT_DIR "--shm-path $shm_path" enable_ust_lttng_channel_ok $session_name $channel_name "--buffers-pid" + start_lttng_tracing_ok $session_name + start_test_app start_test_app shm_session_path=$(find $shm_path -mindepth 1 -maxdepth 1) @@ -332,6 +330,8 @@ function test_shm_path_per_uid_sigint() create_lttng_session_ok $session_name $OUTPUT_DIR "--shm-path $shm_path" enable_ust_lttng_channel_ok $session_name $channel_name "--buffers-uid" + start_lttng_tracing_ok $session_name + start_test_app start_test_app shm_session_path=$(find $shm_path -mindepth 1 -maxdepth 1) @@ -366,7 +366,10 @@ function test_lttng_crash_extraction_sigkill() start_lttng_tracing_ok $session_name # Generate 10 events - $TESTAPP_BIN 10 0 + $TESTAPP_BIN -i 10 -w 0 + + sigstop_lttng_sessiond + sigstop_lttng_consumerd # Kill the consumers then sessiond with sigkill stop_lttng_consumerd SIGKILL @@ -385,6 +388,14 @@ function test_lttng_crash_extraction_sigkill() rm -rf $extraction_dir_path } +function interrupt_cleanup() +{ + diag "*** Cleaning-up test ***" + stop_test_apps + stop_lttng_sessiond + exit 1 +} + TESTS=( test_shm_path_per_uid test_shm_path_per_pid @@ -395,6 +406,7 @@ TESTS=( test_lttng_crash_extraction_sigkill ) +trap interrupt_cleanup SIGTERM SIGINT for fct_test in ${TESTS[@]}; do