1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
#!/usr/bin/env perl
use 5.14.0;
use warnings;
use Data::PowerSet 'powerset';
my @all_modules = qw(Mouse MouseX::Types Moose MooseX::Types);
my %results;
for my $modules (@{ powerset(@all_modules) }) {
my $list = join ',', @$modules;
say '=' x 60;
say "RUNNING WITHOUT $list";
say '=' x 60;
$ENV{PERL5OPT} = "-MTest::Without::Module=$list";
system("prove");
my $result = $? >> 8 ? "NOT OK" : "OK";
push @{ $results{$result} }, $list;
}
for my $result (sort keys %results) {
my @modules = @{ $results{$result} };
say "$result when testing without:";
say "* $_" for @modules;
say '';
}
__END__
... test results ...
NOT OK when testing without:
* Mouse,MouseX::Types,Moose,MooseX::Types
* Mouse,Moose,MooseX::Types
* Mouse,MouseX::Types,Moose
* Mouse,Moose
OK when testing without:
* MouseX::Types,Moose,MooseX::Types
* Moose,MooseX::Types
* Mouse,MouseX::Types,MooseX::Types
* MouseX::Types,MooseX::Types
* Mouse,MooseX::Types
* MooseX::Types
* MouseX::Types,Moose
* Moose
* Mouse,MouseX::Types
* MouseX::Types
* Mouse
*
|