From 1081bbc74e48010700783a9bb82a4657d1d02bd2 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Wed, 14 May 2008 09:37:02 +0200 Subject: tests: remove ugly /bin/sh wrapper around each perl-based test script * tests/check.mk (TESTS_ENVIRONMENT): Save and restore TMPDIR around envvar-check, so that the few scripts that require $TMPDIR don't fail. This is also good to let a user's default TMPDIR setting be used e.g., in the search for an 'other-partition'. FIXME: this is pretty ugly. maybe undo it and find a better way. (TESTS_ENVIRONMENT): Invoke perl scripts with $(PERL), and use -T if the script requires that. Otherwise, use $(SHELL). * tests/misc/md5sum-newline: Create a file whose name contains a newline in Perl (resort to using "system", since open refuses). Fix old brokenness exposed by this change: * tests/du/files0-from: Correct test not to rely on stdin being attached to a non-tty. * tests/misc/sort (3g, 3h, 3i): Likewise: add explicit empty input file. Avoid warnings about using qw()-around-commas. * tests/rm/fail-eperm: Now that this test is run from a temporary subdirectory, adjust the full name of the "rm" program we're going to run. Change #!/bin/sh to #!/usr/bin/perl, and factor out the few lines of boilerplate code to invoke perl. Do not "require 5.00x"; a configure-time Perl test handles that * tests/dd/skip-seek: * tests/misc/base64: * tests/misc/basename: * tests/misc/cut: * tests/misc/date: * tests/misc/dircolors: * tests/misc/dirname: * tests/misc/expand: * tests/misc/expr: * tests/misc/factor: * tests/misc/fmt: * tests/misc/fold: * tests/misc/head: * tests/misc/head-elide-tail: * tests/misc/join: * tests/misc/ls-misc: * tests/misc/md5sum: * tests/misc/md5sum-newline: * tests/misc/mktemp: * tests/misc/od: * tests/misc/paste: * tests/misc/pr: * tests/misc/printf-cov: * tests/misc/seq: * tests/misc/sha1sum: * tests/misc/sha1sum-vec: * tests/misc/sha224sum: * tests/misc/sha256sum: * tests/misc/sha384sum: * tests/misc/sha512sum: * tests/misc/sort-merge: * tests/misc/stat-printf: * tests/misc/sum: * tests/misc/tac: * tests/misc/tail: * tests/misc/test: * tests/misc/test-diag: * tests/misc/tr: * tests/misc/tsort: * tests/misc/tty-eof: * tests/misc/unexpand: * tests/misc/uniq: * tests/misc/wc: * tests/misc/wc-files0-from: * tests/misc/xstrtol: * tests/mv/i-1: * tests/pr/pr-tests: * tests/rm/empty-name: * tests/rm/fail-eperm: * tests/rm/unreadable: --- tests/misc/tty-eof | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) (limited to 'tests/misc/tty-eof') diff --git a/tests/misc/tty-eof b/tests/misc/tty-eof index 314ae8c20..8a1c38972 100755 --- a/tests/misc/tty-eof +++ b/tests/misc/tty-eof @@ -1,6 +1,8 @@ -#!/bin/sh -# -*- perl -*- +#!/usr/bin/perl # Test whether programs exit upon a single EOF from a tty. +# Ensure that e.g., cat exits upon a single EOF (^D) from a tty. +# Do the same for all programs that can read stdin, +# require no arguments and that write to standard output. # Copyright (C) 2003, 2006, 2007, 2008 Free Software Foundation, Inc. @@ -17,23 +19,8 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -: ${srcdir=.} -. $top_srcdir/tests/require-perl - -# Ensure that $TMPDIR is valid. -TMPDIR=.; export TMPDIR - -ARGV_0=$0 -export ARGV_0 - -exec $PERL -w -- - <<\EOF - -# Ensure that cat exits upon a single EOF (^D) from a tty. -# Do the same for all programs that can read stdin, -# require no arguments and that write to standard output. use strict; - -(my $ME = $ENV{ARGV_0}) =~ s|.*/||; +(my $ME = $0) =~ s|.*/||; # Some older versions of Expect.pm (e.g. 1.07) lack the log_user method, # so check for that, too. @@ -121,4 +108,3 @@ $@ and (warn "$ME: this script requires Perl's Expect package >=1.11\n"), exit $fail } -EOF -- cgit v1.2.3-54-g00ecf