From f370255c3a8a25face097f2b94912ad649de3b87 Mon Sep 17 00:00:00 2001 From: Xavier Guimard Date: Tue, 2 Jul 2019 08:55:56 +0200 Subject: [PATCH] Fix Perl dependencies (see RT#129960) --- lemonldap-ng-portal/Makefile.PL | 4 ++++ lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-Logout-20.t | 3 +++ lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-Logout-30.t | 3 +++ .../t/31-Auth-and-issuer-CAS-XSS-on-logout.t | 3 +++ .../t/31-Auth-and-issuer-CAS-declared-app-userattr.t | 3 +++ lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-declared-app.t | 3 +++ .../t/31-Auth-and-issuer-CAS-declared-apps.t | 3 +++ lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-default.t | 3 +++ lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-gateway.t | 3 +++ lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-proxied.t | 3 +++ .../t/31-Auth-and-issuer-CAS-with-choice-and-cancel.t | 3 +++ lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-with-choice.t | 3 +++ lemonldap-ng-portal/t/32-CAS-10.t | 3 +++ .../t/37-CAS-App-to-SAML-IdP-POST-with-WAYF.t | 4 ++-- lemonldap-ng-portal/t/37-CAS-App-to-SAML-IdP-POST.t | 4 ++-- .../t/37-SAML-SP-POST-to-CAS-server-with-Choice.t | 4 ++-- lemonldap-ng-portal/t/37-SAML-SP-POST-to-CAS-server.t | 4 ++-- lemonldap-ng-portal/t/42-Register-Demo-with-captcha.t | 2 +- lemonldap-ng-portal/t/42-Register-Demo-with-token.t | 2 +- lemonldap-ng-portal/t/42-Register-Demo.t | 2 +- lemonldap-ng-portal/t/42-Register-Security.t | 2 +- lemonldap-ng-portal/t/70-2F-TOTP-with-TTL-and-XML.t | 6 +++++- 22 files changed, 57 insertions(+), 13 deletions(-) diff --git a/lemonldap-ng-portal/Makefile.PL b/lemonldap-ng-portal/Makefile.PL index 65c605318..782fd5572 100644 --- a/lemonldap-ng-portal/Makefile.PL +++ b/lemonldap-ng-portal/Makefile.PL @@ -27,6 +27,7 @@ WriteMakefile( 'Net::OpenID::Consumer' => 0, 'Net::OpenID::Server' => 0, 'SOAP::Lite' => 0, + 'Text::Unidecode' => 0, 'Unicode::String' => 0, 'Web::ID' => 0, }, @@ -55,6 +56,9 @@ WriteMakefile( 'MIME::Entity' => 0, 'SOAP::Lite' => 0, 'String::Random' => 0, + 'Text::Unidecode' => 0, + 'XML::LibXML' => 0, + 'XML::Simple' => 0, }, PREREQ_PM => { 'Clone' => 0, diff --git a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-Logout-20.t b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-Logout-20.t index d88bf2ecd..2192d1f49 100644 --- a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-Logout-20.t +++ b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-Logout-20.t @@ -14,6 +14,9 @@ my $debug = 'error'; my ( $issuer, $sp, $res ); my %handlerOR = ( issuer => [], sp => [] ); +eval { require XML::Simple }; +plan skip_all => "Missing dependencies: $@" if ($@); + # Redefine LWP methods for tests LWP::Protocol::PSGI->register( sub { diff --git a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-Logout-30.t b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-Logout-30.t index 3bece21d1..7162ff2ee 100644 --- a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-Logout-30.t +++ b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-Logout-30.t @@ -14,6 +14,9 @@ my $debug = 'error'; my ( $issuer, $sp, $res ); my %handlerOR = ( issuer => [], sp => [] ); +eval { require XML::Simple }; +plan skip_all => "Missing dependencies: $@" if ($@); + # Redefine LWP methods for tests LWP::Protocol::PSGI->register( sub { diff --git a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-XSS-on-logout.t b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-XSS-on-logout.t index 1d3106695..0a42ec347 100644 --- a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-XSS-on-logout.t +++ b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-XSS-on-logout.t @@ -14,6 +14,9 @@ my $debug = 'error'; my ( $issuer, $sp, $res ); my %handlerOR = ( issuer => [], sp => [] ); +eval { require XML::Simple }; +plan skip_all => "Missing dependencies: $@" if ($@); + # Redefine LWP methods for tests LWP::Protocol::PSGI->register( sub { diff --git a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-declared-app-userattr.t b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-declared-app-userattr.t index 3926787dc..88b10cc7d 100644 --- a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-declared-app-userattr.t +++ b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-declared-app-userattr.t @@ -14,6 +14,9 @@ my $debug = 'error'; my ( $issuer, $sp, $res ); my %handlerOR = ( issuer => [], sp => [] ); +eval { require XML::Simple }; +plan skip_all => "Missing dependencies: $@" if ($@); + # Redefine LWP methods for tests LWP::Protocol::PSGI->register( sub { diff --git a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-declared-app.t b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-declared-app.t index fec6ba40d..0c7e92967 100644 --- a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-declared-app.t +++ b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-declared-app.t @@ -14,6 +14,9 @@ my $debug = 'error'; my ( $issuer, $sp, $res ); my %handlerOR = ( issuer => [], sp => [] ); +eval { require XML::Simple }; +plan skip_all => "Missing dependencies: $@" if ($@); + # Redefine LWP methods for tests LWP::Protocol::PSGI->register( sub { diff --git a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-declared-apps.t b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-declared-apps.t index 94826cfe9..ed2e1b4de 100644 --- a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-declared-apps.t +++ b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-declared-apps.t @@ -14,6 +14,9 @@ my $debug = 'error'; my ( $issuer, $sp, $res ); my %handlerOR = ( issuer => [], sp => [] ); +eval { require XML::Simple }; +plan skip_all => "Missing dependencies: $@" if ($@); + # Redefine LWP methods for tests LWP::Protocol::PSGI->register( sub { diff --git a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-default.t b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-default.t index f9742e032..b1894b239 100644 --- a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-default.t +++ b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-default.t @@ -14,6 +14,9 @@ my $debug = 'error'; my ( $issuer, $sp, $res ); my %handlerOR = ( issuer => [], sp => [] ); +eval { require XML::Simple }; +plan skip_all => "Missing dependencies: $@" if ($@); + # Redefine LWP methods for tests LWP::Protocol::PSGI->register( sub { diff --git a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-gateway.t b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-gateway.t index 77023dd06..8710ebda8 100644 --- a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-gateway.t +++ b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-gateway.t @@ -14,6 +14,9 @@ my $debug = 'error'; my ( $issuer, $sp, $res ); my %handlerOR = ( issuer => [], sp => [] ); +eval { require XML::Simple }; +plan skip_all => "Missing dependencies: $@" if ($@); + # Redefine LWP methods for tests LWP::Protocol::PSGI->register( sub { diff --git a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-proxied.t b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-proxied.t index cbd6a2656..45c5b631e 100644 --- a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-proxied.t +++ b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-proxied.t @@ -14,6 +14,9 @@ my $debug = 'error'; my ( $issuer, $sp, $res ); my %handlerOR = ( issuer => [], sp => [] ); +eval { require XML::Simple }; +plan skip_all => "Missing dependencies: $@" if ($@); + # Redefine LWP methods for tests LWP::Protocol::PSGI->register( sub { diff --git a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-with-choice-and-cancel.t b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-with-choice-and-cancel.t index 2ab95ecfa..3b0464d0e 100644 --- a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-with-choice-and-cancel.t +++ b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-with-choice-and-cancel.t @@ -16,6 +16,9 @@ my $debug = 'error'; my ( $issuer, $sp, $res ); my %handlerOR = ( issuer => [], sp => [] ); +eval { require XML::Simple }; +plan skip_all => "Missing dependencies: $@" if ($@); + # Redefine LWP methods for tests LWP::Protocol::PSGI->register( sub { diff --git a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-with-choice.t b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-with-choice.t index 92a238a4a..998a3bd3b 100644 --- a/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-with-choice.t +++ b/lemonldap-ng-portal/t/31-Auth-and-issuer-CAS-with-choice.t @@ -16,6 +16,9 @@ my $debug = 'error'; my ( $issuer, $sp, $res ); my %handlerOR = ( issuer => [], sp => [] ); +eval { require XML::Simple }; +plan skip_all => "Missing dependencies: $@" if ($@); + # Redefine LWP methods for tests LWP::Protocol::PSGI->register( sub { diff --git a/lemonldap-ng-portal/t/32-CAS-10.t b/lemonldap-ng-portal/t/32-CAS-10.t index f94e8594a..6d98cd6bc 100644 --- a/lemonldap-ng-portal/t/32-CAS-10.t +++ b/lemonldap-ng-portal/t/32-CAS-10.t @@ -14,6 +14,9 @@ my $debug = 'error'; my ( $issuer, $res ); my %handlerOR = ( issuer => [] ); +eval { require XML::Simple }; +plan skip_all => "Missing dependencies: $@" if ($@); + ok( $issuer = issuer(), 'Issuer portal' ); count(1); switch ('issuer'); diff --git a/lemonldap-ng-portal/t/37-CAS-App-to-SAML-IdP-POST-with-WAYF.t b/lemonldap-ng-portal/t/37-CAS-App-to-SAML-IdP-POST-with-WAYF.t index 251b6cc9c..879ceac0a 100644 --- a/lemonldap-ng-portal/t/37-CAS-App-to-SAML-IdP-POST-with-WAYF.t +++ b/lemonldap-ng-portal/t/37-CAS-App-to-SAML-IdP-POST-with-WAYF.t @@ -58,9 +58,9 @@ LWP::Protocol::PSGI->register( ); SKIP: { - eval "use Lasso"; + eval "use Lasso;use XML::Simple"; if ($@) { - skip 'Lasso not found', $maintests; + skip 'Lasso or XML::Simple not found', $maintests; } # Initialization diff --git a/lemonldap-ng-portal/t/37-CAS-App-to-SAML-IdP-POST.t b/lemonldap-ng-portal/t/37-CAS-App-to-SAML-IdP-POST.t index ae41d14c0..bb7a7a863 100644 --- a/lemonldap-ng-portal/t/37-CAS-App-to-SAML-IdP-POST.t +++ b/lemonldap-ng-portal/t/37-CAS-App-to-SAML-IdP-POST.t @@ -58,9 +58,9 @@ LWP::Protocol::PSGI->register( ); SKIP: { - eval "use Lasso"; + eval "use Lasso;use XML::Simple"; if ($@) { - skip 'Lasso not found', $maintests; + skip 'Lasso or XML::Simple not found', $maintests; } # Initialization diff --git a/lemonldap-ng-portal/t/37-SAML-SP-POST-to-CAS-server-with-Choice.t b/lemonldap-ng-portal/t/37-SAML-SP-POST-to-CAS-server-with-Choice.t index d3fc94c52..23bc0e863 100644 --- a/lemonldap-ng-portal/t/37-SAML-SP-POST-to-CAS-server-with-Choice.t +++ b/lemonldap-ng-portal/t/37-SAML-SP-POST-to-CAS-server-with-Choice.t @@ -58,9 +58,9 @@ LWP::Protocol::PSGI->register( ); SKIP: { - eval "use Lasso"; + eval "use Lasso;use XML::Simple"; if ($@) { - skip 'Lasso not found', $maintests; + skip 'Lasso or XML::Simple not found', $maintests; } # Initialization diff --git a/lemonldap-ng-portal/t/37-SAML-SP-POST-to-CAS-server.t b/lemonldap-ng-portal/t/37-SAML-SP-POST-to-CAS-server.t index 7167f8427..cedb7427a 100644 --- a/lemonldap-ng-portal/t/37-SAML-SP-POST-to-CAS-server.t +++ b/lemonldap-ng-portal/t/37-SAML-SP-POST-to-CAS-server.t @@ -58,9 +58,9 @@ LWP::Protocol::PSGI->register( ); SKIP: { - eval "use Lasso"; + eval "use Lasso;use XML::Simple"; if ($@) { - skip 'Lasso not found', $maintests; + skip 'Lasso or XML::Simple not found', $maintests; } # Initialization diff --git a/lemonldap-ng-portal/t/42-Register-Demo-with-captcha.t b/lemonldap-ng-portal/t/42-Register-Demo-with-captcha.t index 33ffe39bd..2c1430be7 100644 --- a/lemonldap-ng-portal/t/42-Register-Demo-with-captcha.t +++ b/lemonldap-ng-portal/t/42-Register-Demo-with-captcha.t @@ -15,7 +15,7 @@ my $mailSend = 0; SKIP: { eval - 'require Email::Sender::Simple;use GD::SecurityImage;use Image::Magick;'; + 'require Email::Sender::Simple;use GD::SecurityImage;use Image::Magick;use Text::Unidecode'; if ($@) { skip 'Missing dependencies', $maintests; } diff --git a/lemonldap-ng-portal/t/42-Register-Demo-with-token.t b/lemonldap-ng-portal/t/42-Register-Demo-with-token.t index 506c24d65..18501e192 100644 --- a/lemonldap-ng-portal/t/42-Register-Demo-with-token.t +++ b/lemonldap-ng-portal/t/42-Register-Demo-with-token.t @@ -13,7 +13,7 @@ my $maintests = 12; my ( $res, $user, $pwd ); SKIP: { - eval 'require Email::Sender::Simple'; + eval 'require Email::Sender::Simple;use Text::Unidecode'; if ($@) { skip 'Missing dependencies', $maintests; } diff --git a/lemonldap-ng-portal/t/42-Register-Demo.t b/lemonldap-ng-portal/t/42-Register-Demo.t index a55a4a543..1b24a2494 100644 --- a/lemonldap-ng-portal/t/42-Register-Demo.t +++ b/lemonldap-ng-portal/t/42-Register-Demo.t @@ -13,7 +13,7 @@ my $maintests = 9; my ( $res, $user, $pwd ); SKIP: { - eval 'require Email::Sender::Simple'; + eval 'require Email::Sender::Simple; use Text::Unidecode'; if ($@) { skip 'Missing dependencies', $maintests; } diff --git a/lemonldap-ng-portal/t/42-Register-Security.t b/lemonldap-ng-portal/t/42-Register-Security.t index fa73a273b..7d6290aa5 100644 --- a/lemonldap-ng-portal/t/42-Register-Security.t +++ b/lemonldap-ng-portal/t/42-Register-Security.t @@ -13,7 +13,7 @@ my $maintests = 5; my ( $res, $user, $pwd ); SKIP: { - eval 'require Email::Sender::Simple'; + eval 'require Email::Sender::Simple;use Text::Unidecode'; if ($@) { skip 'Missing dependencies', $maintests; } diff --git a/lemonldap-ng-portal/t/70-2F-TOTP-with-TTL-and-XML.t b/lemonldap-ng-portal/t/70-2F-TOTP-with-TTL-and-XML.t index 3b8f9176a..c61535919 100644 --- a/lemonldap-ng-portal/t/70-2F-TOTP-with-TTL-and-XML.t +++ b/lemonldap-ng-portal/t/70-2F-TOTP-with-TTL-and-XML.t @@ -7,7 +7,11 @@ my $maintests = 20; my $file = '20190616_dwho_Tm90aWZpY2F0aW9uX1NG.json'; SKIP: { - eval { require Convert::Base32 }; + eval { + require Convert::Base32; + require XML::LibXML; + require XML::LibXSLT; + }; if ($@) { skip 'Convert::Base32 is missing', $maintests; }