lttng-crash: support symlink
authorJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Wed, 9 Sep 2015 17:46:17 +0000 (13:46 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Tue, 15 Sep 2015 19:41:42 +0000 (15:41 -0400)
Fixes #915

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng-crash/lttng-crash.c
tests/regression/tools/crash/test_crash

index e6413bc57283b318cd4ffd30fcfbf578ad2db1ca..0a8f072e721bee295e6560c6cf525a1ec1ddb0b9 100644 (file)
@@ -1034,6 +1034,7 @@ int extract_trace_recursive(const char *output_path,
                        break;
                }
                case DT_REG:
+               case DT_LNK:
                        if (!strcmp(entry->d_name, "metadata")) {
                                ret = extract_one_trace(output_path,
                                        input_path);
index ff5d0e3261d83c149ee3d1573ba4e5fe9c879849..35a5bd7bcb72fd858cd3338de2fe1d308157de1c 100755 (executable)
@@ -31,7 +31,7 @@ NR_ITER=-1
 # Temp file output
 OUTPUT_DIR=$(mktemp -d)
 
-NUM_TESTS=70
+NUM_TESTS=71
 
 source $TESTDIR/utils/utils.sh
 
@@ -225,6 +225,7 @@ function test_lttng_crash()
        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
@@ -242,10 +243,17 @@ function test_lttng_crash()
        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()
@@ -380,10 +388,10 @@ function test_lttng_crash_extraction_sigkill()
 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
 )
 
This page took 0.02796 seconds and 5 git commands to generate.