fixed in test::dm
[gitmo/Moose.git] / xt / author / test-my-dependents.t
CommitLineData
f81522ba 1use strict;
2use warnings;
3
4use Cwd qw( abs_path );
5use Test::More;
6
52c21688 7BEGIN {
8 plan skip_all => 'This test will not run unless you set MOOSE_TEST_MD to a true value'
9 unless $ENV{MOOSE_TEST_MD};
10}
f81522ba 11
4d438a84 12use Test::Requires {
f578f218 13 'Archive::Zip' => 0, # or else .zip dists won't be able to be installed
03fd72d0 14 'Test::DependentModules' => '0.09', # skip all if not installed
479647ca 15 'MetaCPAN::API' => '0.33',
4d438a84 16};
3bf21566 17use Test::DependentModules qw( test_module );
f81522ba 18
7028866a 19use DateTime;
479647ca 20use List::MoreUtils qw(any);
7028866a 21use Moose ();
7028866a 22
41a0b2a9 23diag( 'Test run performed at: '
24 . DateTime->now
479647ca 25 . ' with Moose '
41a0b2a9 26 . Moose->VERSION );
7028866a 27
f81522ba 28$ENV{PERL_TEST_DM_LOG_DIR} = abs_path('.');
e2f01bb9 29delete @ENV{ qw( AUTHOR_TESTING RELEASE_TESTING SMOKE_TESTING ) };
f81522ba 30
28885fe7 31$ENV{ANY_MOOSE} = 'Moose';
32
479647ca 33my $mcpan = MetaCPAN::API->new;
34my $res = $mcpan->post(
35 '/release/_search' => {
36 query => { match_all => {} },
37 size => 5000,
38 filter => { and => [
39 { or => [
40 { term => { 'release.dependency.module' => 'Moose' } },
41 { term => { 'release.dependency.module' => 'Moose::Role' } },
42 { term => { 'release.dependency.module' => 'Moose::Exporter' } },
43 { term => { 'release.dependency.module' => 'Class::MOP' } },
44 { term => { 'release.dependency.module' => 'MooseX::Role::Parameterized' } },
28885fe7 45 { term => { 'release.dependency.module' => 'Any::Moose' } },
479647ca 46 ] },
47 { term => { 'release.status' => 'latest' } },
48 { term => { 'release.maturity' => 'released' } },
49 ] },
50 fields => 'distribution'
51 }
52);
f81522ba 53
91dab191 54my %todo_reasons = map {
3bf21566 55 chomp;
56 /^(\S*)\s*(?:#\s*(.*)\s*)?$/;
57 defined($1) && length($1) ? ($1 => $2) : ()
58} <DATA>;
91dab191 59my %todo = map { $_ => 1 } keys %todo_reasons;
60
479647ca 61my @skip_prefix = qw(Acme Task Bundle);
91dab191 62my %skip = map { $_ => 1 } (
63 'Dackup', # depends on running ssh
64 'Data-Collector', # depends on running ssh
65 'Date-Biorhythm', # Date::Business prompts in Makefile.PL
66 'helm', # depends on running ssh
67 'Net-SFTP-Foreign-Exceptional', # depends on running ssh
68 'POE-Component-OpenSSH', # depends on running ssh
69 'Test-SFTP', # Term::ReadPassword prompts in tests
70 'WWW-Hashdb', # test hangs, pegging cpu
71 'Zucchini', # File::Rsync prompts in Makefile.PL
72);
73
479647ca 74my %name_fix = (
75 'App-PipeFilter' => 'App::PipeFilter::Generic',
76 'Constructible' => 'Constructible::Maxima',
77 'DCOLLINS-ANN-Locals' => 'DCOLLINS::ANN::Robot',
78 'Dist-Zilla-Deb' => 'Dist::Zilla::Plugin::Deb::VersionFromChangelog',
79 'Dist-Zilla-Plugin-TemplateFile' => 'Dist::Zilla::Plugin::TemplateFiles',
80 'Dist-Zilla-Plugins-CJM' => 'Dist::Zilla::Plugin::TemplateCJM',
81 'OWL-Simple' => 'OWL::Simple::Class',
82 'Patterns-ChainOfResponsibility' => 'Patterns::ChainOfResponsibility::Application',
83 'Role-Identifiable' => 'Role::Identifiable::HasIdent',
84 'X11-XCB' => 'X11::XCB::Connection',
85 'XML-Ant-BuildFile' => 'XML::Ant::BuildFile::Project',
86 'helm' => 'Helm',
87 'marc-moose' => 'MARC::Moose',
88 'mobirc' => 'App::Mobirc',
89 'smokebrew' => 'App::SmokeBrew',
90 'v6-alpha' => 'v6',
91);
92my @modules = map { exists $name_fix{$_} ? $name_fix{$_} : $_ }
93 sort
91dab191 94 grep { !$skip{$_} }
479647ca 95 grep { my $dist = $_; !any { $dist =~ /^$_-/ } @skip_prefix }
96 map { $_->{fields}{distribution} }
97 @{ $res->{hits}{hits} };
98
99plan tests => scalar @modules;
3bf21566 100for my $module (@modules) {
91dab191 101 diag($module);
102 if ($todo{$module}) {
103 my $reason = $todo_reasons{$module};
3bf21566 104 $reason = '???' unless defined $reason;
7e39015e 105 local $TODO = $reason;
106 eval { test_module($module); 1 }
107 or fail("Died when testing $module: $@");
3bf21566 108 }
109 else {
7e39015e 110 eval { test_module($module); 1 }
111 or fail("Died when testing $module: $@");
3bf21566 112 }
113}
734e40ed 114
c5e3151e 115__DATA__
ec58481b 116# not in cpan index
6e017ae3 117Black-Board # not found on cpan because of mxd
6e017ae3 118Hopkins # not found on cpan (?)
119PostScript-Barcode # not found on cpan (?)
ec58481b 120VirtualBox-Manage # not found on cpan because of mxd
121
122# no tests
123AI-ExpertSystem-Advanced
124API-Assembla
125App-mkfeyorm
126Bot-Applebot
127Catalyst-Authentication-Credential-Facebook-OAuth2
128Catalyst-Authentication-Store-Fey-ORM
129Catalyst-Controller-MovableType
130Catalyst-Model-MenuGrinder
4513d67e 131Chef
132Data-SearchEngine-ElasticSearch
133Dist-Zilla-Plugin-DualLife
134Dist-Zilla-Plugin-GitFlow
135Dist-Zilla-Plugin-MetaResourcesFromGit
136Dist-Zilla-Plugin-Rsync
137Dist-Zilla-PluginBundle-ARODLAND
138Dist-Zilla-PluginBundle-Author-OLIVER
139Dist-Zilla-PluginBundle-NUFFIN
140Games-HotPotato
141Kafka-Client
142LWP-UserAgent-OfflineCache
ec58481b 143Net-Dropbox
144Net-Recurly
4513d67e 145Pod-Weaver-Section-Encoding
ec58481b 146POE-Component-Server-MySQL
147Random-Quantum
148SchemaEvolution
149STD
4513d67e 150Test-System
ec58481b 151WebService-Buxfer
152WebService-CloudFlare-Host
4513d67e 153WWW-MenuGrinder
479647ca 154
8f655ca2 155# failing for a reason
8f655ca2 156Algorithm-KernelKMeans # mx-types-common changes broke it
e8ba9394 157Alien-ActiveMQ # can't install activemq
8f655ca2 158AnyEvent-Inotify-Simple # ??? (maybe issue with test::sweet)
159AnyEvent-JSONRPC # tests require recommended deps
160AnyEvent-Retry # mx-types-common changes broke it
161AnyEvent-ZeroMQ # requires zeromq installation
ec58481b 162App-CPAN2Pkg # Tk doesn't compile
8f655ca2 163App-Dataninja # bad M::I install in inc/
164App-ForExample # getopt::chain is broken
ec58481b 165App-Fotagger # Imager doesn't compile
4513d67e 166App-HistHub # missing dep on JSON.pm
8f655ca2 167App-Magpie # deps on URPM which doesn't exist
168App-PgCryobit # requires postgres installation
169App-TemplateServer # broken use of types
170App-TemplateServer-Provider-HTML-Template # dep on app-templateserver
171App-TemplateServer-Provider-Mason # dep on app-templateserver
172App-TemplateServer-Provider-TD # dep on app-templateserver
173App-TimeTracker # git::repository is broken
174App-USBKeyCopyCon # gtk tests are graphical
8f655ca2 175Archive-RPM # requires cpio
176Bio-MAGETAB # datetime-format-datemanip is broken
8f655ca2 177Bot-Backbone # broken deps
178Business-UPS-Tracking # broken
8f655ca2 179Cache-Profile # broken
8f655ca2 180Catalyst-Authentication-Store-LDAP-AD-Class # pod coverage fail
8f655ca2 181Catalyst-Controller-Resources # broken
e8ba9394 182Catalyst-Engine-Stomp # requires alien::activemq
e8ba9394 183Catalyst-Model-Search-ElasticSearch # requires elasticsearch
184Catalyst-Model-Sedna # deps on Alien-Sedna which doesn't exist
185Catalyst-Plugin-Continuation # undeclared dep
186Catalyst-Plugin-ErrorCatcher-ActiveMQ-Stomp # pod coverage fail
187Catalyst-Plugin-SwiffUploaderCookieHack # undeclared dep
188Catalyst-TraitFor-Component-ConfigPerSite # undeclared dep
189Catalyst-TraitFor-Controller-jQuery-jqGrid # bad test (missing files)
190CatalystX-MooseComponent # broken
191CatalystX-Restarter-GTK # gtk tests are graphical
192CatalystX-RoleApplicator # broken
193CatalystX-SimpleAPI # depends on ::RoleApplicator
194CatalystX-SimpleLogin # broken
195CatalystX-Usul # proc::processtable doesn't load
196Cave-Wrapper # requires cave to be installed
197Cheater # parse::randgen is broken
ec58481b 198CHI-Driver-Redis # requires redis server
e8ba9394 199Class-OWL # uses CMOP::Class without loading cmop
ec58481b 200CM-Permutation # OpenGL uses graphics in Makefile.PL
e8ba9394 201Cogwheel # uses ancient moose apis
202Constructible # GD::SVG is a broken dist
203Coro-Amazon-SimpleDB # amazon::simpledb::client doesn't exist
4513d67e 204CPAN-Digger # requires DBD::SQLite
ec58481b 205CPAN-Mini-Webserver # undeclared dep on lingua-stopwords
206CPAN-Patches-Plugin-Debian # configure time failures
207Dackup # depends on running ssh
cf9832d2 208Data-Apache-mod_status # invalid characters in type name
ec58481b 209Data-Collector # depends on running ssh
cf9832d2 210Data-PackageName # broken
211Data-Pipeline # uses ancient moose apis
ec58481b 212Date-Biorhythm # Date::Business prompts in Makefile.PL
cf9832d2 213DayDayUp # MojoX-Fixup-XHTML doesn't exist
ec58481b 214DBICx-Modeler-Generator # broken (weirdly)
215DBIx-PgLink # requires postgres installation
216DBIx-SchemaChecksum # broken
217Debian-Apt-PM # configure time failures
cf9832d2 218Devel-Events # broken (role conflict)
9acdcfbb 219Dist-Zilla-Plugin-ProgCriticTests # broken
220Dist-Zilla-Plugin-SVK # requires svn bindings
221DustyDB # uses old moose apis
222ELF-Extract-Sections # uses stash entries with ::
223ETLp # uses stash entries with ::
9acdcfbb 224Fedora-App-MaintainerTools # requires rpm to be installed
225Fedora-App-ReviewTool # requires koji to be installed
ec58481b 226FFmpeg-Thumbnail # undeclared dep
9acdcfbb 227File-DataClass # XML::DTD is a broken dist
228Finance-Bank-SentinelBenefits-Csv401kConverter # uses stash entries with ::
229Forest-Tree-Viewer-Gtk2 # gtk tests are graphical
230Form-Factory # uses old moose apis
231Frost # broken
9acdcfbb 232Games-Pandemic # tk doesn't build
233Games-RailRoad # tk doesn't build
234Games-Risk # tk doesn't build
235Games-Tetris-Complete # requires threads
236Getopt-Chain # p::d::builder changed dists
ec58481b 237GOBO # coerce with no coercion
9acdcfbb 238Google-Spreadsheet-Agent # pod::coverage fail
ec58481b 239helm # depends on running ssh
9acdcfbb 240Hobocamp # configure_requires needs EU::CChecker
241Horris # App::Horris isn't on cpan
ec58481b 242HTML-TreeBuilderX-ASP_NET # broken
9acdcfbb 243IM-Engine-Plugin-Dispatcher # p::d::declarative changed dists
244JavaScript-Framework-jQuery # coerce with no coercion
245Jungle # broken
246Kamaitachi # pod::coverage fail
247KiokuDB-Backend-Files # broken
ec58481b 248Lingua-TreeTagger # requires treetagger to be installed
9acdcfbb 249Locale-MO-File # broken
250Log-Dispatch-Gtk2-Notify # gtk tests are graphical
9acdcfbb 251Mail-Summary-Tools # DT::Format::DateManip is broken
252MediaWiki-USERINFO # broken
4513d67e 253Mildew # regexp::grammars needs class::accessor
ec58481b 254mobirc # http::engine broken
9acdcfbb 255MooseX-Attribute-Prototype # uses old moose apis
256MooseX-DBIC-Scaffold # needs unreleased sql-translator
9acdcfbb 257MooseX-Documenter # broken
ec58481b 258MooseX-DOM # "no Moose" unimports confess
9acdcfbb 259MooseX-Error-Exception-Class # metaclass compat breakage
260MooseX-Meta-Attribute-Index # old moose apis
261MooseX-Meta-Attribute-Lvalue # old moose apis
262MooseX-Struct # ancient moose apis
263MooseX-TrackDirty-Attributes # old moose apis
ec58481b 264MSWord-ToHTML # requires abiword to be installed
265namespace-alias # won't compile
9acdcfbb 266Net-Douban # broken
9acdcfbb 267Net-FluidDB # broken
268Net-Fluidinfo # broken
ec58481b 269NetHack-Item # NH::Monster::Spoiler is broken
270NetHack-Monster-Spoiler # broken (MX::CA issues)
9acdcfbb 271Net-HTTP-Factual # broken
272Net-Journyx # broken
273Net-Parliament # broken
274Net-Plurk # broken
9acdcfbb 275Net-StackExchange # broken
9acdcfbb 276Nginx-Control # requires nginx to be installed
277ODG-Record # Test::Benchmark broken
ec58481b 278Paludis-UseCleaner # needs cave::wrapper
279Parse-FixedRecord # broken
280Perlanet # HTML::Tidy requires tidyp
281Perlbal-Control # proc::processtable doesn't load
282Perl-Dist-Strawberry-BuildPerl-5123 # windows only
283Perl-Dist-WiX-BuildPerl-5123 # windows only
284Perl-Dist-WiX # windows only
285Pg-BulkCopy # hardcodes /usr/bin/perl
286POE-Component-CPAN-Mirror-Multiplexer # broken
9acdcfbb 287POE-Component-DirWatch-Object # broken
ec58481b 288POE-Component-OpenSSH # depends on running ssh
9acdcfbb 289POE-Component-ResourcePool # broken
9acdcfbb 290POE-Component-Server-PSGI # broken deps
ec58481b 291POE-Component-Server-SimpleHTTP-PreFork # broken deps
9acdcfbb 292POEx-ProxySession # broken deps
293POEx-PubSub # broken deps
294POEx-WorkerPool # broken deps
9acdcfbb 295Queue-Leaky # broken
9acdcfbb 296RDF-Server # "no Moose" unimports confess
9acdcfbb 297Reaction # signatures is broken
298Reflexive-Role-Collective # broken (reflex::role changes?)
299Reflexive-Role-DataMover # broken (reflex::role changes?)
300Reflexive-Role-TCPServer # broken (reflex::role changes?)
ec58481b 301RPC-Any # broken
9acdcfbb 302Scene-Graph # has '+attr' in roles
9acdcfbb 303Server-Control # proc::processtable doesn't load
304SilkiX-Converter-Kwiki # file::mimeinfo expects (?-xism:
305SimpleDB-Class # requires memcached
ec58481b 306SRS-EPP-Proxy # depends on xml::epp
9acdcfbb 307String-Blender # broken
308TAEB # broken
309Tail-Tool # Getopt::Alt doesn't exist
310Tapper-Installer # sys::info::driver::linux is broken
9acdcfbb 311Tapper-MCP-MessageReceiver # sys::info::driver::linux is broken
ec58481b 312Tapper-MCP # sys::info::driver::linux is broken
9acdcfbb 313Tapper-Reports-API # sys::info::driver::linux is broken
ec58481b 314Tapper-Testplan # sys::info::driver::linux is broken
9acdcfbb 315Telephone-Mnemonic-US # rpm-build-perl is broken
316Test-A8N # broken
ec58481b 317Test-Daily # configure errors
318Test-SFTP # Term::ReadPassword prompts in tests
9acdcfbb 319Thorium # requires Hobocamp
320Tk-Role-Dialog # tk won't compile
321TryCatch-Error # broken
322Verby # requires poe::component::resourcepool
ec58481b 323Weaving-Tablet # tk doesn't compile
4513d67e 324WebService-SlimTimer # weird mxms error
ec58481b 325WebService-Yes24 # broken
326WiX3 # broken
4513d67e 327WWW-Alltop # XML::SimpleObject configure fail
9acdcfbb 328WWW-Fandango # bad dist
ec58481b 329WWW-FMyLife # broken
330WWW-Hashdb # test hangs, pegging cpu
9acdcfbb 331WWW-Metalgate # Cache is broken
332WWW-Scramble # pod::coverage fail
333WWW-StaticBlog # time::sofar is broken
334WWW-Yahoo-Lyrics-JP # broken
9acdcfbb 335XIRCD # undeclared deps
336XML-EPP # coerce without coercion
4513d67e 337XML-LibXSLT-Easy # missing dep on mx-getopt
9acdcfbb 338Yukki # git::repository is broken
ec58481b 339Zucchini # File::Rsync prompts in Makefile.PL