$ENV{BLOSXOM_CONFIG_DIR} = $blosxom_config_dir;
$ENV{TZ} = 'UTC';
-my $blosxom_cgi = "$testdir/../../blosxom.cgi";
-die "cannot find blosxom.cgi '$blosxom_cgi'" unless -f $blosxom_cgi;
+my $blosxom_cgi = $ENV{BLOSXOM_CGI};
+unless ($blosxom_cgi && -f $blosxom_cgi) {
+ if (-f "$testdir/../../blosxom.cgi") {
+ $blosxom_cgi = "$testdir/../../blosxom.cgi";
+ warn "ignoring BLOSXOM_CGI setting '$ENV{BLOSXOM_CGI}' - using '$blosxom_cgi' instead"
+ if $ENV{BLOSXOM_CGI};
+ }
+ elsif ($blosxom_cgi) {
+ die "cannot find blosxom.cgi '$blosxom_cgi' - check your BLOSXOM_CGI environment variable";
+ }
+ else {
+ die "cannot find blosxom.cgi - please set the BLOSXOM_CGI environment variable";
+ }
+}
die "blosxom.cgi '$blosxom_cgi' is not executable" unless -x $blosxom_cgi;
my $spec = YAML::LoadFile ("$testdir/spec.yaml")
skip "Static tests require 'expected' directory", 1 unless $expected;
$expected = "$blosxom_config_dir/../$expected" unless $expected =~ m!^/!;
skip "Static tests 'expected' directory is missing", 1 unless -d $expected;
- skip "Static tests 'static_dir' directory is missing", 1 unless -d $static_dir;
+ -d $static_dir or mkdir $static_dir
+ or die "mkdir on static_dir '$static_dir' failed: $!";
File::Remove::remove(\1, "$static_dir/*");
my ($a_short, $b_short) = ($a, $b);
$a_short =~ s!^.*\.\./!! if $a_short;
$b_short =~ s!^.*\.\./!! if $b_short;
+ return if $b && $b =~ m! /CVS$ !x;
if (! $b) {
fail("$a_short has no corresponding file");
} elsif (! $a) {
eq_or_diff($got, $expected, "file $a_short and $b_short match", { style => 'Unified' });
}
}, { ignore_cmp => 1 });
+
+ # Cleanup static output
+ File::Remove::remove(\1, "$static_dir/*") unless $ENV{BLOSXOM_STATIC_NO_CLEANUP};
}
}