X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-update-copyright.sh;h=2d1022a9995ed878cb146b4d2b2091b9f0988d71;hb=de4d0a383be20eb6cbeb09ecbd66a5514779b914;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 <