diff options
author | Andreas Gruenbacher <agruen@suse.de> | 2010-05-04 04:07:45 +0200 |
---|---|---|
committer | Andreas Gruenbacher <agruen@suse.de> | 2010-05-04 04:07:45 +0200 |
commit | dbb26b7e991bfd81ebf0bf6d3315ba25e87814c8 (patch) | |
tree | 12f7709209bcda6041cdab1078b6155bd55282f7 | |
parent | 1b2ed3de079632dcf8c0a7b129e81011ae496ac0 (diff) | |
download | patch-dbb26b7e991bfd81ebf0bf6d3315ba25e87814c8.tar.gz |
Some test suite fixes and improvements
* tests/test-lib.sh: Flag tests with missing pre-requirements as
SKIPped instead of PASSed. Do not use GNU diff extensions, but
still require a diff that understands "-u".
* tests: Do not unnecessarily require GNU diff in a lot of tests.
Make the sed utility optional.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | tests/asymmetric-hunks | 1 | ||||
-rw-r--r-- | tests/copy-rename | 1 | ||||
-rw-r--r-- | tests/corrupt-reject-files | 1 | ||||
-rw-r--r-- | tests/create-delete | 2 | ||||
-rw-r--r-- | tests/crlf-handling | 3 | ||||
-rw-r--r-- | tests/dash-o-append | 1 | ||||
-rw-r--r-- | tests/file-modes | 2 | ||||
-rw-r--r-- | tests/git-binary-diff | 1 | ||||
-rw-r--r-- | tests/global-reject-files | 1 | ||||
-rw-r--r-- | tests/line-numbers | 2 | ||||
-rw-r--r-- | tests/merge | 2 | ||||
-rw-r--r-- | tests/munged-context-format | 1 | ||||
-rw-r--r-- | tests/need-filename | 1 | ||||
-rw-r--r-- | tests/no-newline-triggers-assert | 1 | ||||
-rw-r--r-- | tests/preserve-c-function-names | 2 | ||||
-rw-r--r-- | tests/preserve-mode-and-timestamp | 2 | ||||
-rw-r--r-- | tests/reject-format | 3 | ||||
-rw-r--r-- | tests/remember-backup-files | 1 | ||||
-rw-r--r-- | tests/remember-reject-files | 1 | ||||
-rw-r--r-- | tests/test-lib.sh | 34 | ||||
-rw-r--r-- | tests/unmodified-files | 1 |
22 files changed, 45 insertions, 25 deletions
@@ -1,5 +1,11 @@ 2009-05-04 Andreas Gruenbacher <agruen@suse.de> + * tests/test-lib.sh: Flag tests with missing pre-requirements as + SKIPped instead of PASSed. Do not use GNU diff extensions, but + still require a diff that understands "-u". + * tests: Do not unnecessarily require GNU diff in a lot of tests. + Make the sed utility optional. + * src/pch.c (intuit_diff_type): Remove left-over debugging code. * src/pch.c (maybe_reverse): Allow to create and delete empty files. diff --git a/tests/asymmetric-hunks b/tests/asymmetric-hunks index da85024..0183fc4 100644 --- a/tests/asymmetric-hunks +++ b/tests/asymmetric-hunks @@ -7,7 +7,6 @@ . $srcdir/test-lib.sh require_cat -require_diff use_local_patch use_tmpdir diff --git a/tests/copy-rename b/tests/copy-rename index a875ae6..d8d376a 100644 --- a/tests/copy-rename +++ b/tests/copy-rename @@ -9,7 +9,6 @@ . $srcdir/test-lib.sh require_cat -require_diff use_local_patch use_tmpdir diff --git a/tests/corrupt-reject-files b/tests/corrupt-reject-files index 280b19f..f2be39f 100644 --- a/tests/corrupt-reject-files +++ b/tests/corrupt-reject-files @@ -7,7 +7,6 @@ . $srcdir/test-lib.sh require_cat -require_diff use_local_patch use_tmpdir diff --git a/tests/create-delete b/tests/create-delete index 5b3d9c8..d81d76a 100644 --- a/tests/create-delete +++ b/tests/create-delete @@ -7,7 +7,7 @@ . $srcdir/test-lib.sh require_cat -require_diff +require_sed use_local_patch use_tmpdir diff --git a/tests/crlf-handling b/tests/crlf-handling index 6cd9783..1f73546 100644 --- a/tests/crlf-handling +++ b/tests/crlf-handling @@ -8,7 +8,8 @@ . $srcdir/test-lib.sh -require_diff +require_gnu_diff +require_sed use_local_patch use_tmpdir diff --git a/tests/dash-o-append b/tests/dash-o-append index 9b71cb5..9d7d30a 100644 --- a/tests/dash-o-append +++ b/tests/dash-o-append @@ -7,7 +7,6 @@ . $srcdir/test-lib.sh require_cat -require_diff use_local_patch use_tmpdir diff --git a/tests/file-modes b/tests/file-modes index 9da184a..4bc9f2c 100644 --- a/tests/file-modes +++ b/tests/file-modes @@ -9,7 +9,7 @@ . $srcdir/test-lib.sh require_cat -require_diff +require_sed use_local_patch use_tmpdir diff --git a/tests/git-binary-diff b/tests/git-binary-diff index 13a06b0..b47fcd9 100644 --- a/tests/git-binary-diff +++ b/tests/git-binary-diff @@ -7,7 +7,6 @@ . $srcdir/test-lib.sh require_cat -require_diff use_local_patch use_tmpdir diff --git a/tests/global-reject-files b/tests/global-reject-files index 3d38d01..252a0c4 100644 --- a/tests/global-reject-files +++ b/tests/global-reject-files @@ -9,7 +9,6 @@ . $srcdir/test-lib.sh require_cat -require_diff use_local_patch use_tmpdir diff --git a/tests/line-numbers b/tests/line-numbers index f6d59ae..7c28953 100644 --- a/tests/line-numbers +++ b/tests/line-numbers @@ -7,7 +7,7 @@ . $srcdir/test-lib.sh require_cat -require_diff +require_sed use_local_patch use_tmpdir diff --git a/tests/merge b/tests/merge index af1d644..5d95186 100644 --- a/tests/merge +++ b/tests/merge @@ -9,7 +9,7 @@ . $srcdir/test-lib.sh require_cat -require_diff +require_sed use_local_patch use_tmpdir diff --git a/tests/munged-context-format b/tests/munged-context-format index 209ff80..af1051b 100644 --- a/tests/munged-context-format +++ b/tests/munged-context-format @@ -9,6 +9,7 @@ . $srcdir/test-lib.sh require_cat +require_sed use_local_patch use_tmpdir diff --git a/tests/need-filename b/tests/need-filename index 6627860..4f51a80 100644 --- a/tests/need-filename +++ b/tests/need-filename @@ -9,6 +9,7 @@ . $srcdir/test-lib.sh require_cat +require_sed use_local_patch use_tmpdir diff --git a/tests/no-newline-triggers-assert b/tests/no-newline-triggers-assert index 9bd1499..7ae523c 100644 --- a/tests/no-newline-triggers-assert +++ b/tests/no-newline-triggers-assert @@ -9,7 +9,6 @@ . $srcdir/test-lib.sh require_cat -require_diff use_local_patch use_tmpdir diff --git a/tests/preserve-c-function-names b/tests/preserve-c-function-names index 25b3fc5..4345462 100644 --- a/tests/preserve-c-function-names +++ b/tests/preserve-c-function-names @@ -9,7 +9,7 @@ . $srcdir/test-lib.sh require_cat -require_diff +require_gnu_diff use_local_patch use_tmpdir diff --git a/tests/preserve-mode-and-timestamp b/tests/preserve-mode-and-timestamp index 43988bb..13c2f6c 100644 --- a/tests/preserve-mode-and-timestamp +++ b/tests/preserve-mode-and-timestamp @@ -7,7 +7,7 @@ . $srcdir/test-lib.sh require_cat -require_diff +require_sed use_local_patch use_tmpdir diff --git a/tests/reject-format b/tests/reject-format index ee93286..628873a 100644 --- a/tests/reject-format +++ b/tests/reject-format @@ -9,7 +9,8 @@ . $srcdir/test-lib.sh require_cat -require_diff +require_sed +require_gnu_diff use_local_patch use_tmpdir diff --git a/tests/remember-backup-files b/tests/remember-backup-files index b475d2f..a12b1d6 100644 --- a/tests/remember-backup-files +++ b/tests/remember-backup-files @@ -9,7 +9,6 @@ . $srcdir/test-lib.sh require_cat -require_diff use_local_patch use_tmpdir diff --git a/tests/remember-reject-files b/tests/remember-reject-files index a732241..2e9b102 100644 --- a/tests/remember-reject-files +++ b/tests/remember-reject-files @@ -7,7 +7,6 @@ . $srcdir/test-lib.sh require_cat -require_diff use_local_patch use_tmpdir diff --git a/tests/test-lib.sh b/tests/test-lib.sh index 10e6bdc..1ba10b2 100644 --- a/tests/test-lib.sh +++ b/tests/test-lib.sh @@ -5,23 +5,32 @@ # in any medium, are permitted without royalty provided the copyright # notice and this notice are preserved. +# FIXME: Requires a version of diff that understands "-u". + require_cat() { if ! type cat > /dev/null 2> /dev/null; then echo "This test requires the cat utility" >&2 - exit 2 + exit 77 fi } -require_diff() { +require_gnu_diff() { case "`diff --version 2> /dev/null`" in *GNU*) ;; *) echo "This test requires GNU diff" >&2 - exit 2 + exit 77 esac } +require_sed() { + if ! type sed > /dev/null 2> /dev/null; then + echo "This test requires the sed utility" >&2 + exit 77 + fi +} + have_ed() { type ed >/dev/null 2>/dev/null } @@ -30,7 +39,7 @@ use_tmpdir() { tmpdir=`mktemp -d ${TMPDIR:-/tmp}/patch.XXXXXXXXXX` if test -z "$tmpdir" ; then echo "This test requires the mktemp utility" >&2 - exit 2 + exit 77 fi cd "$tmpdir" } @@ -53,6 +62,17 @@ clean_env() { VERSION_CONTROL PATCH_VERSION_CONTROL GDB } +if type sed > /dev/null 2> /dev/null; then + eval '_beautify() { + sed -e "1s:.*:--- expected:" \ + -e "2s:.*:+++ got:" + }' +else + eval '_beautify() { + cat + }' +fi + _check() { _start_test "$@" expected=`cat` @@ -65,7 +85,7 @@ _check() { if test "$expected" != "$got" ; then echo "$expected" > expected~ echo "$got" > got~ - diff -u -L expected -L got expected~ got~ + diff -u expected~ got~ | _beautify rm -f expected~ got~ fi checks_failed="$checks_failed + 1" @@ -81,12 +101,12 @@ ncheck() { } cleanup() { + status=$? checks_succeeded=`expr $checks_succeeded` checks_failed=`expr $checks_failed` checks_total=`expr $checks_succeeded + $checks_failed` - status=0 if test $checks_total -gt 0 ; then - if test $checks_failed -gt 0 ; then + if test $checks_failed -gt 0 -a $status -eq 0 ; then status=1 fi echo "$checks_total tests ($checks_succeeded passed," \ diff --git a/tests/unmodified-files b/tests/unmodified-files index c970c3d..e54777a 100644 --- a/tests/unmodified-files +++ b/tests/unmodified-files @@ -7,7 +7,6 @@ . $srcdir/test-lib.sh require_cat -require_diff use_local_patch use_tmpdir |