]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
Derive --decode-using tests from the encode-based ones.
authorJim Meyering <jim@meyering.net>
Mon, 27 Feb 2006 14:40:49 +0000 (14:40 +0000)
committerJim Meyering <jim@meyering.net>
Mon, 27 Feb 2006 14:40:49 +0000 (14:40 +0000)
tests/misc/base64

index f5c0923a4d85cfd6ab7a0bec889ed0a980e01f3b..11cae87c1ceb9f86265fb121d17507eecee6e497 100755 (executable)
@@ -28,14 +28,14 @@ my @Tests =
      ['empty', {IN=>''}, {OUT=>""}],
      ['inout', {IN=>'a'}, {OUT=>"YQ==\n"}],
      ['wrap', '--wrap 0', {IN=>'foo'}, {OUT=>'Zm9v'}],
-     ['wrap5-39', '--wrap 5', {IN=>'a' x 39}, {OUT=>"${a39}\n"}],
-     ['wrap5-40', '--wrap 5', {IN=>'a' x 40}, {OUT=>"${a39}YQ=\n=\n"}],
-     ['wrap5-41', '--wrap 5', {IN=>'a' x 41}, {OUT=>"${a39}YWE\n=\n"}],
-     ['wrap5-42', '--wrap 5', {IN=>'a' x 42}, {OUT=>"${a39}YWF\nh\n"}],
-     ['wrap5-43', '--wrap 5', {IN=>'a' x 43}, {OUT=>"${a39}YWF\nhYQ==\n"}],
-     ['wrap5-44', '--wrap 5', {IN=>'a' x 44}, {OUT=>"${a39}YWF\nhYWE=\n"}],
-     ['wrap5-45', '--wrap 5', {IN=>'a' x 45}, {OUT=>"${a39}YWF\nhYWFh\n"}],
-     ['wrap5-46', '--wrap 5', {IN=>'a' x 46}, {OUT=>"${a39}YWF\nhYWFh\nYQ==\n"}],
+     ['wrap5-39', '--wrap=5', {IN=>'a' x 39}, {OUT=>"${a39}\n"}],
+     ['wrap5-40', '--wrap=5', {IN=>'a' x 40}, {OUT=>"${a39}YQ=\n=\n"}],
+     ['wrap5-41', '--wrap=5', {IN=>'a' x 41}, {OUT=>"${a39}YWE\n=\n"}],
+     ['wrap5-42', '--wrap=5', {IN=>'a' x 42}, {OUT=>"${a39}YWF\nh\n"}],
+     ['wrap5-43', '--wrap=5', {IN=>'a' x 43}, {OUT=>"${a39}YWF\nhYQ==\n"}],
+     ['wrap5-44', '--wrap=5', {IN=>'a' x 44}, {OUT=>"${a39}YWF\nhYWE=\n"}],
+     ['wrap5-45', '--wrap=5', {IN=>'a' x 45}, {OUT=>"${a39}YWF\nhYWFh\n"}],
+     ['wrap5-46', '--wrap=5', {IN=>'a' x 46}, {OUT=>"${a39}YWF\nhYWFh\nYQ==\n"}],
      ['baddecode', '--decode', {IN=>'a'}, {OUT=>""},
       {ERR_SUBST => 's/.*: invalid input//'}, {ERR => "\n"}, {EXIT => 1}],
      ['baddecode2', '--decode', {IN=>'ab'}, {OUT=>"i"},
@@ -48,6 +48,30 @@ my @Tests =
       {ERR_SUBST => 's/.*: invalid input//'}, {ERR => "\n"}, {EXIT => 1}]
     );
 
+# For each non-failing test, create a --decode test using the
+# expected output (with newlines removed) as input.
+my @new;
+foreach my $t (@Tests)
+  {
+    my $exit_val;
+    my $in;
+    my $out;
+    foreach my $e (@$t)
+      {
+        ref $e && ref $e eq 'HASH'
+         or next;
+        defined $e->{EXIT}
+         and $exit_val = $e->{EXIT};
+       defined $e->{IN}
+         and $in = $e->{IN};
+       defined $e->{OUT}
+         and ($out = $e->{OUT}) =~ tr/\n//d;
+      }
+    defined $out && ! $exit_val
+      and push @new, ["d-$t->[0]", '--decode', {IN => $out}, {OUT => $in}];
+  }
+push @Tests, @new;
+
 my $save_temps = $ENV{DEBUG};
 my $verbose = $ENV{VERBOSE};