tests: sync and update wc and du --files0-from tests
authorJim Meyering <meyering@redhat.com>
Thu, 15 May 2008 09:43:18 +0000 (11:43 +0200)
committerJim Meyering <meyering@redhat.com>
Sat, 17 May 2008 06:29:00 +0000 (08:29 +0200)
* tests/du/files0-from: Sync from tests/misc/wc-files0-from.
(minus-in-minus): New test.
Adjust for new diagnostics.
* tests/misc/wc-files0-from: Adjust for new diagnostics.

tests/du/files0-from
tests/misc/wc-files0-from

index 26a749961f141ffb319614d0385ad3d1eda4ec10..3e299f34e916f23a6faeee732be18087a298f5df 100755 (executable)
@@ -1,5 +1,6 @@
 #!/usr/bin/perl
 # Exercise du's --files0-from option.
+# FIXME: keep this file in sync with tests/misc/wc-files0-from.
 
 # Copyright (C) 2004, 2005, 2007-2008 Free Software Foundation, Inc.
 
@@ -20,7 +21,7 @@ use strict;
 
 (my $program_name = $0) =~ s|.*/||;
 
-$ENV{PROG} = 'du';
+my $prog = 'du';
 
 # Turn off localization of executable's output.
 @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3;
@@ -29,16 +30,21 @@ my @Tests =
   (
    # invalid extra command line argument
    ['f-extra-arg', '--files0-from=- no-such', {IN=>"a"}, {EXIT=>1},
-    {ERR => "du: extra operand `no-such'\n"
-       . "File operands cannot be combined with --files0-from.\n"
-       . "Try `du --help' for more information.\n"}
+    {ERR => "$prog: extra operand `no-such'\n"
+        . "File operands cannot be combined with --files0-from.\n"
+        . "Try `$prog --help' for more information.\n"}
     ],
 
    # missing input file
    ['missing', '--files0-from=missing', {EXIT=>1},
-    {ERR => "du: cannot open `missing' for reading: "
+    {ERR => "$prog: cannot open `missing' for reading: "
      . "No such file or directory\n"}],
 
+   # input file name of '-'
+   ['minus-in-stdin', '--files0-from=-', '<', {IN=>{f=>'-'}}, {EXIT=>1},
+    {ERR => "$prog: when reading file names from stdin, no file name of"
+     . " `-' allowed\n"}],
+
    # empty input, regular file
    ['empty', '--files0-from=@AUX@', {AUX=>''}],
 
@@ -47,12 +53,12 @@ my @Tests =
 
    # one NUL
    ['nul-1', '--files0-from=-', '<', {IN=>"\0"}, {EXIT=>1},
-    {ERR => "du: -:1: invalid zero-length file name\n"}],
+    {ERR => "$prog: -:1: invalid zero-length file name\n"}],
 
    # two NULs
    ['nul-2', '--files0-from=-', '<', {IN=>"\0\0"}, {EXIT=>1},
-    {ERR => "du: -:1: invalid zero-length file name\n"
-          . "du: -:2: invalid zero-length file name\n"}],
+    {ERR => "$prog: -:1: invalid zero-length file name\n"
+          . "$prog: -:2: invalid zero-length file name\n"}],
 
    # one file name, no NUL
    ['1', '--files0-from=-', '<',
@@ -74,16 +80,15 @@ my @Tests =
     {IN=>{f=>"g\0g\0"}}, {AUX=>{g=>''}},
     {OUT=>"0\tg\n0\tg\n"}, {OUT_SUBST=>'s/^\d+/0/'} ],
 
-   # Ensure that du processes FILEs following a zero-length name.
+   # Ensure that $prog processes FILEs following a zero-length name.
    ['zero-len', '--files0-from=-', '<',
     {IN=>{f=>"\0g\0"}}, {AUX=>{g=>''}},
     {OUT=>"0\tg\n"}, {OUT_SUBST=>'s/^\d+/0/'},
-    {ERR => "du: -:1: invalid zero-length file name\n"}, {EXIT=>1} ],
+    {ERR => "$prog: -:1: invalid zero-length file name\n"}, {EXIT=>1} ],
   );
 
 my $save_temps = $ENV{DEBUG};
 my $verbose = $ENV{VERBOSE};
 
-my $prog = $ENV{PROG} || die "$0: \$PROG not specified in environment\n";
 my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose);
 exit $fail;
index 85970ff21822bc9513f4804b49ec8092ec9c1026..505014301ba6e9de087dca50b0f5330b45b8aea2 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 # Exercise wc's --files0-from option.
-# This file bears a striking resemblance to tests/du/files0-from.
+# FIXME: keep this file in sync with tests/du/files0-from.
 
 # Copyright (C) 2006-2008 Free Software Foundation, Inc.
 
@@ -31,8 +31,8 @@ my @Tests =
    # invalid extra command line argument
    ['f-extra-arg', '--files0-from=- no-such', {IN=>"a"}, {EXIT=>1},
     {ERR => "$prog: extra operand `no-such'\n"
-       . "File operands cannot be combined with --files0-from.\n"
-       . "Try `$prog --help' for more information.\n"}
+        . "File operands cannot be combined with --files0-from.\n"
+        . "Try `$prog --help' for more information.\n"}
     ],
 
    # missing input file
@@ -40,21 +40,26 @@ my @Tests =
     {ERR => "$prog: cannot open `missing' for reading: "
      . "No such file or directory\n"}],
 
-   # empty input
-   ['empty', '--files0-from=-'],
+   # input file name of '-'
+   ['minus-in-stdin', '--files0-from=-', '<', {IN=>{f=>'-'}}, {EXIT=>1},
+    {ERR => "$prog: when reading file names from stdin, no file name of"
+     . " `-' allowed\n"}],
+
+   # empty input, regular file
+   ['empty', '--files0-from=@AUX@', {AUX=>''}],
 
    # empty input, from non-regular file
    ['empty-nonreg', '--files0-from=/dev/null'],
 
    # one NUL
    ['nul-1', '--files0-from=-', '<', {IN=>"\0"}, {EXIT=>1},
-    {ERR => "$prog: : No such file or directory\n"}],
+    {ERR => "$prog: -:1: invalid zero-length file name\n"}],
 
    # two NULs
    ['nul-2', '--files0-from=-', '<', {IN=>"\0\0"}, {EXIT=>1},
     {OUT=>"0 0 0 total\n"},
-    {ERR => "$prog: : No such file or directory\n"
-          . "$prog: : No such file or directory\n"}],
+    {ERR => "$prog: -:1: invalid zero-length file name\n"
+          . "$prog: -:2: invalid zero-length file name\n"}],
 
    # one file name, no NUL
    ['1', '--files0-from=-', '<',
@@ -74,11 +79,11 @@ my @Tests =
     {IN=>{f=>"g\0g\0"}}, {AUX=>{g=>''}},
      {OUT=>"0 0 0 g\n0 0 0 g\n0 0 0 total\n"} ],
 
-   # Ensure that wc processes FILEs following a zero-length name.
+   # Ensure that $prog processes FILEs following a zero-length name.
    ['zero-len', '--files0-from=-', '<',
     {IN=>{f=>"\0g\0"}}, {AUX=>{g=>''}},
     {OUT=>"0 0 0 g\n0 0 0 total\n"},
-    {ERR => "$prog: : No such file or directory\n"}, {EXIT=>1} ],
+    {ERR => "$prog: -:1: invalid zero-length file name\n"}, {EXIT=>1} ],
   );
 
 my $save_temps = $ENV{DEBUG};