4 use Cwd qw( abs_path );
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};
13 'Test::DependentModules' => '0.09', # skip all if not installed
14 'MetaCPAN::API' => '0.33',
16 use Test::DependentModules qw( test_all_dependents test_modules );
19 use List::MoreUtils qw(any);
22 diag( 'Test run performed at: '
27 $ENV{PERL_TEST_DM_LOG_DIR} = abs_path('.');
28 delete @ENV{ qw( AUTHOR_TESTING RELEASE_TESTING SMOKE_TESTING ) };
30 my $mcpan = MetaCPAN::API->new;
31 my $res = $mcpan->post(
32 '/release/_search' => {
33 query => { match_all => {} },
37 { term => { 'release.dependency.module' => 'Moose' } },
38 { term => { 'release.dependency.module' => 'Moose::Role' } },
39 { term => { 'release.dependency.module' => 'Moose::Exporter' } },
40 { term => { 'release.dependency.module' => 'Class::MOP' } },
41 { term => { 'release.dependency.module' => 'MooseX::Role::Parameterized' } },
43 { term => { 'release.status' => 'latest' } },
44 { term => { 'release.maturity' => 'released' } },
46 fields => 'distribution'
50 my %skip = map { $_ => 1 } grep { /\w/ } map { chomp; s/\s*#.*$//; $_ } <DATA>;
51 my @skip_prefix = qw(Acme Task Bundle);
53 'App-PipeFilter' => 'App::PipeFilter::Generic',
54 'Constructible' => 'Constructible::Maxima',
55 'DCOLLINS-ANN-Locals' => 'DCOLLINS::ANN::Robot',
56 'Dist-Zilla-Deb' => 'Dist::Zilla::Plugin::Deb::VersionFromChangelog',
57 'Dist-Zilla-Plugin-TemplateFile' => 'Dist::Zilla::Plugin::TemplateFiles',
58 'Dist-Zilla-Plugins-CJM' => 'Dist::Zilla::Plugin::TemplateCJM',
59 'OWL-Simple' => 'OWL::Simple::Class',
60 'Patterns-ChainOfResponsibility' => 'Patterns::ChainOfResponsibility::Application',
61 'Role-Identifiable' => 'Role::Identifiable::HasIdent',
62 'X11-XCB' => 'X11::XCB::Connection',
63 'XML-Ant-BuildFile' => 'XML::Ant::BuildFile::Project',
65 'marc-moose' => 'MARC::Moose',
66 'mobirc' => 'App::Mobirc',
67 'smokebrew' => 'App::SmokeBrew',
70 my @modules = map { exists $name_fix{$_} ? $name_fix{$_} : $_ }
73 grep { my $dist = $_; !any { $dist =~ /^$_-/ } @skip_prefix }
74 map { $_->{fields}{distribution} }
75 @{ $res->{hits}{hits} };
77 plan tests => scalar @modules;
78 test_modules(@modules);
80 # Modules that are known to fail
81 # PRANG - failing for quite some time (since before 2.0400)
85 # need Archive::Zip, or .zip dists won't be able to be installed
87 # won't build, for actual reasons:
88 App-CPAN2Pkg # Tk doesn't compile
89 App-Fotagger # Imager doesn't compile
90 Black-Board # not found on cpan because of mxd
91 CM-Permutation # OpenGL uses graphics in Makefile.PL
92 Dackup # depends on running ssh
93 Date-Biorhythm # Date::Business prompts in Makefile.PL
94 Data-Collector # depends on running ssh
95 POE-Component-OpenSSH # depends on running ssh
96 Perl-Dist-Strawberry-BuildPerl-5123 # windows only
97 Perl-Dist-WiX # windows only
98 Perl-Dist-WiX-BuildPerl-5123 # windows only
99 Test-SFTP # Term::ReadPassword prompts in tests
100 VirtualBox-Manage # not found on cpan because of mxd
101 helm # depends on running ssh
103 # won't build, for unknown reasons
107 CPAN-Patches-Plugin-Debian # ???
109 Dist-Zilla-Plugin-BuildSelf # ???
110 Dist-Zilla-Plugin-ModuleBuildTiny # ???
111 Lingua-TreeTagger # ???
112 POE-Component-CPAN-Mirror-Multiplexer # ???
113 POE-Component-Client-CouchDB # ???
114 POE-Component-Github # ???
115 POE-Component-Metabase-Relay-Server # ???
116 POE-Component-Server-SimpleHTTP-PreFork # ???
117 Tapper-Testplan # ??? (hangs)
120 WWW-Hashdb # ??? (hangs, pegging cpu)
121 WebService-Async # ??? (hangs, pegging cpu)
122 WebService-LOC-CongRec # ???
123 Zucchini # ??? (hangs)
125 # not in cpan index for some reason
126 Dist-Zilla-Plugin-Test-DistManifest # not found on cpan (?)
127 Dist-Zilla-Plugin-Test-MinimumVersion # not found on cpan (?)
128 Dist-Zilla-Plugin-Test-Portability # not found on cpan (?)
129 Dist-Zilla-Plugin-Test-Synopsis # not found on cpan (?)
130 Dist-Zilla-Plugin-Test-UnusedVars # not found on cpan (?)
131 Hopkins # not found on cpan (?)
132 PostScript-Barcode # not found on cpan (?)
134 # failing for some reason or another (need to look into this)
135 AI-ExpertSystem-Advanced
138 Algorithm-KernelKMeans
141 AnyEvent-Inotify-Simple
145 App-Benchmark-Accessors
151 App-TemplateServer-Provider-HTML-Template
152 App-TemplateServer-Provider-Mason
153 App-TemplateServer-Provider-TD
161 Bot-BasicBot-Pluggable
162 Bot-BasicBot-Pluggable-Module-JIRA
163 Business-UPS-Tracking
169 Cantella-Worker-Role-Beanstalk
170 Catalyst-Authentication-Credential-Facebook-OAuth2
171 Catalyst-Authentication-Store-Fey-ORM
172 Catalyst-Authentication-Store-LDAP-AD-Class
173 Catalyst-Controller-MovableType
174 Catalyst-Controller-Resources
175 Catalyst-Engine-Stomp
176 Catalyst-Model-MenuGrinder
177 Catalyst-Model-Search-ElasticSearch
179 Catalyst-Plugin-Continuation
180 Catalyst-Plugin-ErrorCatcher-ActiveMQ-Stomp
181 Catalyst-Plugin-Session
182 Catalyst-Plugin-SwiffUploaderCookieHack
183 Catalyst-TraitFor-Component-ConfigPerSite
184 Catalyst-TraitFor-Controller-jQuery-jqGrid
188 CatalystX-MooseComponent
189 CatalystX-Restarter-GTK
190 CatalystX-RoleApplicator
192 CatalystX-SimpleLogin
193 CatalystX-Syntax-Action
197 Chart-Weather-Forecast
207 DBICx-Modeler-Generator
208 DBIx-Class-DeploymentHandler
211 Data-Apache-mod_status
214 Data-SearchEngine-ElasticSearch
218 Dist-Zilla-Plugin-DualLife
219 Dist-Zilla-Plugin-GitFlow
220 Dist-Zilla-Plugin-MetaResourcesFromGit
221 Dist-Zilla-Plugin-ProgCriticTests
222 Dist-Zilla-Plugin-Rsync
223 Dist-Zilla-Plugin-SVK
224 Dist-Zilla-Plugin-Test-CPAN-Changes
225 Dist-Zilla-Plugin-Test-Kwalitee
226 Dist-Zilla-PluginBundle-ARODLAND
227 Dist-Zilla-PluginBundle-Author-OLIVER
228 Dist-Zilla-PluginBundle-FLORA
229 Dist-Zilla-PluginBundle-NIGELM
230 Dist-Zilla-PluginBundle-NUFFIN
231 Dist-Zilla-PluginBundle-RBUELS
237 Fedora-App-MaintainerTools
238 Fedora-App-ReviewTool
241 Finance-Bank-SentinelBenefits-Csv401kConverter
242 Finance-Bank-SuomenVerkkomaksut
243 Forest-Tree-Viewer-Gtk2
252 Games-Tetris-Complete
257 Google-Spreadsheet-Agent
259 Graphics-Primitive-Driver-Cairo
260 Graphics-Primitive-Driver-CairoPango
262 HTML-FormHandler-Model-DBIC
263 HTML-TreeBuilderX-ASP_NET
266 IM-Engine-Plugin-Dispatcher
268 IO-Multiplex-Intermediary
270 JavaScript-Framework-jQuery
275 KiokuDB-Backend-Files
276 LWP-UserAgent-OfflineCache
277 Locale-Handle-Pluggable
279 Log-Dispatch-Gtk2-Notify
286 MooseX-Attribute-Prototype
292 MooseX-Error-Exception-Class
293 MooseX-Meta-Attribute-Index
294 MooseX-Meta-Attribute-Lvalue
295 MooseX-Method-Signatures
301 MooseX-TrackDirty-Attributes
315 NetHack-Monster-Spoiler
318 POE-Component-Client-MPD
319 POE-Component-DirWatch
320 POE-Component-DirWatch-Object
321 POE-Component-IRC-Plugin-Role
322 POE-Component-MessageQueue
323 POE-Component-ResourcePool
324 POE-Component-Server-MySQL
325 POE-Component-Server-PSGI
326 POE-Component-Server-SimpleHTTP
337 Pod-Weaver-Section-Encoding
345 Reflexive-Role-Collective
346 Reflexive-Role-DataMover
347 Reflexive-Role-TCPServer
348 Reflexive-Stream-Filtering
355 SilkiX-Converter-Kwiki
362 Tapper-MCP-MessageReceiver
364 Telephone-Mnemonic-US
365 Template-Plugin-Heritable
374 VANAMBURG-SEMPROG-SimpleGraph
389 WebNano-Controller-CRUD
391 WebService-CloudFlare-Host