]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tests: make output and diff dirs usage more robust
authorKarel Zak <kzak@redhat.com>
Tue, 28 Feb 2012 13:37:45 +0000 (14:37 +0100)
committerKarel Zak <kzak@redhat.com>
Tue, 28 Feb 2012 13:37:45 +0000 (14:37 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
tests/Makefile.am
tests/functions.sh
tests/ts/build-sys/config

index 2f8f2643c2a2f270e26eb05cdbcf70316a462928..c22f30e58a0a853b730aa27abf843767ade691db 100644 (file)
@@ -8,5 +8,5 @@ EXTRA_DIST = \
        run.sh \
        ts
 
-distclean-local:
+clean-local:
        rm -rf output diff
index 85b1621093cfcfd4a487bfddff7853205d774197..6556e4ed2ff35d61462ed290585043ef407c95e6 100644 (file)
@@ -93,6 +93,8 @@ function ts_init_core_subtest_env {
        TS_MOUNTPOINT="$TS_OUTDIR/${TS_TESTNAME}-${TS_SUBNAME}-mnt"
 
        rm -f $TS_OUTPUT $TS_VGDUMP
+       [ -d "$TS_OUTDIR" ]  || mkdir -p "$TS_OUTDIR"
+
        touch $TS_OUTPUT
        [ -n "$TS_VALGRIND_CMD" ] && touch $TS_VGDUMP
 }
@@ -127,8 +129,6 @@ function ts_init_env {
 
        BLKID_FILE="$TS_OUTDIR/${TS_TESTNAME}.blkidtab"
 
-       [ -d "$TS_OUTDIR" ]  || mkdir -p "$TS_OUTDIR"
-       [ -d "$TS_DIFFDIR" ] || mkdir -p "$TS_DIFFDIR"
 
        declare -a TS_SUID_PROGS
        declare -a TS_SUID_USER
@@ -141,6 +141,8 @@ function ts_init_env {
        export BLKID_FILE
 
        rm -f $TS_OUTPUT $TS_VGDUMP
+       [ -d "$TS_OUTDIR" ]  || mkdir -p "$TS_OUTDIR"
+
        touch $TS_OUTPUT
        [ -n "$TS_VALGRIND_CMD" ] && touch $TS_VGDUMP
 
@@ -219,8 +221,15 @@ function ts_gen_diff {
        local res=0
 
        if [ -s "$TS_OUTPUT" ]; then
+
+               [ -d "$TS_DIFFDIR" ] || mkdir -p "$TS_DIFFDIR"
                diff -u $TS_EXPECTED $TS_OUTPUT > $TS_DIFF
-               [ -s $TS_DIFF ] && res=1
+
+               if [ -s $TS_DIFF ]; then
+                       res=1
+               else
+                       rm -f $TS_DIFF;
+               fi
        else
                res=1
        fi
index 7ede38ca84fba2f5020cde011d8f788f3bc8a9ae..e2c2b00f8678b062d99754deba8126e2cd7f6abf 100755 (executable)
@@ -52,9 +52,18 @@ for conf in $config_gen_dir/config-gen.d/*.conf; do
                        esac
                fi
        done
+
+       # clean the tree, but exclude tests/{diff,output} dirs
+       #
+       [ -d tests/diff ]   && mv tests/diff   tests/diff.save
+       [ -d tests/output ] && mv tests/output tests/output.save
+
        make -j clean &> /dev/null
-       cd $olddir
 
+       [ -d tests/diff.save ]   && mv tests/diff.save   tests/diff
+       [ -d tests/output.save ] && mv tests/output.save tests/output
+
+       cd $olddir
        ts_finalize_subtest
 done