don't list dev releases in ::Delta
[gitmo/Moose.git] / xt / author / test-my-dependents.t
index 480b3d5..d39735c 100644 (file)
@@ -10,10 +10,11 @@ BEGIN {
 }
 
 use Test::Requires {
-    'Archive::Zip' => 0, # or else .zip dists won't be able to be installed
-    'Test::DependentModules' => '0.09', # skip all if not installed
-    'MetaCPAN::API' => '0.33',
+    'Archive::Zip' => 0,    # or else .zip dists won't be able to be installed
+    'Test::DependentModules' => '0.13',
+    'MetaCPAN::API'          => '0.33',
 };
+
 use Test::DependentModules qw( test_module );
 
 use DateTime;
@@ -64,8 +65,10 @@ my %skip = map { $_ => 1 } (
     'App-USBKeyCopyCon',            # gtk tests are graphical
     'Bot-Backbone',                 # poe-loop-ev prompts
     'Cache-Ehcache',                # hangs if server exists on port 8080
+    'CatalystX-Imports',            # assumes it can write to /tmp/testapp
     'CatalystX-Restarter-GTK',      # gtk tests are graphical
     'CM-Permutation',               # OpenGL uses graphics in Makefile.PL
+    'CPAN-Source',                  # assumes it can write to /tmp/.cache
     'Dackup',                       # depends on running ssh
     'Data-Collector',               # depends on running ssh
     'Date-Biorhythm',               # Date::Business prompts in Makefile.PL
@@ -120,12 +123,26 @@ my %name_fix = (
     'X11-XCB'                        => 'X11::XCB::Connection',
     'XML-Ant-BuildFile'              => 'XML::Ant::BuildFile::Project',
 );
+
 my @dists = sort
             grep { !$skip{$_} }
             grep { my $dist = $_; !any { $dist =~ /^$_-/ } @skip_prefix }
             map  { $_->{fields}{distribution} }
             @{ $res->{hits}{hits} };
 
+unless ( $ENV{MOOSE_TEST_MD} eq 'all' ) {
+    diag(
+        'Picking 200 random dependents to test. Set MOOSE_TEST_MD=all to test all dependents'
+    );
+
+    my %indexes;
+    while ( keys %indexes < 200 ) {
+        $indexes{ int rand( scalar @dists ) } = 1;
+    }
+
+    @dists = @dists[ sort keys %indexes ];
+}
+
 plan tests => scalar @dists;
 for my $dist (@dists) {
     note($dist);