OS2 patches
[p5sagit/p5-mst-13.2.git] / lib / ExtUtils / t / 00setup_dummy.t
1 #!/usr/bin/perl -w
2
3 BEGIN {
4     if( $ENV{PERL_CORE} ) {
5         @INC = ('../lib', 'lib');
6     }
7     else {
8         unshift @INC, 't/lib';
9     }
10 }
11 chdir 't';
12
13 use strict;
14 use Test::More tests => 9;
15 use File::Basename;
16 use File::Path;
17 use File::Spec;
18
19 if( $^O eq 'VMS' ) {
20     # On older systems we might exceed the 8-level directory depth limit
21     # imposed by RMS.  We get around this with a rooted logical, but we
22     # can't create logical names with attributes in Perl, so we do it
23     # in a DCL subprocess and put it in the job table so the parent sees it.
24     open( BFDTMP, '>bfdtesttmp.com' ) || die "Error creating command file; $!";
25     print BFDTMP <<'COMMAND';
26 $ BFD_TEST_ROOT = F$PARSE("SYS$DISK:[-]",,,,"NO_CONCEAL")-".][000000"-"]["-"].;"+".]"
27 $ DEFINE/JOB/NOLOG/TRANSLATION=CONCEALED BFD_TEST_ROOT 'BFD_TEST_ROOT'
28 COMMAND
29     close BFDTMP;
30
31     system '@bfdtesttmp.com';
32     1 while unlink 'bfdtesttmp.com';
33 }
34
35
36 my %Files = (
37              'Big-Dummy/lib/Big/Dummy.pm'     => <<'END',
38 package Big::Dummy;
39
40 $VERSION = 0.01;
41
42 =head1 NAME
43
44 Big::Dummy - Try "our" hot dog's
45
46 =cut
47
48 1;
49 END
50
51              'Big-Dummy/Makefile.PL'          => <<'END',
52 use ExtUtils::MakeMaker;
53
54 printf "Current package is: %s\n", __PACKAGE__;
55
56 WriteMakefile(
57     NAME          => 'Big::Dummy',
58     VERSION_FROM  => 'lib/Big/Dummy.pm',
59     PREREQ_PM     => { strict => 0 },
60     ABSTRACT_FROM => 'lib/Big/Dummy.pm',
61     AUTHOR        => 'Michael G Schwern <schwern@pobox.com>',
62 );
63 END
64
65              'Big-Dummy/t/compile.t'          => <<'END',
66 print "1..2\n";
67
68 print eval "use Big::Dummy; 1;" ? "ok 1\n" : "not ok 1\n";
69 print "ok 2 - TEST_VERBOSE\n";
70 END
71
72              'Big-Dummy/Liar/t/sanity.t'      => <<'END',
73 print "1..3\n";
74
75 print eval "use Big::Dummy; 1;" ? "ok 1\n" : "not ok 1\n";
76 print eval "use Big::Liar; 1;" ? "ok 2\n" : "not ok 2\n";
77 print "ok 3 - TEST_VERBOSE\n";
78 END
79
80              'Big-Dummy/Liar/lib/Big/Liar.pm' => <<'END',
81 package Big::Liar;
82
83 $VERSION = 0.01;
84
85 1;
86 END
87
88              'Big-Dummy/Liar/Makefile.PL'     => <<'END',
89 use ExtUtils::MakeMaker;
90
91 my $mm = WriteMakefile(
92               NAME => 'Big::Liar',
93               VERSION_FROM => 'lib/Big/Liar.pm',
94               _KEEP_AFTER_FLUSH => 1
95              );
96
97 print "Big::Liar's vars\n";
98 foreach my $key (qw(INST_LIB INST_ARCHLIB)) {
99     print "$key = $mm->{$key}\n";
100 }
101 END
102
103              'Problem-Module/Makefile.PL'   => <<'END',
104 use ExtUtils::MakeMaker;
105
106 WriteMakefile(
107     NAME    => 'Problem::Module',
108 );
109 END
110
111              'Problem-Module/subdir/Makefile.PL'    => <<'END',
112 printf "\@INC %s .\n", (grep { $_ eq '.' } @INC) ? "has" : "doesn't have";
113
114 warn "I think I'm going to be sick\n";
115 die "YYYAaaaakkk\n";
116 END
117
118             );
119
120 while(my($file, $text) = each %Files) {
121     # Convert to a relative, native file path.
122     $file = File::Spec->catfile(File::Spec->curdir, split m{\/}, $file);
123
124     my $dir = dirname($file);
125     mkpath $dir;
126     open(FILE, ">$file");
127     print FILE $text;
128     close FILE;
129
130     ok( -e $file, "$file created" );
131 }
132
133
134 pass("Setup done");