X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Fregression%2Fkernel%2Ftest_ns_contexts_change;h=10f97f8cbb922fa391dbe1831007da8bde1a7be5;hp=1c5d15f02e113c8283393bcf62bdf8e7a7873d58;hb=HEAD;hpb=9d16b343fb9e781fc8d8fa3c448a3f382306dd33 diff --git a/tests/regression/kernel/test_ns_contexts_change b/tests/regression/kernel/test_ns_contexts_change index 1c5d15f02..10f97f8cb 100755 --- a/tests/regression/kernel/test_ns_contexts_change +++ b/tests/regression/kernel/test_ns_contexts_change @@ -80,10 +80,10 @@ function test_ns() return fi - trace_path=$(mktemp -d) - file_sync_wait_before_unshare=$(mktemp -u) - file_sync_wait_after_unshare=$(mktemp -u) - file_sync_signal_after_unshare=$(mktemp -u) + trace_path=$(mktemp -d -t "tmp.${FUNCNAME[0]}_trace_path.XXXXXX") + file_sync_wait_before_unshare=$(mktemp -u -t "tmp.${FUNCNAME[0]}_sync_before_unshare.XXXXXX") + file_sync_wait_after_unshare=$(mktemp -u -t "tmp.${FUNCNAME[0]}_sync_after_unshare.XXXXXX") + file_sync_signal_after_unshare=$(mktemp -u -t "tmp.${FUNCNAME[0]}_sync_signal_after_unshare.XXXXXX") # Get the current ns inode number ns_inode=$(stat -c '%i' -L "/proc/$$/ns/$ns") @@ -131,8 +131,22 @@ function test_ns() # Check that the events contain the right namespace inode number validate_trace_count "${ns}_ns = $app_ns_inode" "$trace_path" 1 validate_trace_count "${ns}_ns = $app_unshare_ns_inode" "$trace_path" 1 + else + touch "$file_sync_wait_before_unshare" + + while [ ! -f "$file_sync_signal_after_unshare" ]; do + # Break if the app failed / died + if ! kill -0 "$app_pid" ; then + break + echo "# App failed" + fi + echo "# Waiting for app..." + sleep 0.5 + done + touch "$file_sync_wait_after_unshare" fi + # stop and destroy destroy_lttng_session_ok "$session_name" stop_lttng_sessiond @@ -148,14 +162,7 @@ plan_tests $NUM_TESTS print_test_banner "$TEST_DESC" - -isroot=0 -if [ "$(id -u)" == "0" ]; then - isroot=1 -fi - -skip $isroot "Root access is needed. Skipping all tests." "$NUM_TESTS" && exit 0 - +check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." && exit 0 system_has_ns=0 if [ -d "/proc/$$/ns" ]; then @@ -172,5 +179,7 @@ test_ns ipc test_ns mnt test_ns net #test_ns pid # pid_ns is special, can't be changed that way +#test_ns time # time_ns is special, can't be changed that way test_ns user test_ns uts +set +x