mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
Add new target modulescheck in vcregress.pl
This allows an MSVC build to run regression tests related to modules in src/test/modules. Author: Michael Paquier Reviewed by: Andrew Dunstan
This commit is contained in:
parent
2e5d52a644
commit
4cb7d671fd
@ -436,6 +436,7 @@ $ENV{CONFIG}="Debug";
|
||||
<userinput>vcregress installcheck</userinput>
|
||||
<userinput>vcregress plcheck</userinput>
|
||||
<userinput>vcregress contribcheck</userinput>
|
||||
<userinput>vcregress modulescheck</userinput>
|
||||
<userinput>vcregress ecpgcheck</userinput>
|
||||
<userinput>vcregress isolationcheck</userinput>
|
||||
<userinput>vcregress upgradecheck</userinput>
|
||||
|
@ -31,7 +31,7 @@ if (-e "src/tools/msvc/buildenv.pl")
|
||||
|
||||
my $what = shift || "";
|
||||
if ($what =~
|
||||
/^(check|installcheck|plcheck|contribcheck|ecpgcheck|isolationcheck|upgradecheck)$/i
|
||||
/^(check|installcheck|plcheck|contribcheck|modulescheck|ecpgcheck|isolationcheck|upgradecheck)$/i
|
||||
)
|
||||
{
|
||||
$what = uc $what;
|
||||
@ -49,7 +49,7 @@ copy("$Config/autoinc/autoinc.dll", "src/test/regress");
|
||||
copy("$Config/regress/regress.dll", "src/test/regress");
|
||||
copy("$Config/dummy_seclabel/dummy_seclabel.dll", "src/test/regress");
|
||||
|
||||
$ENV{PATH} = "../../../$Config/libpq;../../$Config/libpq;$ENV{PATH}";
|
||||
$ENV{PATH} = "$topdir/$Config/libpq;$topdir/$Config/libpq;$ENV{PATH}";
|
||||
|
||||
my $schedule = shift;
|
||||
unless ($schedule)
|
||||
@ -76,6 +76,7 @@ my %command = (
|
||||
INSTALLCHECK => \&installcheck,
|
||||
ECPGCHECK => \&ecpgcheck,
|
||||
CONTRIBCHECK => \&contribcheck,
|
||||
MODULESCHECK => \&modulescheck,
|
||||
ISOLATIONCHECK => \&isolationcheck,
|
||||
UPGRADECHECK => \&upgradecheck,);
|
||||
|
||||
@ -213,10 +214,39 @@ sub plcheck
|
||||
chdir "../../..";
|
||||
}
|
||||
|
||||
sub subdircheck
|
||||
{
|
||||
my $subdir = shift;
|
||||
my $module = shift;
|
||||
my $mstat = 0;
|
||||
|
||||
if ( ! -d "$module/sql" ||
|
||||
! -d "$module/expected" ||
|
||||
( ! -f "$module/GNUmakefile" && ! -f "$module/Makefile"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
chdir $module;
|
||||
print
|
||||
"============================================================\n";
|
||||
print "Checking $module\n";
|
||||
my @tests = fetchTests();
|
||||
my @opts = fetchRegressOpts();
|
||||
my @args = (
|
||||
"$topdir/$Config/pg_regress/pg_regress",
|
||||
"--psqldir=$topdir/$Config/psql",
|
||||
"--dbname=contrib_regression", @opts, @tests);
|
||||
system(@args);
|
||||
my $status = $? >> 8;
|
||||
$mstat ||= $status;
|
||||
chdir "..";
|
||||
|
||||
exit $mstat if $mstat;
|
||||
}
|
||||
|
||||
sub contribcheck
|
||||
{
|
||||
chdir "../../../contrib";
|
||||
my $mstat = 0;
|
||||
chdir "$topdir/contrib";
|
||||
foreach my $module (glob("*"))
|
||||
{
|
||||
# these configuration-based exclusions must match Install.pm
|
||||
@ -225,28 +255,20 @@ sub contribcheck
|
||||
next if ($module eq "xml2" && !defined($config->{xml}));
|
||||
next if ($module eq "sepgsql");
|
||||
|
||||
next
|
||||
unless -d "$module/sql"
|
||||
&& -d "$module/expected"
|
||||
&& (-f "$module/GNUmakefile" || -f "$module/Makefile");
|
||||
chdir $module;
|
||||
print
|
||||
"============================================================\n";
|
||||
print "Checking $module\n";
|
||||
my @tests = fetchTests();
|
||||
my @opts = fetchRegressOpts();
|
||||
my @args = (
|
||||
"../../$Config/pg_regress/pg_regress",
|
||||
"--psqldir=../../$Config/psql",
|
||||
"--dbname=contrib_regression", @opts, @tests);
|
||||
system(@args);
|
||||
my $status = $? >> 8;
|
||||
$mstat ||= $status;
|
||||
chdir "..";
|
||||
subdircheck("$topdir/contrib", $module);
|
||||
}
|
||||
exit $mstat if $mstat;
|
||||
}
|
||||
|
||||
sub modulescheck
|
||||
{
|
||||
chdir "$topdir/src/test/modules";
|
||||
foreach my $module (glob("*"))
|
||||
{
|
||||
subdircheck("$topdir/src/test/modules", $module);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Run "initdb", then reconfigure authentication.
|
||||
sub standard_initdb
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user