Skip to content

Commit 6a23a16

Browse files
committed
have the dependents test test all dependents
1 parent 19e390a commit 6a23a16

File tree

4 files changed

+35
-15
lines changed

4 files changed

+35
-15
lines changed

.github/workflows/test-dependents.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,12 @@ jobs:
1212
image: perldocker/perl-tester:5.34
1313
steps:
1414
- uses: actions/checkout@v4
15-
- name: install extra modules
16-
run: cpm install -g Test::DependentModules
15+
- name: install action prereqs
16+
run: cpm install -g Test::DependentModules IO::All
17+
- name: generate dep prereqs
18+
run: perl -Ixt -MDepReqs -e 'DepReqs->run'
19+
- name: install dep prereqs
20+
run: cpm install -g --cpanfile xt/cpanfile
1721
- name: Run Tests
1822
env:
1923
AUTHOR_TESTING: 0
@@ -24,4 +28,5 @@ jobs:
2428
- name: Test Dependents
2529
env:
2630
TEST_DEPENDENTS: 1
31+
PERL_TEST_DM_CPAN_VERBOSE: 1
2732
run: prove -l xt/dependent-modules.t

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@
66
/PPI-*.tar.gz
77
/nytprof*
88
/TODO
9+
/xt/cpanfile

xt/DepReqs.pm

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package #
2+
DepReqs;
3+
4+
use strictures 2;
5+
6+
use Test::DependentModules;
7+
use IO::All;
8+
9+
1;
10+
11+
__PACKAGE__->run;
12+
13+
sub run {
14+
my @deps = Test::DependentModules::_get_deps #
15+
PPI => { exclude => qr/^(Apache2-SSI|Devel-IPerl|Padre)$/ };
16+
my $c = MetaCPAN::Client->new;
17+
my @reqs = map @{ $c->release($_)->dependency }, @deps;
18+
io("xt/cpanfile")
19+
->print( join "\n", map qq[requires "$_->{module}" => "$_->{version}";],
20+
@reqs );
21+
}

xt/dependent-modules.t

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,9 @@
1-
use strict;
2-
use warnings;
1+
use Test2::V0;
2+
use strictures 2;
33

4-
use Test::DependentModules qw( test_modules );
5-
use Test::More;
4+
use Test::DependentModules 'test_all_dependents';
65

7-
my @modules = ('Perl::Critic');
6+
skip_all "ENV var TEST_DEPENDENTS not set" if not $ENV{TEST_DEPENDENTS};
87

9-
SKIP: {
10-
skip '$ENV{TEST_DEPENDENTS} not set', scalar @modules
11-
unless $ENV{TEST_DEPENDENTS};
12-
test_modules(@modules);
13-
14-
}
15-
16-
done_testing();
8+
test_all_dependents #
9+
PPI => { exclude => qr/^(Apache2-SSI|Devel-IPerl|Padre)$/ };

0 commit comments

Comments
 (0)