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