From c5e036dcd4022a964b2422e3c4633d15da884fbe Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sat, 14 Dec 2002 17:19:32 +0000 Subject: [PATCH] test for a bug that appeared in cat from using a bad version of safe-read.c --- tests/misc/cat-tty-eof | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 tests/misc/cat-tty-eof diff --git a/tests/misc/cat-tty-eof b/tests/misc/cat-tty-eof new file mode 100755 index 0000000..acb0ff8 --- /dev/null +++ b/tests/misc/cat-tty-eof @@ -0,0 +1,36 @@ +#!/bin/sh + +: ${PERL=perl} + +case "$PERL" in + *'missing perl') + echo 1>&2 "$0: configure didn't find a usable version of Perl, so can't run thi +s test" + exit 77 + ;; +esac + +exec $PERL -w -- - <<\EOF + +# Ensure that cat exits upon a single EOF (^D) from a tty. +# FIXME: do something like `stty eof ^D'. +use strict; + +(my $ME = $0) =~ s|.*/||; + +eval { require Expect }; +$@ and (warn "$ME: this script requires Perl's Expect package\n"), exit 77; + +{ + my $exp = new Expect; + # $exp->log_user(0); + $exp->spawn('cat') + or die "$ME: cannot run `cat': $!\n"; + + $exp->send(''); + !defined $exp->exitstatus || $exp->exitstatus + or die "$ME: cat didn't exit after ^D from standard input\n"; + $exp->hard_close(); + exit 0 +} +EOF -- 2.7.4