]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tests: add exit case "KNOWN FAILED"
authorRuediger Meier <ruediger.meier@ga-group.nl>
Sat, 10 May 2014 01:57:26 +0000 (03:57 +0200)
committerRuediger Meier <ruediger.meier@ga-group.nl>
Mon, 12 May 2014 07:56:08 +0000 (09:56 +0200)
Now we can mark tests as known to be broken without bothering
users with exit failure. In the build log this "KNOWN FAILED"
may be interpreted as TODO ;)

The main advantage of "known-fail" instead of just skipping
is that we will still find the test diff.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
tests/functions.sh

index 6631de49d8cea8ad61cdf236f07ef508506e8c84..1dc671d9eb440f2c8c693d7f2291034ee95e0292 100644 (file)
@@ -76,6 +76,15 @@ function ts_failed {
        exit 1
 }
 
+function ts_known_failed {
+       if [ x"$1" == x"" ]; then
+               ts_report " KNOWN FAILED ($TS_NS)"
+       else
+               ts_report " KNOWN FAILED ($1)"
+       fi
+       exit 0
+}
+
 function ts_ok_subtest {
        if [ x"$1" == x"" ]; then
                ts_report " OK"
@@ -196,6 +205,7 @@ function ts_init_env {
 
        TS_VERBOSE=$(ts_has_option "verbose" "$*")
        TS_PARALLEL=$(ts_has_option "parallel" "$*")
+       TS_KNOWN_FAIL=$(ts_has_option "known-fail" "$*")
 
        tmp=$( ts_has_option "memcheck" "$*")
        if [ "$tmp" == "yes" -a -f /usr/bin/valgrind ]; then
@@ -383,6 +393,9 @@ function ts_finalize {
        if [ -s $TS_EXPECTED ]; then
                ts_gen_diff
                if [ $? -eq 1 ]; then
+                       if [ "$TS_KNOWN_FAIL" = "yes" ]; then
+                               ts_known_failed "$1"
+                       fi
                        ts_failed "$1"
                fi
                ts_ok "$1"