From cf91b9d62cc936ae4942c1d5def0db448a2c8b25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?= Date: Tue, 11 Apr 2023 13:02:21 +0100 Subject: tests: tty-eof: fix various issues * tests/misc/tty-eof.pl: Ensure we don't erroneously skip commands with parameters. Comment as to why cut(1) is treated differently. Adjust expect calls to not wait needlessly for cut output. --- tests/misc/tty-eof.pl | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/misc/tty-eof.pl b/tests/misc/tty-eof.pl index d429cbb8f..ad639189f 100755 --- a/tests/misc/tty-eof.pl +++ b/tests/misc/tty-eof.pl @@ -69,15 +69,19 @@ $@ { my $exp = new Expect; $exp->log_user(0); - $ENV{built_programs} =~ /\b$cmd\b/ || next; + my $cmd_name = (split(' ', $cmd))[0]; + $ENV{built_programs} =~ /\b$cmd_name\b/ || next; $exp->spawn("$cmd 2> $stderr") or (warn "$ME: cannot run '$cmd': $!\n"), $fail=1, next; - # No input for cut -f2. + # Test cut in a different mode, even though it supports the standard flow + # Ensure that it exits with no input as it used to not do so $cmd =~ /^cut/ or $exp->send("a b\n"); $exp->send("\cD"); # This is Control-D. FIXME: what if that's not EOF? - $exp->expect (0, '-re', "^a b\\r?\$"); - my $found = $exp->expect (1, '-re', "^.+\$"); + $cmd =~ /^cut/ + or $exp->expect (0, '-re', "^a b\\r?\$"); + $cmd =~ /^cut/ + or my $found = $exp->expect (1, '-re', "^.+\$"); $found and warn "F: $found: " . $exp->exp_match () . "\n"; $exp->expect(10, 'eof'); # Expect no output from cut, since we gave it no input. -- cgit v1.2.1