X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=inline;f=tests%2Ftest-update-copyright.sh;h=2d1022a9995ed878cb146b4d2b2091b9f0988d71;hb=2e9258c30f22f1ef53bea4a1e1b23fad4e8110fd;hp=b72abbb8cf844cb0587aea5fb690c87d1c6be692;hpb=48145b34f1f204205bb6a205c92f69e9a6a49d8c;p=gnulib.git
diff --git a/tests/test-update-copyright.sh b/tests/test-update-copyright.sh
index b72abbb8c..2d1022a99 100755
--- a/tests/test-update-copyright.sh
+++ b/tests/test-update-copyright.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Test suite for update-copyright.
-# Copyright (C) 2009 Free Software Foundation, Inc.
+# Copyright (C) 2009-2010 Free Software Foundation, Inc.
# This file is part of the GNUlib Library.
#
# This program is free software: you can redistribute it and/or modify
@@ -16,7 +16,40 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
+diffout=`diff -u /dev/null /dev/null 2>&1`
+if test x"$diffout" = x"" && test $? -eq 0; then
+ compare() { diff -u "$@"; }
+else
+ compare() { cmp "$@"; }
+fi
+
TMP_BASE=update-copyright.test
+trap 'rm -f $TMP_BASE*' 0 1 2 3 15
+
+## --------------------------------- ##
+## Skip if user does not have perl. ##
+## --------------------------------- ##
+
+TMP=$TMP_BASE
+s=$TMP-script
+cat <<\EOF > $s
+eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" ${1+"$@"}'
+ & eval 'exec perl -wS -0777 -pi "$0" $argv:q'
+ if 0;
+s/a/b/
+EOF
+chmod a+x $s
+echo a > $TMP-in
+./$s $TMP-in 2>/dev/null && test b = "`cat $TMP-in 2>/dev/null`" ||
+ {
+ printf '%s\n' "$0: skipping this test;" \
+ 'your system has insufficient support for Perl' 1>&2
+ exit 77
+ }
+
+# Do not let a different envvar setting perturb results.
+UPDATE_COPYRIGHT_MAX_LINE_LENGTH=72
+export UPDATE_COPYRIGHT_MAX_LINE_LENGTH
## ----------------------------- ##
## Examples from documentation. ##
@@ -24,98 +57,167 @@ TMP_BASE=update-copyright.test
TMP=$TMP_BASE-ex
cat > $TMP.1 < $TMP.2 < $TMP.3 < $TMP.4 < $TMP.5 < $TMP.6 < $TMP.5 < $TMP.7 < $TMP-stdout 2> $TMP-stderr
-diff -u /dev/null $TMP-stdout || exit 1
-diff -u - $TMP-stderr < $TMP-stdout 2> $TMP-stderr
-diff -u /dev/null $TMP-stdout || exit 1
-diff -u - $TMP-stderr < $TMP-stdout 2> $TMP-stderr
+compare /dev/null $TMP-stdout || exit 1
+compare - $TMP-stderr <[5] + 1900'`;
+YEAR=`date +%Y`
cat > $TMP < $TMP-stdout 2> $TMP-stderr
-diff -u /dev/null $TMP-stdout || exit 1
-diff -u /dev/null $TMP-stderr || exit 1
-diff -u - $TMP < $TMP-stdout 2> $TMP-stderr
+compare /dev/null $TMP-stdout || exit 1
+compare /dev/null $TMP-stderr || exit 1
+compare - $TMP < $TMP-stdout 2> $TMP-stderr
-diff -u /dev/null $TMP-stdout || exit 1
-diff -u /dev/null $TMP-stderr || exit 1
-diff -u - $TMP < $TMP < $TMP-stdout 2> $TMP-stderr
-diff -u /dev/null $TMP-stdout || exit 1
-diff -u /dev/null $TMP-stderr || exit 1
-diff -u - $TMP < $TMP-stdout 2> $TMP-stderr
+compare /dev/null $TMP-stdout || exit 1
+compare /dev/null $TMP-stderr || exit 1
+compare - $TMP < $TMP < $TMP-stdout 2> $TMP-stderr
-diff -u /dev/null $TMP-stdout || exit 1
-diff -u - $TMP-stderr < $TMP-stdout 2> $TMP-stderr
-diff -u /dev/null $TMP-stdout || exit 1
-diff -u - $TMP-stderr < $TMP < $TMP-stdout 2> $TMP-stderr
-diff -u /dev/null $TMP-stdout || exit 1
-diff -u /dev/null $TMP-stderr || exit 1
-diff -u - $TMP < $TMP-stdout 2> $TMP-stderr
+compare /dev/null $TMP-stdout || exit 1
+compare /dev/null $TMP-stderr || exit 1
+compare - $TMP < $TMP < $TMP-stdout 2> $TMP-stderr
-diff -u /dev/null $TMP-stdout || exit 1
-diff -u /dev/null $TMP-stderr || exit 1
-diff -u - $TMP < $TMP-stdout 2> $TMP-stderr
+compare /dev/null $TMP-stdout || exit 1
+compare /dev/null $TMP-stderr || exit 1
+compare - $TMP < $TMP <<\EOF
+Rem Copyright (C) 87, 88, 1991, 1992, 1993, 1994, 1995, 1996, 1997,@
+Rem 98, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,@
+Rem 2009 Free Software Foundation, Inc.@
+EOF
+UPDATE_COPYRIGHT_YEAR=2010 \
+ update-copyright $TMP 1> $TMP-stdout 2> $TMP-stderr
+compare /dev/null $TMP-stdout || exit 1
+compare /dev/null $TMP-stderr || exit 1
+tr @ '\015' > $TMP-exp <<\EOF
+Rem Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997,@
+Rem 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,@
+Rem 2009, 2010 Free Software Foundation, Inc.@
+EOF
+compare $TMP-exp $TMP || exit 1
+rm $TMP*
+
+## --------------- ##
+## Omitted "(C)". ##
+## --------------- ##
+
+TMP=$TMP_BASE-omitted-circle-c
cat > $TMP < $TMP-stdout 2> $TMP-stderr
-diff -u /dev/null $TMP-stdout || exit 1
-diff -u /dev/null $TMP-stderr || exit 1
-diff -u - $TMP < $TMP.star < $TMP.space < $TMP.single-line < $TMP.single-line-wrapped < $TMP.extra-text-star < $TMP.extra-text-space < $TMP-stdout 2> $TMP-stderr
+compare /dev/null $TMP-stdout || exit 1
+compare /dev/null $TMP-stderr || exit 1
+compare - $TMP.star <