From: Jim Meyering Date: Sat, 15 Aug 1998 20:05:59 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: FILEUTILS-3_16u~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=65ce4687f5c137c3aab223d004523bda48d4be77;p=thirdparty%2Fcoreutils.git *** empty log message *** --- diff --git a/tests/ls-2/T.pm b/tests/ls-2/T.pm index a757cd5199..47ab88f4f7 100644 --- a/tests/ls-2/T.pm +++ b/tests/ls-2/T.pm @@ -13,14 +13,23 @@ $VERSION = '0.5'; my @Types = qw (IN OUT ERR EXIT); my %Types = map {$_ => 1} @Types; +my %Zero_one_type = map {$_ => 1} qw (OUT ERR EXIT); my $count = 1; -sub _create_file ($$$) +sub _create_file ($$$$) { - my ($program_name, $test_name, $data) = @_; + my ($program_name, $test_name, $file_name, $data) = @_; my $file = "$test_name-$$.$count"; - ++$count; + if (defined $file_name) + { + $file = $file_name; + } + else + { + $file = "$test_name-$$.$count"; + ++$count; + } # The test spec gave a string. # Write it to a temp file and return tempfile name. @@ -92,11 +101,14 @@ sub run_tests ($$$$$) if $n != 1; my ($type, $val) = each %$io_spec; die "$program_name: $test_name: invalid key `$type' in test spec\n" - if ! $Types{$type}; + if ! $Types{$type}; + + # Make sure there's no more than one of OUT, ERR, EXIT. + die "$program_name: $test_name: more than one $type spec\n" + if $Zero_one_type{$type} and $seen_type{$type}++; if ($type eq 'EXIT') { - # FIXME: make sure there's only one of these # FIXME: make sure $data is numeric $exit_status = $val; next; @@ -121,6 +133,11 @@ sub run_tests ($$$$$) die "$program_name: $test_name: invalid RHS in $type-spec\n" } + my $is_junk_file = (! defined $filename); + my $file = _create_file ($program_name, $test_name, $filename, $data); + push @junk_files, $file + if $is_junk_file; + if ($type =~ /_FILE$/ || $type =~ /_DATA$/) { my $file;