summaryrefslogtreecommitdiff
path: root/tests/misc/base64
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2006-02-27 14:40:49 +0000
committerJim Meyering <jim@meyering.net>2006-02-27 14:40:49 +0000
commit91473aec4c1f8ea4e85f5b7b2449a53eec2bb73f (patch)
tree361c7429fabc18728657e24b0721cc3fc5f19b5a /tests/misc/base64
parentbf515ddf8293efdce973bb6efd9ec666d14ac24c (diff)
downloadcoreutils-91473aec4c1f8ea4e85f5b7b2449a53eec2bb73f.tar.xz
Derive --decode-using tests from the encode-based ones.
Diffstat (limited to 'tests/misc/base64')
-rwxr-xr-xtests/misc/base6440
1 files changed, 32 insertions, 8 deletions
diff --git a/tests/misc/base64 b/tests/misc/base64
index f5c0923a4..11cae87c1 100755
--- a/tests/misc/base64
+++ b/tests/misc/base64
@@ -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};