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