diff options
author | Jim Meyering <jim@meyering.net> | 2002-12-14 17:19:32 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 2002-12-14 17:19:32 +0000 |
commit | c5e036dcd4022a964b2422e3c4633d15da884fbe (patch) | |
tree | c62325bfc53004b09cd6f39dc4b1598efaf7538f /tests | |
parent | 5b372bd3cc86aca74c18d8ebeb261c48702c0c40 (diff) | |
download | coreutils-c5e036dcd4022a964b2422e3c4633d15da884fbe.tar.xz |
test for a bug that appeared in cat from using a bad version of safe-read.c
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/misc/cat-tty-eof | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/misc/cat-tty-eof b/tests/misc/cat-tty-eof new file mode 100755 index 000000000..acb0ff844 --- /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 |