bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: test-update-copyright requires perl


From: Eric Blake
Subject: Re: test-update-copyright requires perl
Date: Sat, 15 Aug 2009 10:32:55 -0600
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.22) Gecko/20090605 Thunderbird/2.0.0.22 Mnenhy/0.7.6.666

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Jim Meyering on 8/15/2009 9:50 AM:
>> I'm not sure why some invocations work and others fail, but the point is
>> that update-copyright doesn't work as-is on cygwin 1.5; and it also has
>> the annoying failure path of either renaming or worse deleting the
>> original file.  So I'm not sure how best to add skip logic to
>> test-update-copyright to avoid spurious test failures.
> 
> Well, with that, adjusting the test script
> to detect and skip should be trivial.

Thanks - that was enough to get going.  Here's what I'm pushing (I don't
think you'll mind being listed in the ChangeLog).

> However, eventually, (for improved portability) I want to convert
> update-copyright itself not to use that mechanism.  I.e., to have the
> usual #!/usr/bin/perl first line, without any options.  That's also in
> line with the goal of adding --help and --version options.

Yes, it would be good to clean up the #! line.  But we still have to
remember that #!/usr/bin/perl is not required to exist on end user's
machines.  Coreutils even goes so far as to dynamically use $(PERL) during
the testsuite (check.mk's shell_or_perl_ function), exploiting the checks
for perl done during configure.  But while packages like coreutils or
autoconf that already require perl during configure can get away with
that, I don't think it is worth bloating configure to add $(PERL) checking
to simpler packages like m4 that have no other perl dependency.

- --
Don't work too hard, make some time for fun as well!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkqG4zcACgkQ84KuGfSFAYAQowCgk7CzuG4VQSzeULfDFyZY/sq4
60AAnidCSVy+6Lj7AUfVShrZM+Rps/aG
=pIJK
-----END PGP SIGNATURE-----
>From 66a0ae8baa37cf767dc21fbc429c0570d5d8d951 Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Sat, 15 Aug 2009 10:28:30 -0600
Subject: [PATCH] test-update-copyright: skip if perl is insufficient

* tests/test-update-copyright.sh: Failure to run maintainer tool
should not cause testsuite failure on cygwin 1.5.

Signed-off-by: Eric Blake <address@hidden>
---
 ChangeLog                      |    7 +++++++
 tests/test-update-copyright.sh |   17 +++++++++++++++++
 2 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 626400a..b919f1d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2009-08-15  Eric Blake  <address@hidden>
+       and Jim Meyering  <address@hidden>
+
+       test-update-copyright: skip if perl is insufficient
+       * tests/test-update-copyright.sh: Failure to run maintainer tool
+       should not cause testsuite failure on cygwin 1.5.
+
 2009-08-14  Eric Blake  <address@hidden>

        doc: mention more functions added in cygwin 1.7.0
diff --git a/tests/test-update-copyright.sh b/tests/test-update-copyright.sh
index e8a71ce..24574b2 100755
--- a/tests/test-update-copyright.sh
+++ b/tests/test-update-copyright.sh
@@ -24,6 +24,23 @@ else
 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
+printf '#!/usr/bin/perl -pi\ns/a/b/\n' > $s
+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
+  }

 ## ----------------------------- ##
 ## Examples from documentation.  ##
-- 
1.6.3.3.334.g916e1


reply via email to

[Prev in Thread] Current Thread [Next in Thread]