1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #!/bin/sh
- #-
- # Copyright (c) 2015
- # Thorsten "mirabilos" Glaser <tg@mirbsd.org>
- #
- # Provided that these terms and disclaimer and all copyright notices
- # are retained or reproduced in an accompanying document, permission
- # is granted to deal in this work without restriction, including un-
- # limited rights to use, publicly perform, distribute, sell, modify,
- # merge, give away, or sublicence.
- #
- # This work is provided "AS IS" and WITHOUT WARRANTY of any kind, to
- # the utmost extent permitted by applicable law, neither express nor
- # implied; without malicious intent or gross negligence. In no event
- # may a licensor, author or contributor be held liable for indirect,
- # direct, other damage, loss, or other issues arising in any way out
- # of dealing in the work, even if advised of the possibility of such
- # damage or existence of a defect, except proven that it results out
- # of said person's immediate fault when using the work as intended.
- #-
- # Testsuite runner
- die() {
- echo >&2 E: "$*"
- exit 1
- }
- test -s uclibcng-testrunner.in || die uclibcng-testrunner.in not found
- nfail=0
- npass=0
- while read expected_ret tst_src_name binary_name subdir cmd; do
- printf '.... %s\r' "$binary_name"
- (cd $subdir && eval "$cmd" >$binary_name.out 2>&1) </dev/null
- ret=$?
- test $ret = "$expected_ret" || {
- echo "FAIL $binary_name got $ret expected $expected_ret"
- nfail=`expr $nfail + 1`
- sed 's/^/ /' <$subdir/$binary_name.out
- continue
- }
- for x in $binary_name.out $test_src_name.out -; do
- if test x"$x" = x"-"; then
- echo "PASS $binary_name"
- npass=`expr $npass + 1`
- break
- fi
- test -e "$subdir/$x.good" || continue
- if d=`diff -u "$subdir/$binary_name.out" "$subdir/$x.good"`; then
- echo "PASS $binary_name"
- npass=`expr $npass + 1`
- else
- echo "FAIL $binary_name expected output differs"
- nfail=`expr $nfail + 1`
- echo "$d" | sed 's/^/ /'
- fi
- break
- done
- done <uclibcng-testrunner.in
- echo Total failed: $nfail
- echo Total passed: $npass
- test $nfail = 0
|