blob: c03a92a7063b9244fa1c5dcfa3e6027ba6348aa5 [file] [log] [blame]
#!/usr/bin/perl
use lib '.'; use lib 't';
$ENV{'TEST_PERL_TAINT'} = 'no'; # inhibit for this test
use SATest; sa_t_init("make_install");
use Test; plan tests => 25;
BEGIN {
if (-e 't/test_dir') {
chdir 't';
}
if (-e 'test_dir') {
unshift(@INC, '../blib/lib');
}
};
# -------------------------------------------------------------------
use Cwd;
my $cwd = getcwd;
my $builddir = "$cwd/log/d.$testname/build";
my $instbase = "$cwd/log/d.$testname/inst";
system("rm -rf $instbase $builddir");
system("mkdir -p $instbase $builddir");
sub system_or_die;
system_or_die "cd .. && make tardist";
system_or_die "cd $builddir && gunzip -cd $cwd/../Mail-SpamAssassin-*.tar.gz | tar xf -";
system_or_die "cd $builddir && mv Mail-SpamAssassin-* x";
sub new_instdir {
$instdir = $instbase.".".(shift);
print "\nsetting new instdir: $instdir\n";
system("rm -rf $instdir; mkdir $instdir");
}
sub run_makefile_pl {
my $args = $_[0];
system_or_die "cd $builddir/x && $perl_cmd Makefile.PL ".
"$args < /dev/null 2>&1";
system_or_die "cd $builddir/x && make install 2>&1";
print "current instdir: $instdir\n";
}
# -------------------------------------------------------------------
new_instdir(__LINE__);
run_makefile_pl "PREFIX=$instdir/foo";
ok -d "$instdir/foo/bin";
ok -d "$instdir/foo/lib";
ok -e "$instdir/foo/share/spamassassin";
ok -e "$instdir/foo/etc/mail/spamassassin";
# -------------------------------------------------------------------
new_instdir(__LINE__);
run_makefile_pl "PREFIX=$instdir/foo LIB=$instdir/bar";
ok -e "$instdir/foo/bin";
ok -e "$instdir/bar/Mail/SpamAssassin";
ok -e "$instdir/foo/share/spamassassin";
ok -e "$instdir/foo/etc/mail/spamassassin";
# -------------------------------------------------------------------
new_instdir(__LINE__);
run_makefile_pl "PREFIX=$instdir/foo LIB=$instdir/bar DATADIR=$instdir/data";
ok -e "$instdir/foo/bin";
ok -e "$instdir/bar/Mail/SpamAssassin";
ok -e "$instdir/data/sa-update-pubkey.txt";
ok !-e "$instdir/foo/share/spamassassin";
ok -e "$instdir/foo/etc/mail/spamassassin";
# -------------------------------------------------------------------
new_instdir(__LINE__);
run_makefile_pl "PREFIX=$instdir/foo SYSCONFDIR=$instdir/sysconf";
ok -e "$instdir/foo/bin";
ok -e "$instdir/sysconf/mail/spamassassin/local.cf";
ok -e "$instdir/foo/share/spamassassin/sa-update-pubkey.txt";
ok !-e "$instdir/foo/etc/mail/spamassassin";
# -------------------------------------------------------------------
new_instdir(__LINE__);
run_makefile_pl "PREFIX=$instdir/foo CONFDIR=$instdir/conf";
ok -e "$instdir/foo/bin";
ok -e "$instdir/conf/local.cf";
ok -e "$instdir/foo/share/spamassassin/sa-update-pubkey.txt";
ok !-e "$instdir/foo/etc/mail/spamassassin";
# -------------------------------------------------------------------
new_instdir(__LINE__);
run_makefile_pl "DESTDIR=$instdir/dest PREFIX=/foo";
ok -e "$instdir/dest/foo/bin";
ok -e "$instdir/dest/foo/etc/mail/spamassassin";
ok -e "$instdir/dest/foo/lib";
ok -e "$instdir/dest/foo/share/spamassassin/sa-update-pubkey.txt";