Commit | Line | Data |
7292dc67 |
1 | #!/usr/bin/perl -w |
2 | |
2977d345 |
3 | # Tests INSTALL_BASE |
7292dc67 |
4 | |
5 | BEGIN { |
6 | if( $ENV{PERL_CORE} ) { |
7 | chdir 't' if -d 't'; |
8 | @INC = ('../lib', 'lib'); |
9 | } |
10 | else { |
11 | unshift @INC, 't/lib'; |
12 | } |
13 | } |
14 | |
15 | use strict; |
16 | use File::Path; |
17 | use Config; |
18 | |
19 | use Test::More tests => 21; |
20 | use MakeMaker::Test::Utils; |
21 | use MakeMaker::Test::Setup::BFD; |
22 | |
23 | my $Is_VMS = $^O eq 'VMS'; |
24 | |
25 | my $perl = which_perl(); |
26 | |
27 | chdir 't'; |
28 | perl_lib; |
29 | |
30 | ok( setup_recurs(), 'setup' ); |
31 | END { |
32 | ok( chdir File::Spec->updir ); |
33 | ok( teardown_recurs(), 'teardown' ); |
34 | } |
35 | |
36 | ok( chdir('Big-Dummy'), "chdir'd to Big-Dummy") || diag("chdir failed; $!"); |
37 | |
2977d345 |
38 | my @mpl_out = run(qq{$perl Makefile.PL "INSTALL_BASE=../dummy-install"}); |
7292dc67 |
39 | END { rmtree '../dummy-install'; } |
40 | |
41 | cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) || |
42 | diag(@mpl_out); |
43 | |
44 | my $makefile = makefile_name(); |
45 | ok( grep(/^Writing $makefile for Big::Dummy/, |
46 | @mpl_out) == 1, |
47 | 'Makefile.PL output looks right'); |
48 | |
49 | my $make = make_run(); |
50 | run("$make"); # this is necessary due to a dmake bug. |
4954abf7 |
51 | # Test 'make install VERBINST=1' |
52 | my $make_install_verbinst = make_macro($make, 'install', VERBINST => 1); |
53 | my $install_out = run($make_install_verbinst); |
54 | is( $?, 0, 'install' ) || diag $install_out; |
7292dc67 |
55 | like( $install_out, qr/^Installing /m ); |
56 | like( $install_out, qr/^Writing /m ); |
57 | |
58 | ok( -r '../dummy-install', ' install dir created' ); |
59 | |
60 | my @installed_files = |
61 | ('../dummy-install/lib/perl5/Big/Dummy.pm', |
62 | '../dummy-install/lib/perl5/Big/Liar.pm', |
63 | '../dummy-install/bin/program', |
64 | "../dummy-install/lib/perl5/$Config{archname}/perllocal.pod", |
65 | "../dummy-install/lib/perl5/$Config{archname}/auto/Big/Dummy/.packlist" |
66 | ); |
67 | |
68 | foreach my $file (@installed_files) { |
69 | ok( -e $file, " $file installed" ); |
70 | ok( -r $file, " $file readable" ); |
71 | } |
72 | |
73 | |
74 | # nmake outputs its damned logo |
75 | # Send STDERR off to oblivion. |
76 | open(SAVERR, ">&STDERR") or die $!; |
77 | open(STDERR, ">".File::Spec->devnull) or die $!; |
78 | |
79 | my $realclean_out = run("$make realclean"); |
80 | is( $?, 0, 'realclean' ) || diag($realclean_out); |
81 | |
82 | open(STDERR, ">&SAVERR") or die $!; |
83 | close SAVERR; |