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