projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Introduce LTTNG_RELAYD_WORKING_DIRECTORY environment variable
[lttng-tools.git]
/
tests
/
regression
/
tools
/
crash
/
test_crash
diff --git
a/tests/regression/tools/crash/test_crash
b/tests/regression/tools/crash/test_crash
index ff5d0e3261d83c149ee3d1573ba4e5fe9c879849..ad03bf404863a1d603f709ff1567de725737854a 100755
(executable)
--- a/
tests/regression/tools/crash/test_crash
+++ b/
tests/regression/tools/crash/test_crash
@@
-31,7
+31,9
@@
NR_ITER=-1
# Temp file output
OUTPUT_DIR=$(mktemp -d)
# Temp file output
OUTPUT_DIR=$(mktemp -d)
-NUM_TESTS=70
+LAST_APP_PID=
+
+NUM_TESTS=77
source $TESTDIR/utils/utils.sh
source $TESTDIR/utils/utils.sh
@@
-50,6
+52,7
@@
function start_test_app()
# Start application with a temporary file.
$TESTAPP_BIN $NR_ITER $NR_USEC_WAIT $tmp_file &
ret=$?
# Start application with a temporary file.
$TESTAPP_BIN $NR_ITER $NR_USEC_WAIT $tmp_file &
ret=$?
+ LAST_APP_PID="${!}"
APPS_PID="${APPS_PID} ${!}"
ok $ret "Start application to trace"
APPS_PID="${APPS_PID} ${!}"
ok $ret "Start application to trace"
@@
-81,25
+84,18
@@
function stop_test_app()
diag "Stopping $p"
kill ${p} 2>/dev/null
wait ${p} 2>/dev/null
diag "Stopping $p"
kill ${p} 2>/dev/null
wait ${p} 2>/dev/null
+ diag "Stopped $p"
done
}
function verify_path_dont_exists()
{
local path=$1
done
}
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
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
done
- return
$timeout_flag
+ return
0
}
function test_shm_path_per_pid()
}
function test_shm_path_per_pid()
@@
-114,6
+110,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"
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"
diag "Shm: clean state"
file_count=$(find $shm_path -mindepth 1 -maxdepth 1 | wc -l)
test $file_count -eq "0"
@@
-124,7
+122,7
@@
function test_shm_path_per_pid()
diag "Shm: check folder creation and structure"
start_test_app
diag "Shm: check folder creation and structure"
start_test_app
- first_app_pid=$
APPS
_PID
+ first_app_pid=$
LAST_APP
_PID
shm_session_path=$(find $shm_path -mindepth 1 -maxdepth 1)
file_count=$(echo "$shm_session_path"| wc -l)
shm_session_path=$(find $shm_path -mindepth 1 -maxdepth 1)
file_count=$(echo "$shm_session_path"| wc -l)
@@
-147,6
+145,7
@@
function test_shm_path_per_pid()
diag "Shm: check basic creation of second ust application"
start_test_app
diag "Shm: check basic creation of second ust application"
start_test_app
+ second_app_pid=$LAST_APP_PID
second_pid_path=$(find $shm_session_path/ust/pid -mindepth 1 -maxdepth 1)
ok $? "Pid path exist found $second_pid_path"
second_pid_path=$(find $shm_session_path/ust/pid -mindepth 1 -maxdepth 1)
ok $? "Pid path exist found $second_pid_path"
@@
-156,6
+155,7
@@
function test_shm_path_per_pid()
# Stop first test application and check for cleanup
stop_test_app "$first_app_pid"
# Stop first test application and check for cleanup
stop_test_app "$first_app_pid"
+ APPS_PID="$second_app_pid"
verify_path_dont_exists "$first_pid_path"
ok $? "First pid cleanup"
verify_path_dont_exists "$first_pid_path"
ok $? "First pid cleanup"
@@
-182,6
+182,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"
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"
diag "Shm: test clean state"
file_count=$(find $shm_path -mindepth 1 -maxdepth 1 | wc -l)
test $file_count -eq "0"
@@
-225,6
+227,7
@@
function test_lttng_crash()
local session_name=crash_test
local channel_name=channel_crash
local shm_path=$(mktemp -d)
local session_name=crash_test
local channel_name=channel_crash
local shm_path=$(mktemp -d)
+ local shm_path_symlink=$(mktemp -d)
local event_name="tp:tptest"
# Create a session in snapshot mode to deactivate any use of consumerd
local event_name="tp:tptest"
# Create a session in snapshot mode to deactivate any use of consumerd
@@
-236,16
+239,23
@@
function test_lttng_crash()
# Generate 10 events
$TESTAPP_BIN 10 0
# Generate 10 events
$TESTAPP_BIN 10 0
- stop_lttng_tracing
+ stop_lttng_tracing
_ok
crash_recup_count=$($LTTNG_CRASH $shm_path | wc -l)
test $crash_recup_count -eq "10"
ok $? "Expect 10 recup event from buffers got $crash_recup_count"
crash_recup_count=$($LTTNG_CRASH $shm_path | wc -l)
test $crash_recup_count -eq "10"
ok $? "Expect 10 recup event from buffers got $crash_recup_count"
+ # Test with symlink
+ cp -rs $shm_path/. $shm_path_symlink
+ crash_recup_count=$($LTTNG_CRASH $shm_path_symlink | wc -l)
+ test $crash_recup_count -eq "10"
+ ok $? "Expect 10 recup event from symlink buffers got $crash_recup_count"
+
# Tear down
destroy_lttng_session_ok $session_name
stop_lttng_sessiond
rm -rf $shm_path
# Tear down
destroy_lttng_session_ok $session_name
stop_lttng_sessiond
rm -rf $shm_path
+ rm -rf $shm_path_symlink
}
function test_lttng_crash_extraction()
}
function test_lttng_crash_extraction()
@@
-267,7
+277,7
@@
function test_lttng_crash_extraction()
start_lttng_tracing_ok $session_name
# Generate 10 events
$TESTAPP_BIN 10 0
start_lttng_tracing_ok $session_name
# Generate 10 events
$TESTAPP_BIN 10 0
- stop_lttng_tracing
+ stop_lttng_tracing
_ok
$LTTNG_CRASH -x $extraction_path $shm_path
ok $? "Extraction of crashed buffers to path"
$LTTNG_CRASH -x $extraction_path $shm_path
ok $? "Extraction of crashed buffers to path"
@@
-295,6
+305,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"
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)
start_test_app
start_test_app
shm_session_path=$(find $shm_path -mindepth 1 -maxdepth 1)
@@
-324,6
+336,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"
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)
start_test_app
start_test_app
shm_session_path=$(find $shm_path -mindepth 1 -maxdepth 1)
@@
-360,6
+374,9
@@
function test_lttng_crash_extraction_sigkill()
# Generate 10 events
$TESTAPP_BIN 10 0
# Generate 10 events
$TESTAPP_BIN 10 0
+ sigstop_lttng_sessiond
+ sigstop_lttng_consumerd
+
# Kill the consumers then sessiond with sigkill
stop_lttng_consumerd SIGKILL
stop_lttng_sessiond SIGKILL
# Kill the consumers then sessiond with sigkill
stop_lttng_consumerd SIGKILL
stop_lttng_sessiond SIGKILL
@@
-377,16
+394,24
@@
function test_lttng_crash_extraction_sigkill()
rm -rf $extraction_dir_path
}
rm -rf $extraction_dir_path
}
+function interrupt_cleanup()
+{
+ diag "*** Cleaning-up test ***"
+ stop_test_apps
+ full_cleanup
+}
+
TESTS=(
test_shm_path_per_uid
test_shm_path_per_pid
TESTS=(
test_shm_path_per_uid
test_shm_path_per_pid
- test_lttng_crash
- test_lttng_crash_extraction
test_shm_path_per_pid_sigint
test_shm_path_per_uid_sigint
test_shm_path_per_pid_sigint
test_shm_path_per_uid_sigint
+ test_lttng_crash
+ test_lttng_crash_extraction
test_lttng_crash_extraction_sigkill
)
test_lttng_crash_extraction_sigkill
)
+trap interrupt_cleanup SIGTERM SIGINT
for fct_test in ${TESTS[@]};
do
for fct_test in ${TESTS[@]};
do
This page took
0.02689 seconds
and
4
git commands to generate.