This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Devel;:PPPort: Skip tests invalid on EBCDIC
[perl5.git] / dist / Devel-PPPort / mktests.PL
CommitLineData
adfe19db
MHM
1################################################################################
2#
3# mktests.PL -- generate test files for Devel::PPPort
4#
5################################################################################
6#
b2049988 7# Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
adfe19db
MHM
8# Version 2.x, Copyright (C) 2001, Paul Marquess.
9# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
10#
11# This program is free software; you can redistribute it and/or
12# modify it under the same terms as Perl itself.
13#
14################################################################################
15
16use strict;
17$^W = 1;
874389ae 18require "./parts/ppptools.pl";
adfe19db
MHM
19
20my $template = do { local $/; <DATA> };
21
236afa0a 22generate_tests();
adfe19db 23
236afa0a
MHM
24sub generate_tests
25{
26 my @tests;
27 my $file;
adfe19db 28
1d088ed8 29 for $file (all_files_in_dir('parts/inc')) {
236afa0a
MHM
30 my($testfile) = $file =~ /(\w+)\.?$/; # VMS has a trailing dot
31 $testfile = "t/$testfile.t";
b2049988 32
236afa0a
MHM
33 my $spec = parse_partspec($file);
34 my $plan = 0;
b2049988 35
236afa0a
MHM
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";
b2049988 40
236afa0a 41 print "generating $testfile\n";
b2049988 42
236afa0a
MHM
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;
b2049988 47
236afa0a
MHM
48 open FH, ">$testfile" or die "$testfile: $!\n";
49 print FH $tmpl;
50 close FH;
b2049988 51
236afa0a
MHM
52 push @tests, $testfile;
53 }
adfe19db 54 }
b2049988 55
236afa0a 56 return @tests;
adfe19db
MHM
57}
58
adfe19db
MHM
59__DATA__
60################################################################################
61#
62# !!!!! Do NOT edit this file directly! !!!!!
63#
64# Edit mktests.PL and/or __SOURCE__ instead.
65#
cac25305
MHM
66# This file was automatically generated from the definition files in the
67# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
68# works, please read the F<HACKERS> file that came with this distribution.
69#
adfe19db
MHM
70################################################################################
71
72BEGIN {
73 if ($ENV{'PERL_CORE'}) {
49ef49fe
CBW
74 chdir 't' if -d 't';
75 @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
adfe19db
MHM
76 require Config; import Config;
77 use vars '%Config';
a745474a 78 if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
adfe19db
MHM
79 print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
80 exit 0;
81 }
82 }
83 else {
84 unshift @INC, 't';
85 }
86
c07deaaf
MHM
87 sub load {
88 eval "use Test";
89 require 'testutil.pl' if $@;
adfe19db 90 }
c07deaaf
MHM
91
92 if (__PLAN__) {
93 load();
adfe19db
MHM
94 plan(tests => __PLAN__);
95 }
96}
97
98use Devel::PPPort;
99use strict;
100$^W = 1;
101
236afa0a
MHM
102package Devel::PPPort;
103use vars '@ISA';
104require DynaLoader;
105@ISA = qw(DynaLoader);
106bootstrap Devel::PPPort;
107
108package main;
109
adfe19db 110__TESTS__