summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiko Tyni <ntyni@debian.org>2018-06-24 16:19:25 +0300
committerNiko Tyni <ntyni@debian.org>2018-06-29 10:20:20 +0200
commitf2789efe8a4c0a856057d67fbb594195651de2b1 (patch)
tree9225520d4476aabaa57d407509602d82a4410e9f
parent7d8d87b92bedd946bf8b4da21b587974eb123294 (diff)
[PATCH] Fix test suite for GnuPG >= 2.2.8 compatibility
GnuPG 2.2.8 onwards issues a hard failure when decrypting messages not using the MDC mode. Bug-Debian: https://bugs.debian.org/900051 Bug: https://github.com/bestpractical/gnupg-interface/pull/1 Gbp-Pq: Name 0001-Fix-test-suite-for-GnuPG-2.2.8-compatibility.patch
-rw-r--r--t/decrypt.t19
1 files changed, 17 insertions, 2 deletions
diff --git a/t/decrypt.t b/t/decrypt.t
index ee41448..2d6740c 100644
--- a/t/decrypt.t
+++ b/t/decrypt.t
@@ -6,6 +6,7 @@
use strict;
use English qw( -no_match_vars );
use File::Compare;
+use version;
use lib './t';
use MyTest;
@@ -13,6 +14,8 @@ use MyTestSpecific;
my $compare;
+my $gnupg_version = version->parse($gnupg->version);
+
TEST
{
reset_handles();
@@ -26,7 +29,13 @@ TEST
close $stdout;
waitpid $pid, 0;
- return $CHILD_ERROR == 0;;
+ if ($gnupg_version < version->parse('2.2.8')) {
+ return $CHILD_ERROR == 0;;
+ } else {
+ local $/ = undef;
+ my $errstr = <$stderr>;
+ return (($CHILD_ERROR >> 8 == 2) and ($errstr =~ /ignore-mdc-error/));
+ }
};
@@ -50,7 +59,13 @@ TEST
waitpid $pid, 0;
- return $CHILD_ERROR == 0;
+ if ($gnupg_version < version->parse('2.2.8')) {
+ return $CHILD_ERROR == 0;
+ } else {
+ local $/ = undef;
+ my $errstr = <$stderr>;
+ return (($CHILD_ERROR >> 8 == 2) and ($errstr =~ /ignore-mdc-error/));
+ }
};