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