This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Re: [PATCH] Hash::Util::FieldHash
[perl5.git] / ext / Devel / PPPort / mktests.PL
CommitLineData
adfe19db
MHM
1################################################################################
2#
3# mktests.PL -- generate test files for Devel::PPPort
4#
5################################################################################
6#
c07deaaf 7# $Revision: 22 $
adfe19db 8# $Author: mhx $
c07deaaf 9# $Date: 2006/05/21 23:15:21 +0200 $
adfe19db
MHM
10#
11################################################################################
12#
0d0f8426 13# Version 3.x, Copyright (C) 2004-2006, Marcus Holland-Moritz.
adfe19db
MHM
14# Version 2.x, Copyright (C) 2001, Paul Marquess.
15# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
16#
17# This program is free software; you can redistribute it and/or
18# modify it under the same terms as Perl itself.
19#
20################################################################################
21
22use strict;
23$^W = 1;
24require "parts/ppptools.pl";
25
26my $template = do { local $/; <DATA> };
27
28my $file;
29for $file (glob 'parts/inc/*') {
30 my($testfile) = $file =~ /(\w+)$/;
31 $testfile = "t/$testfile.t";
32
33 my $spec = parse_partspec($file);
34 my $plan = 0;
35
36 if (exists $spec->{tests}) {
37 exists $spec->{OPTIONS}{tests} &&
38 exists $spec->{OPTIONS}{tests}{plan}
39 or die "No plan for tests in $file\n";
40
41 print "generating $testfile\n";
42
43 my $tmpl = $template;
44 $tmpl =~ s/__SOURCE__/$file/mg;
45 $tmpl =~ s/__PLAN__/$spec->{OPTIONS}{tests}{plan}/mg;
46 $tmpl =~ s/^__TESTS__$/$spec->{tests}/mg;
4a582685 47
adfe19db
MHM
48 open FH, ">$testfile" or die "$testfile: $!\n";
49 print FH $tmpl;
50 close FH;
51 }
52}
53
54exit 0;
55
56__DATA__
57################################################################################
58#
59# !!!!! Do NOT edit this file directly! !!!!!
60#
61# Edit mktests.PL and/or __SOURCE__ instead.
62#
63################################################################################
64
65BEGIN {
66 if ($ENV{'PERL_CORE'}) {
67 chdir 't' if -d 't';
68 @INC = ('../lib', '../ext/Devel/PPPort/t') if -d '../lib' && -d '../ext';
69 require Config; import Config;
70 use vars '%Config';
a745474a 71 if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
adfe19db
MHM
72 print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
73 exit 0;
74 }
75 }
76 else {
77 unshift @INC, 't';
78 }
79
c07deaaf
MHM
80 sub load {
81 eval "use Test";
82 require 'testutil.pl' if $@;
adfe19db 83 }
c07deaaf
MHM
84
85 if (__PLAN__) {
86 load();
adfe19db
MHM
87 plan(tests => __PLAN__);
88 }
89}
90
91use Devel::PPPort;
92use strict;
93$^W = 1;
94
95__TESTS__