rpms/dietlibc/F-8 runtests-X.sh,1.2,1.3

Enrico Scholz (ensc) fedora-extras-commits at redhat.com
Sat Jun 21 13:52:04 UTC 2008


Author: ensc

Update of /cvs/extras/rpms/dietlibc/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv24405

Modified Files:
	runtests-X.sh 
Log Message:
registered test which are known to be broken resp. which test for
features known to be broken.



Index: runtests-X.sh
===================================================================
RCS file: /cvs/extras/rpms/dietlibc/F-8/runtests-X.sh,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- runtests-X.sh	21 Jun 2008 13:13:48 -0000	1.2
+++ runtests-X.sh	21 Jun 2008 13:51:17 -0000	1.3
@@ -2,14 +2,57 @@
 
 eval $(grep '^\(TESTPROGRAMS\|SUBDIRS\)=' runtests.sh)
 
+FAILURES_BOGUS=(
+  ":stdlib:tst-environ"		# test uses environ function in unsupported ways (dup keys)
+  ":stdlib:tst-rand48"		# platform dependent; does not give reliable results
+  ":stdlib:tst-strtod"		# must be investigated further...
+  ":time:tst-mktime"		# dietlibc does not support $TZ env
+  ":time:tst-posixtz"		# dietlibc does not support $TZ env
+  ":time:tst-strftime"		# dietlibc does not support glibc specific format specifications
+)
+
+FAILURES_KNOWN=(
+  ":sendfile"			# stdin/stdout not supported; test must be wrapped
+  ":stdio:tstdiomisc"		# scanf(3) fails on some constructs
+  ":stdio:tst-fphex"		# printf(3) does not support %a specifiers
+  ":stdio:tst-printf"		# printf(3) does not support some floating point ops
+  ":stdio:tst-sscanf"		# scanf(3) fails on double input
+  ":stdlib:test-canon"		# realpath(3) is broken...
+)
+
+function is_in() {
+    local	val=$1
+    local	i
+    shift
+
+    for i; do
+	test x"$i" != x"$val" || return 0
+    done
+    return 1
+}
+
 rc=0
 
 : ${RUNTEST_INDENT=0}
 export RUNTEST_INDENT
+export RUNTEST_NS
 
 for p in $TESTPROGRAMS; do
     ! tty -s || printf '%*s%-20s' $RUNTEST_INDENT '' "$p"
-    ./$p >/dev/null && res='OK' || { res='FAIL'; let ++rc; }
+
+    is_in "$RUNTEST_NS:$p" "${FAILURES_BOGUS[@]}" && fail_bogus=true || fail_bogus=false
+    is_in "$RUNTEST_NS:$p" "${FAILURES_KNOWN[@]}" && fail_known=true || fail_known=false
+    ./$p >/dev/null && failed=false || failed=true
+
+    case $failed:$fail_known:$fail_bogus in
+      (false:false:*)		res='OK';;
+      (false:true:true)		res='OK (bogus)';;
+      (false:true:false)	res="OK (unexpected)"; let ++rc;;
+      (true:*:true)		res='FAIL (bogus)';;
+      (true:true:*)       	res="FAIL (known)";;
+      (true:false:*)		res='FAIL'; let ++rc;;
+    esac
+
     ! tty -s || printf '\r'
 
     printf '%*s%-20s%s\n' $RUNTEST_INDENT '' "$p" "$res"
@@ -21,7 +64,12 @@
 for d in $SUBDIRS; do
     echo "--- entering directory $d ---"
     let RUNTEST_INDENT+=2
+    old_ns=$RUNTEST_NS
+    RUNTEST_NS=$RUNTEST_NS:$d
+    
     cd $d && bash ./runtests-X.sh || let ++rc
+
+    RUNTEST_NS=$old_ns
     let RUNTEST_INDENT-=2
 
     cd $OLDPWD || exit 1




More information about the fedora-extras-commits mailing list