| |
| |
|
|
| |
|
|
| |
| |
| |
| |
|
|
| |
| |
| |
| |
|
|
| |
| |
|
|
| require 5.003; |
| use strict; |
|
|
| |
| @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; |
|
|
| my %exit_status = |
| ( |
| ls => 2, |
| dir => 2, |
| vdir => 2, |
| test => 2, |
| chroot => 125, |
| echo => 0, |
| env => 125, |
| expr => 0, |
| nice => 125, |
| nohup => 125, |
| runcon => 125, |
| sort => 2, |
| stdbuf => 125, |
| test => 0, |
| timeout => 125, |
| true => 0, |
| tty => 2, |
| printf => 0, |
| printenv => 2, |
| ); |
|
|
| my %expected_out = |
| ( |
| echo => "-/\n", |
| expr => "-/\n", |
| printf => "-/", |
| ); |
|
|
| my %expected_err = |
| ( |
| false => '', |
| stty => '', |
| ); |
|
|
| my $fail = 0; |
| my @built_programs = split ' ', $ENV{built_programs}; |
| foreach my $prog (@built_programs) |
| { |
| $prog eq '[' |
| and next; |
|
|
| my $try = "Try '$prog --help' for more information.\n"; |
| my $x = $exit_status{$prog}; |
| defined $x |
| or $x = 1; |
|
|
| my $out = $expected_out{$prog}; |
| defined $out |
| or $out = ''; |
|
|
| my $err = $expected_err{$prog}; |
| defined $err |
| or $err = $x == 0 ? '' : "$prog: invalid option -- /\n$try"; |
|
|
| |
| |
| |
| my $err_subst = "s,'/',/,; s,unknown,invalid,"; |
|
|
| |
| |
| $prog eq 'stty' |
| and $err_subst = 's/(.|\n)*//ms'; |
|
|
| my @Tests = (["$prog-invalid-opt", '-/', {OUT=>$out}, |
| {ERR_SUBST => $err_subst}, |
| {EXIT=>$x}, {ERR=>$err}]); |
|
|
| my $save_temps = $ENV{DEBUG}; |
| my $verbose = $ENV{VERBOSE}; |
|
|
| my $f = run_tests ($prog, \$prog, \@Tests, $save_temps, $verbose); |
| $f |
| and $fail = 1; |
| } |
|
|
| exit $fail; |
|
|