]> sourceware.org Git - lvm2.git/commitdiff
Revert the "repeat failed tests with -vvvv" feature. Instead, dump debug logs
authorPetr Rockai <prokai@redhat.com>
Wed, 12 May 2010 11:23:16 +0000 (11:23 +0000)
committerPetr Rockai <prokai@redhat.com>
Wed, 12 May 2010 11:23:16 +0000 (11:23 +0000)
to a file using log/file, with log/overwrite set and dump this file in
STACKTRACE. The overall effect is that only the command that ran last before
the failure has been triggered will get its debug output logged. This is
similar to how we treat coredumps.

test/Makefile.in
test/harness.c
test/t-lvconvert-repair-dmeventd.sh
test/test-utils.sh

index 9bd8b0bdd470394db7033b771e9925d3c0b79586..fecb614e26c4e6a7f92007f39e7d801428872c41 100644 (file)
@@ -84,6 +84,7 @@ init.sh: $(srcdir)/Makefile.in .bin-dir-stamp bin/not bin/check bin/harness $(SC
        LDLPATH="$$LDLPATH:\$$abs_top_builddir/daemons/dmeventd/plugins/mirror"; \
        LDLPATH="$$LDLPATH:\$$abs_top_builddir/daemons/dmeventd/plugins/snapshot"; \
        echo "export LD_LIBRARY_PATH=\"$$LDLPATH\"" >> $@-t
+       echo 'top_srcdir=$(top_srcdir)' >> $@-t
        echo 'abs_srcdir=$(abs_srcdir)' >> $@-t
        echo 'abs_builddir=$(abs_builddir)' >> $@-t
        echo 'export PATH' >> $@-t
index dc53196a42562d341bfac6ca8410467b59ddd873..cbf7ed3b191f6166a121ae2067aa44effc501f61 100644 (file)
@@ -20,7 +20,6 @@ struct stats {
 };
 
 struct stats s;
-struct stats backup;
 
 char *readbuf = NULL;
 int readbuf_sz = 0, readbuf_used = 0;
@@ -142,7 +141,6 @@ void run(int i, char *f) {
 
 int main(int argc, char **argv) {
        int i;
-       int repeat = getenv("LVM_TEST_NOVERBOSE") ? 0 : 1;
 
        if (argc >= MAX) {
                fprintf(stderr, "Sorry, my head exploded. Please increase MAX.\n");
@@ -178,13 +176,6 @@ int main(int argc, char **argv) {
                run(i, argv[i]);
                if (die)
                        break;
-               if ( repeat && s.status[i] == FAILED ) {
-                       backup = s;
-                       setenv("LVM_TEST_CONFIG", config_debug, 1);
-                       run(i, argv[i]);
-                       setenv("LVM_TEST_CONFIG", config, 1);
-                       s = backup;
-               }
        }
 
        printf("\n## %d tests: %d OK, %d warnings, %d failures; %d skipped\n",
index c000216dbe033e5f512583a1572c93fc2f62adb6..27744bf35f26ece7c68c0bd8cf48871e721d9c90 100644 (file)
@@ -20,7 +20,7 @@ lvcreate -m 3 --ig -L 1 -n 4way $vg
 lvchange --monitor y $vg/4way
 disable_dev $dev2 $dev4
 mkfs.ext2 $DM_DEV_DIR/$vg/4way
-sleep 3 # FIXME : - (
+sleep 3 # FIXME: need a "poll" utility, akin to "check"
 enable_dev $dev2 $dev4
 check mirror $vg 4way
 check mirror_legs $vg 4way 2
index e857179203723c61f5e8ac251d87f16af61c6167..0bfa701ab26bebe8921510fa438f395e8a4b406b 100644 (file)
@@ -17,23 +17,27 @@ aux() {
 STACKTRACE() {
        trap - ERR;
        i=0;
+
        while FUNC=${FUNCNAME[$i]}; test "$FUNC" != "main"; do 
                echo "$i ${FUNC}() called from ${BASH_SOURCE[$i]}:${BASH_LINENO[$i]}"
                i=$(($i + 1));
        done
 
        # Get backtraces from coredumps
-       TEST_LVM_BINARY=$(dirname $(which lvm))/../../tools/lvm
        if which gdb >& /dev/null; then
                echo bt full > gdb_commands.txt
                echo l >> gdb_commands.txt
                echo quit >> gdb_commands.txt
-               for core in core*; do
+               for core in `ls core* 2>/dev/null`; do
                        bin=$(gdb -batch -c $core 2>&1 | grep "generated by" | \
                                sed -e "s,.*generated by \`\([^ ']*\).*,\1,")
                        gdb -batch -c $core -x gdb_commands.txt `which $bin`
                done
        fi
+
+       test -f debug.log && {
+               sed -e "s,^,## DEBUG: ,;s,$top_srcdir/\?,," < debug.log
+       }
 }
 
 init_udev_transaction() {
@@ -367,6 +371,9 @@ prepare_lvmconf() {
   log {
     syslog = 0
     indent = 1
+    level = 4
+    file = "$TESTDIR/debug.log"
+    overwrite = 1
   }
   backup {
     backup = 0
This page took 0.039435 seconds and 5 git commands to generate.