# Temp file output
OUTPUT_DIR=$(mktemp -d)
-NUM_TESTS=70
+NUM_TESTS=73
source $TESTDIR/utils/utils.sh
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()
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
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
+ rm -rf $shm_path_symlink
}
function test_lttng_crash_extraction()
# 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
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
- test_lttng_crash
- test_lttng_crash_extraction
test_shm_path_per_pid_sigint
test_shm_path_per_uid_sigint
+ test_lttng_crash
+ test_lttng_crash_extraction
test_lttng_crash_extraction_sigkill
)
+trap interrupt_cleanup SIGTERM SIGINT
for fct_test in ${TESTS[@]};
do