From: Pádraig Brady
Date: Tue, 11 Apr 2023 12:02:21 +0000 (+0100) Subject: tests: tty-eof: fix various issues X-Git-Tag: v9.3~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cf91b9d62cc936ae4942c1d5def0db448a2c8b25;p=thirdparty%2Fcoreutils.git 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. --- diff --git a/tests/misc/tty-eof.pl b/tests/misc/tty-eof.pl index d429cbb8ff..ad639189f0 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.