mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-18 18:44:06 +08:00
Revert "Remove reset of testtablespace from pg_regress on Windows"
This reverts commit2b2a070
, that moved the reset of path "testtablespace" used by the regression tests as a path for tablespaces (via --outputdir) from pg_regress to the MSVC script vcregress.pl, as this broke the behavior added byce5d342
to be able to safely run the regression test suite with an administrative Windows account using a restricted token. Note that before2b2a070
, the code doing the reset in pg_regress.c included a comment telling that we had better move that out to a different place, leading to the mistake done in2b2a070
. Fix this comment, and document instead that we had better never remove this code, for the sake of not breaking again the behavior we expect on Windows. Thanks to Thomas Munro and Andrew Dunstan for the discussion. Discussion: https://postgr.es/m/6d9eee97-54c8-e14a-48f7-3194e712f54f@2ndQuadrant.com Discussion: https://postgr.es/m/CA+hUKGLiieEzfrdWxWFE+_wnXho_F5Smx972X1wEubhS7v1q9g@mail.gmail.com
This commit is contained in:
parent
ff61359ad7
commit
61be85afab
@ -494,6 +494,25 @@ convert_sourcefiles_in(const char *source_subdir, const char *dest_dir, const ch
|
||||
|
||||
snprintf(testtablespace, MAXPGPATH, "%s/testtablespace", outputdir);
|
||||
|
||||
#ifdef WIN32
|
||||
|
||||
/*
|
||||
* On Windows only, clean out the test tablespace dir, or create it if it
|
||||
* doesn't exist so as it is possible to run the regression tests as a
|
||||
* Windows administrative user account with the restricted token obtained
|
||||
* when starting pg_regress. On other platforms we expect the Makefile to
|
||||
* take care of that.
|
||||
*/
|
||||
if (directory_exists(testtablespace))
|
||||
if (!rmtree(testtablespace, true))
|
||||
{
|
||||
fprintf(stderr, _("\n%s: could not remove test tablespace \"%s\"\n"),
|
||||
progname, testtablespace);
|
||||
exit(2);
|
||||
}
|
||||
make_directory(testtablespace);
|
||||
#endif
|
||||
|
||||
/* finally loop on each file and do the replacement */
|
||||
for (name = names; *name; name++)
|
||||
{
|
||||
|
@ -123,8 +123,6 @@ sub installcheck_internal
|
||||
sub installcheck
|
||||
{
|
||||
my $schedule = shift || 'serial';
|
||||
|
||||
CleanupTablespaceDirectory();
|
||||
installcheck_internal($schedule);
|
||||
return;
|
||||
}
|
||||
@ -145,7 +143,6 @@ sub check
|
||||
"--temp-instance=./tmp_check");
|
||||
push(@args, $maxconn) if $maxconn;
|
||||
push(@args, $temp_config) if $temp_config;
|
||||
CleanupTablespaceDirectory();
|
||||
system(@args);
|
||||
my $status = $? >> 8;
|
||||
exit $status if $status;
|
||||
@ -573,8 +570,8 @@ sub upgradecheck
|
||||
$ENV{PGDATA} = "$data.old";
|
||||
my $outputdir = "$tmp_root/regress";
|
||||
my @EXTRA_REGRESS_OPTS = ("--outputdir=$outputdir");
|
||||
mkdir "$outputdir" || die $!;
|
||||
CleanupTablespaceDirectory($outputdir);
|
||||
mkdir "$outputdir" || die $!;
|
||||
mkdir "$outputdir/testtablespace" || die $!;
|
||||
|
||||
my $logdir = "$topdir/src/bin/pg_upgrade/log";
|
||||
rmtree($logdir);
|
||||
@ -740,16 +737,6 @@ sub InstallTemp
|
||||
return;
|
||||
}
|
||||
|
||||
sub CleanupTablespaceDirectory
|
||||
{
|
||||
my $testdir = shift || getcwd();
|
||||
|
||||
my $testtablespace = "$testdir/testtablespace";
|
||||
|
||||
rmtree($testtablespace) if (-d $testtablespace);
|
||||
mkdir($testtablespace);
|
||||
}
|
||||
|
||||
sub usage
|
||||
{
|
||||
print STDERR
|
||||
|
Loading…
Reference in New Issue
Block a user