Description: Using 'call' method doesn't reset gpg version GnuPG::Interface allows the use of the 'call' method to change the program to be used. Test that this works. Author: Andrew Ruthven Bug: https://rt.cpan.org/Ticket/Display.html?id=133021 Last-Update: 2021-01-28 --- /dev/null +++ b/t/update_version.t @@ -0,0 +1,33 @@ +#!/usr/bin/perl -w +# +# Request Tracker 4 tests use call() to change the program +# to use to gpg1, however GnuPG::Interface has already set +# the version to 2.2.x and didn't clear the version, therefore +# GnuPG::Interface tried to use --pinentry-mode which +# would fail. +# +# Test to ensure that version is cleared - which is then +# lazy loaded when needed. + +use strict; + +use lib './t'; +use MyTest; + +use GnuPG::Interface; + +my $gnupg = GnuPG::Interface->new(); + +# See that version is set +TEST +{ + $gnupg->cmp_version($gnupg->version, '2.2') > 0; +}; + +$gnupg->call('gpg1'); + +# See that version is set to 1.4.x. +TEST +{ + $gnupg->cmp_version($gnupg->version, '1.5') < 0; +};