Skip to content

Commit 7a786d2

Browse files
committed
fix metacpan/MetaCPAN-Client#122 with a monkeypatch
1 parent b876d59 commit 7a786d2

File tree

2 files changed

+22
-6
lines changed

2 files changed

+22
-6
lines changed

xt/DepReqs.pm

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,21 @@ use strictures 2;
55

66
use Test::DependentModules;
77
use IO::All;
8+
use MetaCPAN::Client;
89

910
1;
1011

1112
__PACKAGE__->run;
1213

13-
sub run {
14-
my @deps = Test::DependentModules::_get_deps #
15-
PPI => { exclude => qr/^(Apache2-SSI|Devel-IPerl|Padre)$/ };
14+
sub run { # synch with dependent-modules.t
15+
## force metacpan to actually return the whole dependents list
16+
# https://github.com/metacpan/metacpan-client/issues/122
17+
my $old_fetch = \&MetaCPAN::Client::fetch;
18+
my $new_fetch = sub { $old_fetch->( shift, shift . "?size=5000", @_ ) };
19+
{ no warnings 'redefine'; *MetaCPAN::Client::fetch = $new_fetch; }
20+
21+
my @deps = Test::DependentModules::_get_deps PPI =>
22+
{ exclude => qr/^(Apache2-SSI|Devel-IPerl|Padre|Devel-Examine-Subs)$/ };
1623
my $c = MetaCPAN::Client->new;
1724
my @reqs = map @{ $c->release($_)->dependency }, @deps;
1825
io("xt/cpanfile")

xt/dependent-modules.t

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,23 @@ use Test2::V0;
22
use strictures 2;
33

44
use Test::DependentModules 'test_all_dependents';
5+
use MetaCPAN::Client;
6+
7+
# synch with DepReqs.pm
58

69
skip_all "ENV var TEST_DEPENDENTS not set" if not $ENV{TEST_DEPENDENTS};
710

811
# duplicate error output into an array for later printing
912
my @error_log;
10-
my $old = \&Test::DependentModules::_error_log;
11-
my $new = sub { push @error_log, @_; $old->(@_); };
12-
{ no warnings 'redefine'; *Test::DependentModules::_error_log = $new; }
13+
my $old_log = \&Test::DependentModules::_error_log;
14+
my $new_log = sub { push @error_log, @_; $old_log->(@_); };
15+
{ no warnings 'redefine'; *Test::DependentModules::_error_log = $new_log; }
16+
17+
# force metacpan to actually return the whole dependents list
18+
# https://github.com/metacpan/metacpan-client/issues/122
19+
my $old_fetch = \&MetaCPAN::Client::fetch;
20+
my $new_fetch = sub { $old_fetch->( shift, shift . "?size=5000", @_ ) };
21+
{ no warnings 'redefine'; *MetaCPAN::Client::fetch = $new_fetch; }
1322

1423
test_all_dependents PPI => {
1524
exclude => qr/^(

0 commit comments

Comments
 (0)