5e35cf33d22d5bad43b3f26cb9ec8fa370a9b517
[gitmo/Moose.git] / xt / author / test-my-dependents.t
1 use strict;
2 use warnings;
3
4 use Cwd qw( abs_path );
5 use Test::More;
6
7 BEGIN {
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 }
11
12 use Test::Requires {
13     'Archive::Zip' => 0, # or else .zip dists won't be able to be installed
14     'Test::DependentModules' => '0.09', # skip all if not installed
15     'MetaCPAN::API' => '0.33',
16 };
17 use Test::DependentModules qw( test_all_dependents test_modules );
18
19 use DateTime;
20 use List::MoreUtils qw(any);
21 use Moose ();
22
23 diag(     'Test run performed at: '
24         . DateTime->now
25         . ' with Moose '
26         . Moose->VERSION );
27
28 $ENV{PERL_TEST_DM_LOG_DIR} = abs_path('.');
29 delete @ENV{ qw( AUTHOR_TESTING RELEASE_TESTING SMOKE_TESTING ) };
30
31 $ENV{ANY_MOOSE} = 'Moose';
32
33 my $mcpan = MetaCPAN::API->new;
34 my $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' } },
45                 { term => { 'release.dependency.module' => 'Any::Moose' } },
46             ] },
47             { term => { 'release.status'   => 'latest' } },
48             { term => { 'release.maturity' => 'released' } },
49         ] },
50         fields => 'distribution'
51     }
52 );
53
54 my %skip = map { $_ => 1 } grep { /\w/ } map { chomp; s/\s*#.*$//; $_ } <DATA>;
55 my @skip_prefix = qw(Acme Task Bundle);
56 my %name_fix = (
57     'App-PipeFilter'                 => 'App::PipeFilter::Generic',
58     'Constructible'                  => 'Constructible::Maxima',
59     'DCOLLINS-ANN-Locals'            => 'DCOLLINS::ANN::Robot',
60     'Dist-Zilla-Deb'                 => 'Dist::Zilla::Plugin::Deb::VersionFromChangelog',
61     'Dist-Zilla-Plugin-TemplateFile' => 'Dist::Zilla::Plugin::TemplateFiles',
62     'Dist-Zilla-Plugins-CJM'         => 'Dist::Zilla::Plugin::TemplateCJM',
63     'OWL-Simple'                     => 'OWL::Simple::Class',
64     'Patterns-ChainOfResponsibility' => 'Patterns::ChainOfResponsibility::Application',
65     'Role-Identifiable'              => 'Role::Identifiable::HasIdent',
66     'X11-XCB'                        => 'X11::XCB::Connection',
67     'XML-Ant-BuildFile'              => 'XML::Ant::BuildFile::Project',
68     'helm'                           => 'Helm',
69     'marc-moose'                     => 'MARC::Moose',
70     'mobirc'                         => 'App::Mobirc',
71     'smokebrew'                      => 'App::SmokeBrew',
72     'v6-alpha'                       => 'v6',
73 );
74 my @modules = map  { exists $name_fix{$_} ? $name_fix{$_} : $_ }
75               sort
76               grep { !$skip{$_} }
77               grep { my $dist = $_; !any { $dist =~ /^$_-/ } @skip_prefix }
78               map  { $_->{fields}{distribution} }
79               @{ $res->{hits}{hits} };
80
81 plan tests => scalar @modules;
82 test_modules(@modules);
83
84 # Modules that are known to fail
85 # PRANG - failing for quite some time (since before 2.0400)
86
87 __DATA__
88 # not in cpan index
89 Black-Board                            # not found on cpan because of mxd
90 Hopkins                                # not found on cpan (?)
91 PostScript-Barcode                     # not found on cpan (?)
92 VirtualBox-Manage                      # not found on cpan because of mxd
93
94 # no tests
95 AI-ExpertSystem-Advanced
96 API-Assembla
97 App-mkfeyorm
98 Bot-Applebot
99 Catalyst-Authentication-Credential-Facebook-OAuth2
100 Catalyst-Authentication-Store-Fey-ORM
101 Catalyst-Controller-MovableType
102 Catalyst-Model-MenuGrinder
103 Net-Dropbox
104 Net-Recurly
105 POE-Component-Server-MySQL
106 Random-Quantum
107 SchemaEvolution
108 STD
109 WebService-Buxfer
110 WebService-CloudFlare-Host
111
112 # failing for a reason
113 Algorithm-KernelKMeans                 # mx-types-common changes broke it
114 Alien-ActiveMQ                         # can't install activemq
115 AnyEvent-Inotify-Simple                # ??? (maybe issue with test::sweet)
116 AnyEvent-JSONRPC                       # tests require recommended deps
117 AnyEvent-Retry                         # mx-types-common changes broke it
118 AnyEvent-ZeroMQ                        # requires zeromq installation
119 App-CPAN2Pkg                           # Tk doesn't compile
120 App-Dataninja                          # bad M::I install in inc/
121 App-ForExample                         # getopt::chain is broken
122 App-Fotagger                           # Imager doesn't compile
123 App-Magpie                             # deps on URPM which doesn't exist
124 App-PgCryobit                          # requires postgres installation
125 App-TemplateServer                     # broken use of types
126 App-TemplateServer-Provider-HTML-Template  # dep on app-templateserver
127 App-TemplateServer-Provider-Mason      # dep on app-templateserver
128 App-TemplateServer-Provider-TD         # dep on app-templateserver
129 App-TimeTracker                        # git::repository is broken
130 App-USBKeyCopyCon                      # gtk tests are graphical
131 Archive-RPM                            # requires cpio
132 Bio-MAGETAB                            # datetime-format-datemanip is broken
133 Bot-Backbone                           # broken deps
134 Business-UPS-Tracking                  # broken
135 Cache-Profile                          # broken
136 Catalyst-Authentication-Store-LDAP-AD-Class  # pod coverage fail
137 Catalyst-Controller-Resources          # broken
138 Catalyst-Engine-Stomp                  # requires alien::activemq
139 Catalyst-Model-Search-ElasticSearch    # requires elasticsearch
140 Catalyst-Model-Sedna                   # deps on Alien-Sedna which doesn't exist
141 Catalyst-Plugin-Continuation           # undeclared dep
142 Catalyst-Plugin-ErrorCatcher-ActiveMQ-Stomp  # pod coverage fail
143 Catalyst-Plugin-SwiffUploaderCookieHack  # undeclared dep
144 Catalyst-TraitFor-Component-ConfigPerSite  # undeclared dep
145 Catalyst-TraitFor-Controller-jQuery-jqGrid  # bad test (missing files)
146 CatalystX-MooseComponent               # broken
147 CatalystX-Restarter-GTK                # gtk tests are graphical
148 CatalystX-RoleApplicator               # broken
149 CatalystX-SimpleAPI                    # depends on ::RoleApplicator
150 CatalystX-SimpleLogin                  # broken
151 CatalystX-Usul                         # proc::processtable doesn't load
152 Cave-Wrapper                           # requires cave to be installed
153 Cheater                                # parse::randgen is broken
154 CHI-Driver-Redis                       # requires redis server
155 Class-OWL                              # uses CMOP::Class without loading cmop
156 CM-Permutation                         # OpenGL uses graphics in Makefile.PL
157 Cogwheel                               # uses ancient moose apis
158 Constructible                          # GD::SVG is a broken dist
159 Coro-Amazon-SimpleDB                   # amazon::simpledb::client doesn't exist
160 CPAN-Mini-Webserver                    # undeclared dep on lingua-stopwords
161 CPAN-Patches-Plugin-Debian             # configure time failures
162 Dackup                                 # depends on running ssh
163 Data-Apache-mod_status                 # invalid characters in type name
164 Data-Collector                         # depends on running ssh
165 Data-PackageName                       # broken
166 Data-Pipeline                          # uses ancient moose apis
167 Date-Biorhythm                         # Date::Business prompts in Makefile.PL
168 DayDayUp                               # MojoX-Fixup-XHTML doesn't exist
169 DBICx-Modeler-Generator                # broken (weirdly)
170 DBIx-PgLink                            # requires postgres installation
171 DBIx-SchemaChecksum                    # broken
172 Debian-Apt-PM                          # configure time failures
173 Devel-Events                           # broken (role conflict)
174 Dist-Zilla-Plugin-ProgCriticTests      # broken
175 Dist-Zilla-Plugin-SVK                  # requires svn bindings
176 DustyDB                                # uses old moose apis
177 ELF-Extract-Sections                   # uses stash entries with ::
178 ETLp                                   # uses stash entries with ::
179 Fedora-App-MaintainerTools             # requires rpm to be installed
180 Fedora-App-ReviewTool                  # requires koji to be installed
181 FFmpeg-Thumbnail                       # undeclared dep
182 File-DataClass                         # XML::DTD is a broken dist
183 Finance-Bank-SentinelBenefits-Csv401kConverter  # uses stash entries with ::
184 Forest-Tree-Viewer-Gtk2                # gtk tests are graphical
185 Form-Factory                           # uses old moose apis
186 Frost                                  # broken
187 Games-Pandemic                         # tk doesn't build
188 Games-RailRoad                         # tk doesn't build
189 Games-Risk                             # tk doesn't build
190 Games-Tetris-Complete                  # requires threads
191 Getopt-Chain                           # p::d::builder changed dists
192 GOBO                                   # coerce with no coercion
193 Google-Spreadsheet-Agent               # pod::coverage fail
194 helm                                   # depends on running ssh
195 Hobocamp                               # configure_requires needs EU::CChecker
196 Horris                                 # App::Horris isn't on cpan
197 HTML-TreeBuilderX-ASP_NET              # broken
198 IM-Engine-Plugin-Dispatcher            # p::d::declarative changed dists
199 JavaScript-Framework-jQuery            # coerce with no coercion
200 Jungle                                 # broken
201 Kamaitachi                             # pod::coverage fail
202 KiokuDB-Backend-Files                  # broken
203 Lingua-TreeTagger                      # requires treetagger to be installed
204 Locale-MO-File                         # broken
205 Log-Dispatch-Gtk2-Notify               # gtk tests are graphical
206 Mail-Summary-Tools                     # DT::Format::DateManip is broken
207 MediaWiki-USERINFO                     # broken
208 mobirc                                 # http::engine broken
209 MooseX-Attribute-Prototype             # uses old moose apis
210 MooseX-DBIC-Scaffold                   # needs unreleased sql-translator
211 MooseX-Documenter                      # broken
212 MooseX-DOM                             # "no Moose" unimports confess
213 MooseX-Error-Exception-Class           # metaclass compat breakage
214 MooseX-Meta-Attribute-Index            # old moose apis
215 MooseX-Meta-Attribute-Lvalue           # old moose apis
216 MooseX-Struct                          # ancient moose apis
217 MooseX-TrackDirty-Attributes           # old moose apis
218 MSWord-ToHTML                          # requires abiword to be installed
219 namespace-alias                        # won't compile
220 Net-Douban                             # broken
221 Net-FluidDB                            # broken
222 Net-Fluidinfo                          # broken
223 NetHack-Item                           # NH::Monster::Spoiler is broken
224 NetHack-Monster-Spoiler                # broken (MX::CA issues)
225 Net-HTTP-Factual                       # broken
226 Net-Journyx                            # broken
227 Net-Parliament                         # broken
228 Net-Plurk                              # broken
229 Net-StackExchange                      # broken
230 Nginx-Control                          # requires nginx to be installed
231 ODG-Record                             # Test::Benchmark broken
232 Paludis-UseCleaner                     # needs cave::wrapper
233 Parse-FixedRecord                      # broken
234 Perlanet                               # HTML::Tidy requires tidyp
235 Perlbal-Control                        # proc::processtable doesn't load
236 Perl-Dist-Strawberry-BuildPerl-5123    # windows only
237 Perl-Dist-WiX-BuildPerl-5123           # windows only
238 Perl-Dist-WiX                          # windows only
239 Pg-BulkCopy                            # hardcodes /usr/bin/perl
240 POE-Component-CPAN-Mirror-Multiplexer  # broken
241 POE-Component-DirWatch-Object          # broken
242 POE-Component-OpenSSH                  # depends on running ssh
243 POE-Component-ResourcePool             # broken
244 POE-Component-Server-PSGI              # broken deps
245 POE-Component-Server-SimpleHTTP-PreFork  # broken deps
246 POEx-ProxySession                      # broken deps
247 POEx-PubSub                            # broken deps
248 POEx-WorkerPool                        # broken deps
249 Queue-Leaky                            # broken
250 RDF-Server                             # "no Moose" unimports confess
251 Reaction                               # signatures is broken
252 Reflexive-Role-Collective              # broken (reflex::role changes?)
253 Reflexive-Role-DataMover               # broken (reflex::role changes?)
254 Reflexive-Role-TCPServer               # broken (reflex::role changes?)
255 RPC-Any                                # broken
256 Scene-Graph                            # has '+attr' in roles
257 Server-Control                         # proc::processtable doesn't load
258 SilkiX-Converter-Kwiki                 # file::mimeinfo expects (?-xism:
259 SimpleDB-Class                         # requires memcached
260 SRS-EPP-Proxy                          # depends on xml::epp
261 String-Blender                         # broken
262 TAEB                                   # broken
263 Tail-Tool                              # Getopt::Alt doesn't exist
264 Tapper-Installer                       # sys::info::driver::linux is broken
265 Tapper-MCP-MessageReceiver             # sys::info::driver::linux is broken
266 Tapper-MCP                             # sys::info::driver::linux is broken
267 Tapper-Reports-API                     # sys::info::driver::linux is broken
268 Tapper-Testplan                        # sys::info::driver::linux is broken
269 Telephone-Mnemonic-US                  # rpm-build-perl is broken
270 Test-A8N                               # broken
271 Test-Daily                             # configure errors
272 Test-SFTP                              # Term::ReadPassword prompts in tests
273 Thorium                                # requires Hobocamp
274 Tk-Role-Dialog                         # tk won't compile
275 TryCatch-Error                         # broken
276 Verby                                  # requires poe::component::resourcepool
277 Weaving-Tablet                         # tk doesn't compile
278 WebService-Yes24                       # broken
279 WiX3                                   # broken
280 WWW-Fandango                           # bad dist
281 WWW-FMyLife                            # broken
282 WWW-Hashdb                             # test hangs, pegging cpu
283 WWW-Metalgate                          # Cache is broken
284 WWW-Scramble                           # pod::coverage fail
285 WWW-StaticBlog                         # time::sofar is broken
286 WWW-Yahoo-Lyrics-JP                    # broken
287 XIRCD                                  # undeclared deps
288 XML-EPP                                # coerce without coercion
289 Yukki                                  # git::repository is broken
290 Zucchini                               # File::Rsync prompts in Makefile.PL
291
292 # dep resolution failures or something (these pass when run manually)
293 App-HistHub # JSON::Any can't see JSON::XS?
294 Bot-BasicBot-Pluggable
295 Bot-BasicBot-Pluggable-Module-JIRA
296 CPAN-Digger
297 Cantella-Worker
298 Cantella-Worker-Role-Beanstalk
299 Catalyst-Plugin-Session
300 Catalyst-View-ByCode
301 Catalyst-View-RDF
302 CatalystX-Declare
303 CatalystX-Syntax-Action
304 Chart-Clicker
305 Chart-Weather-Forecast
306 Chef
307 Code-Statistics
308 CPAN-Patches
309 Crypt-PBKDF2
310 Curses-Toolkit
311 DBIx-Class-DeploymentHandler
312 Data-SearchEngine-ElasticSearch
313 Devel-IntelliPerl
314 Dist-Zilla-Plugin-BuildSelf
315 Dist-Zilla-Plugin-DualLife
316 Dist-Zilla-Plugin-GitFlow
317 Dist-Zilla-Plugin-MetaResourcesFromGit
318 Dist-Zilla-Plugin-ModuleBuildTiny
319 Dist-Zilla-Plugin-Rsync
320 Dist-Zilla-Plugin-Test-CPAN-Changes
321 Dist-Zilla-Plugin-Test-DistManifest
322 Dist-Zilla-Plugin-Test-Kwalitee
323 Dist-Zilla-Plugin-Test-Portability
324 Dist-Zilla-Plugin-Test-Synopsis
325 Dist-Zilla-Plugin-Test-UnusedVars
326 Dist-Zilla-PluginBundle-ARODLAND
327 Dist-Zilla-PluginBundle-Author-OLIVER
328 Dist-Zilla-PluginBundle-FLORA
329 Dist-Zilla-PluginBundle-NIGELM
330 Dist-Zilla-PluginBundle-NUFFIN
331 Dist-Zilla-PluginBundle-RBUELS
332 FCGI-Engine
333 Fey-SQL-Pg
334 Finance-Bank-SuomenVerkkomaksut
335 Games-AssaultCube
336 Games-HotPotato
337 Gearman-Driver
338 Geo-Calc
339 Gitalist
340 Grades
341 Graphics-Primitive-Driver-Cairo
342 Graphics-Primitive-Driver-CairoPango
343 HTML-FormHandler
344 HTML-FormHandler-Model-DBIC
345 IMS-CP-Manifest
346 IO-Multiplex-Intermediary
347 Image-Placeholder
348 Kafka-Client
349 KiokuDB-Backend-BDB
350 LWP-UserAgent-OfflineCache
351 Locale-Handle-Pluggable
352 Mason
353 Mildew
354 MooseX-APIRole
355 MooseX-AutoImmute
356 MooseX-Declare
357 MooseX-Method-Signatures
358 MooseX-MultiMethods
359 MooseX-MultiObject
360 MooseX-POE
361 MooseX-Params
362 MooseX-Workers
363 Net-Topsy
364 POE-Component-Client-CouchDB
365 POE-Component-Client-MPD
366 POE-Component-DirWatch
367 POE-Component-Github
368 POE-Component-IRC-Plugin-Role
369 POE-Component-MessageQueue
370 POE-Component-Metabase-Relay-Server
371 POE-Component-Server-SimpleHTTP
372 POE-Test-Helpers
373 Parse-CPAN-Ratings
374 Pod-Weaver-Section-Encoding
375 Proc-Safetynet
376 Reflex
377 Reflexive-Stream-Filtering
378 Schedule-Pluggable
379 Template-Plugin-Heritable
380 Test-BDD-Cucumber
381 Test-Sweet
382 Test-System
383 TryCatch
384 VANAMBURG-SEMPROG-SimpleGraph
385 VCI
386 W3C-XMLSchema
387 WWW-Alltop
388 WWW-Getsy
389 WWW-Mechanize-Cached
390 WWW-MenuGrinder
391 WebNano-Controller-CRUD
392 WebService-Async
393 WebService-LOC-CongRec
394 WebService-SlimTimer
395 XML-Ant-BuildFile
396 XML-LibXSLT-Easy
397 XML-Rabbit
398 XML-Schematron
399 YUM-RepoQuery