Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4cb7d67

Browse files
committed
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
1 parent 2e5d52a commit 4cb7d67

File tree

2 files changed

+46
-23
lines changed

2 files changed

+46
-23
lines changed

doc/src/sgml/install-windows.sgml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,7 @@ $ENV{CONFIG}="Debug";
436436
<userinput>vcregress installcheck</userinput>
437437
<userinput>vcregress plcheck</userinput>
438438
<userinput>vcregress contribcheck</userinput>
439+
<userinput>vcregress modulescheck</userinput>
439440
<userinput>vcregress ecpgcheck</userinput>
440441
<userinput>vcregress isolationcheck</userinput>
441442
<userinput>vcregress upgradecheck</userinput>

src/tools/msvc/vcregress.pl

Lines changed: 45 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
my $what = shift || "";
3333
if ($what =~
34-
/^(check|installcheck|plcheck|contribcheck|ecpgcheck|isolationcheck|upgradecheck)$/i
34+
/^(check|installcheck|plcheck|contribcheck|modulescheck|ecpgcheck|isolationcheck|upgradecheck)$/i
3535
)
3636
{
3737
$what = uc $what;
@@ -49,7 +49,7 @@
4949
copy("$Config/regress/regress.dll", "src/test/regress");
5050
copy("$Config/dummy_seclabel/dummy_seclabel.dll", "src/test/regress");
5151

52-
$ENV{PATH} = "../../../$Config/libpq;../../$Config/libpq;$ENV{PATH}";
52+
$ENV{PATH} = "$topdir/$Config/libpq;$topdir/$Config/libpq;$ENV{PATH}";
5353

5454
my $schedule = shift;
5555
unless ($schedule)
@@ -76,6 +76,7 @@
7676
INSTALLCHECK => \&installcheck,
7777
ECPGCHECK => \&ecpgcheck,
7878
CONTRIBCHECK => \&contribcheck,
79+
MODULESCHECK => \&modulescheck,
7980
ISOLATIONCHECK => \&isolationcheck,
8081
UPGRADECHECK => \&upgradecheck,);
8182

@@ -213,10 +214,39 @@ sub plcheck
213214
chdir "../../..";
214215
}
215216

216-
sub contribcheck
217+
sub subdircheck
217218
{
218-
chdir "../../../contrib";
219+
my $subdir = shift;
220+
my $module = shift;
219221
my $mstat = 0;
222+
223+
if ( ! -d "$module/sql" ||
224+
! -d "$module/expected" ||
225+
( ! -f "$module/GNUmakefile" && ! -f "$module/Makefile"))
226+
{
227+
return;
228+
}
229+
chdir $module;
230+
print
231+
"============================================================\n";
232+
print "Checking $module\n";
233+
my @tests = fetchTests();
234+
my @opts = fetchRegressOpts();
235+
my @args = (
236+
"$topdir/$Config/pg_regress/pg_regress",
237+
"--psqldir=$topdir/$Config/psql",
238+
"--dbname=contrib_regression", @opts, @tests);
239+
system(@args);
240+
my $status = $? >> 8;
241+
$mstat ||= $status;
242+
chdir "..";
243+
244+
exit $mstat if $mstat;
245+
}
246+
247+
sub contribcheck
248+
{
249+
chdir "$topdir/contrib";
220250
foreach my $module (glob("*"))
221251
{
222252
# these configuration-based exclusions must match Install.pm
@@ -225,28 +255,20 @@ sub contribcheck
225255
next if ($module eq "xml2" && !defined($config->{xml}));
226256
next if ($module eq "sepgsql");
227257

228-
next
229-
unless -d "$module/sql"
230-
&& -d "$module/expected"
231-
&& (-f "$module/GNUmakefile" || -f "$module/Makefile");
232-
chdir $module;
233-
print
234-
"============================================================\n";
235-
print "Checking $module\n";
236-
my @tests = fetchTests();
237-
my @opts = fetchRegressOpts();
238-
my @args = (
239-
"../../$Config/pg_regress/pg_regress",
240-
"--psqldir=../../$Config/psql",
241-
"--dbname=contrib_regression", @opts, @tests);
242-
system(@args);
243-
my $status = $? >> 8;
244-
$mstat ||= $status;
245-
chdir "..";
258+
subdircheck("$topdir/contrib", $module);
246259
}
247-
exit $mstat if $mstat;
248260
}
249261

262+
sub modulescheck
263+
{
264+
chdir "$topdir/src/test/modules";
265+
foreach my $module (glob("*"))
266+
{
267+
subdircheck("$topdir/src/test/modules", $module);
268+
}
269+
}
270+
271+
250272
# Run "initdb", then reconfigure authentication.
251273
sub standard_initdb
252274
{

0 commit comments

Comments
 (0)