From: Ruediger Meier Date: Sat, 10 May 2014 01:57:26 +0000 (+0200) Subject: tests: add exit case "KNOWN FAILED" X-Git-Tag: v2.25-rc1~191^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7641ccec;p=thirdparty%2Futil-linux.git tests: add exit case "KNOWN FAILED" 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 --- diff --git a/tests/functions.sh b/tests/functions.sh index 6631de49d8..1dc671d9eb 100644 --- a/tests/functions.sh +++ b/tests/functions.sh @@ -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"