X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=tests%2Fregression%2Fkernel%2Ftest_ns_contexts_change;h=10f97f8cbb922fa391dbe1831007da8bde1a7be5;hb=3a1744008331a0604479d3d7461f77056fad3a64;hp=e32a75b8a3e86f8473d9f99527577f5e7ec9a260;hpb=33e557114a2ba28e26e220a833e8a449c78b8b65;p=lttng-tools.git diff --git a/tests/regression/kernel/test_ns_contexts_change b/tests/regression/kernel/test_ns_contexts_change index e32a75b8a..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 --tmpdir -d "tmp.${FUNCNAME[0]}_trace_path.XXXXXX") - file_sync_wait_before_unshare=$(mktemp --tmpdir -u "tmp.${FUNCNAME[0]}_sync_before_unshare.XXXXXX") - file_sync_wait_after_unshare=$(mktemp --tmpdir -u "tmp.${FUNCNAME[0]}_sync_after_unshare.XXXXXX") - file_sync_signal_after_unshare=$(mktemp --tmpdir -u "tmp.${FUNCNAME[0]}_sync_signal_after_unshare.XXXXXX") + 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 @@ -175,3 +182,4 @@ test_ns net #test_ns time # time_ns is special, can't be changed that way test_ns user test_ns uts +set +x