($INBOX_DIR/description missing)help / color / mirror / Atom feed
[PATCH] Move tablespace cleanup out of pg_regress. 23+ messages / 3 participants [nested] [flat]
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make. That is not only ugly also leads to do the clean up twice at once. Let's move the cleanup code out of pg_regress into vcregress.pl, where is more sutable place. This also fixes a bug that the test for pg_upgrade mistakenly cleans up the tablespace directory of default tmp-install location, instead of its own installation directoty. --- src/test/regress/GNUmakefile | 6 ++++-- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 25 +++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 24 deletions(-) diff --git a/src/test/regress/GNUmakefile b/src/test/regress/GNUmakefile index 1a3164065f..815d87904b 100644 --- a/src/test/regress/GNUmakefile +++ b/src/test/regress/GNUmakefile @@ -118,8 +118,10 @@ submake-contrib-spi: | submake-libpgport submake-generated-headers .PHONY: tablespace-setup tablespace-setup: - rm -rf ./testtablespace - mkdir ./testtablespace +# extract --outputdir optsion from EXTRA_REGRESS_OPTS + $(eval dir := $(shell perl -e 'use Getopt::Long qw(GetOptionsFromString Configure); Configure("pass_through", "gnu_getopt"); ($$r, $$x) = GetOptionsFromString($$ENV{"EXTRA_REGRESS_OPTS"}, "outputdir=s" => \$$dir); print ((defined $$dir ? $$dir : ".") . "/testtablespace");')) + rm -rf $(dir) + mkdir $(dir) ## diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index 0a98f6e37d..4bada14092 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -114,6 +114,13 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + + my $outputdir; + foreach (@EXTRA_REGRESS_OPTS) + { + $outputdir = $1 if (/^ *--outputdir *= *(.+) *$/); + } + CleanupTablespaceDirectory($outputdir); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +150,7 @@ 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; @@ -169,6 +177,7 @@ sub ecpgcheck "--no-locale", "--temp-instance=./tmp_chk"); push(@args, $maxconn) if $maxconn; + CleanupTablespaceDirectory(); system(@args); $status = $? >> 8; exit $status if $status; @@ -186,6 +195,7 @@ sub isolationcheck "--inputdir=.", "--schedule=./isolation_schedule"); push(@args, $maxconn) if $maxconn; + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -382,6 +392,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -444,6 +455,7 @@ sub subdircheck "--bindir=${topdir}/${Config}/psql", "--dbname=contrib_regression", @opts, @tests); print join(' ', @args), "\n"; + CleanupTablespaceDirectory(); system(@args); chdir ".."; return; @@ -739,6 +751,19 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my ($testdir) = @_; + + $testdir = cwd() if (! defined $testdir); + + # don't bother checking trailing directory separator in $testdir + my $tablespace = "$testdir/testtablespace"; + + rmtree($tablespace) if (-d $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Fri_May_15_17_25_08_2020_691)---- ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* [PATCH 1/2] Move tablespace cleanup out of pg_regress. @ 2020-04-30 05:06 Kyotaro Horiguchi <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: Kyotaro Horiguchi @ 2020-04-30 05:06 UTC (permalink / raw) Tablespace directory is cleaned-up in regress/GNUmakefile for all platforms other than Windows. For Windoiws pg_regress does that on behalf of make, which is ugly. In addition to that, pg_regress does the clean up twice at once. This patch moves the cleanup code out of pg_regress into vcregress.pl, which is more sutable place. --- src/test/regress/pg_regress.c | 22 ---------------------- src/tools/msvc/vcregress.pl | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 38b2b1e8e1..c56bfaf7f5 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -491,28 +491,6 @@ 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. On other platforms we expect the Makefile to take care - * of that. (We don't migrate that functionality in here because it'd be - * harder to cope with platform-specific issues such as SELinux.) - * - * XXX it would be better if pg_regress.c had nothing at all to do with - * testtablespace, and this were handled by a .BAT file or similar on - * Windows. See pgsql-hackers discussion of 2008-01-18. - */ - 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++) { diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index f95f7a5c7a..74d37a31de 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -104,6 +104,7 @@ exit 0; sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; + my @args = ( "../../../$Config/pg_regress/pg_regress", "--dlpath=.", @@ -114,6 +115,7 @@ sub installcheck_internal "--no-locale"); push(@args, $maxconn) if $maxconn; push(@args, @EXTRA_REGRESS_OPTS); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -143,6 +145,7 @@ 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; @@ -178,6 +181,7 @@ sub ecpgcheck sub isolationcheck { chdir "../isolation"; + CleanupTablespaceDirectory(); copy("../../../$Config/isolationtester/isolationtester.exe", "../../../$Config/pg_isolation_regress"); my @args = ( @@ -382,6 +386,7 @@ sub plcheck "$topdir/$Config/pg_regress/pg_regress", "--bindir=$topdir/$Config/psql", "--dbname=pl_regression", @lang_args, @tests); + CleanupTablespaceDirectory(); system(@args); my $status = $? >> 8; exit $status if $status; @@ -439,6 +444,7 @@ sub subdircheck print "============================================================\n"; print "Checking $module\n"; + CleanupTablespaceDirectory(); my @args = ( "$topdir/$Config/pg_regress/pg_regress", "--bindir=${topdir}/${Config}/psql", @@ -741,6 +747,14 @@ sub InstallTemp return; } +sub CleanupTablespaceDirectory +{ + my $tablespace = 'testtablespace'; + + rmtree($tablespace) if (-e $tablespace); + mkdir($tablespace); +} + sub usage { print STDERR -- 2.18.2 ----Next_Part(Mon_May_11_17_13_54_2020_626)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0002-Don-t-setup-tablespace-directory-while-testing-pg_up.patch" ^ permalink raw reply [nested|flat] 23+ messages in thread
* Re: BUG #19095: Test if function exit() is used fail when linked static @ 2026-02-17 12:04 Nazir Bilal Yavuz <[email protected]> 2026-02-18 04:19 ` Re: BUG #19095: Test if function exit() is used fail when linked static VASUKI M <[email protected]> 0 siblings, 1 reply; 23+ messages in thread From: Nazir Bilal Yavuz @ 2026-02-17 12:04 UTC (permalink / raw) To: Michael Paquier <[email protected]>; +Cc: VASUKI M <[email protected]>; Peter Eisentraut <[email protected]>; Daniel Gustafsson <[email protected]>; Tom Lane <[email protected]>; BharatDB <[email protected]>; [email protected]; [email protected] Hi, On Wed, 10 Dec 2025 at 08:14, Michael Paquier <[email protected]> wrote: > > On Wed, Dec 10, 2025 at 08:11:37AM +0900, Michael Paquier wrote: > > On Tue, Dec 09, 2025 at 03:47:13PM +0300, Bilal Yavuz wrote: > >> I agree with both of you. We do the same thing for 'ZIC' binary, so I > >> think putting it to pgxs_empty is the correct fix. > > > > Thanks for double-checking. I was not 100% sure if my analysis was > > completely right as I was looking at this file for the first time. > > On top of the rest, I have double-checked the buildfarm and things > seem fine with 4a8e6f43a6b5, so the last piece about pthread_exit() is > now done with 8268e66ac64c. In another thread [1], Andres pointed out that we need to create a stamp file again although it exists. Otherwise, the stamp file will be older than the inputs and it causes rebuilding. In Andres' own words from [1]: ``` > +sub create_stamp_file > +{ > + # Avoid touching existing stamp file to prevent unnecessary rebuilds > + if (!(-f $stamp_file)) > + { > + open my $fh, '>', $stamp_file > + or die "can't open $stamp_file: $!"; > + close $fh; > + } > +} Won't that *cause* rebuilds? With a stamp file you normally want the stamp file to be *newer* than the inputs. Which it won't be, if you don't touch it here. The only reason it doesn't cause quick rebuilds with meson is that ninja remembers the timestamps of files an avoids rebuilds if they haven't changed. ``` Andres is right. We have the same problem on this libpq_check.pl, attached fixes that. [1] https://postgr.es/m/nxszznj6nkdj2vh5cxvwzpwodsbtui6mqluxnur2y4x7xtkirw%40fbvhy54mluzl -- Regards, Nazir Bilal Yavuz Microsoft Attachments: [text/x-patch] Fix-creating-stamp-file-in-the-libpq_check.pl.patch (1.2K, ../../CAN55FZ22rrN6gCn7urtmTR=_5z7ArZLUJu-TsMChdXwmRTaquA@mail.gmail.com/2-Fix-creating-stamp-file-in-the-libpq_check.pl.patch) download | inline diff: From a2e46d2dc10bd31d63c6a6bb44334e069b2a9605 Mon Sep 17 00:00:00 2001 From: Nazir Bilal Yavuz <[email protected]> Date: Tue, 17 Feb 2026 14:27:43 +0300 Subject: [PATCH] Fix creating stamp file in the libpq_check.pl We don't create stamp files if it already exists. This is wrong, stamp file needs to be newer than the inputs. If the stamp file is older than the inputs, it will cause rebuilding. Reported-by: Andres Freund <[email protected]> Discussion: https://postgr.es/m/[email protected] --- src/interfaces/libpq/libpq_check.pl | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/interfaces/libpq/libpq_check.pl b/src/interfaces/libpq/libpq_check.pl index 8a2e29b2d9a..833f5315c3c 100755 --- a/src/interfaces/libpq/libpq_check.pl +++ b/src/interfaces/libpq/libpq_check.pl @@ -31,12 +31,9 @@ die "$0: --nm must be specified\n" unless defined $nm_path and -x $nm_path; sub create_stamp_file { - if (!(-f $stamp_file)) - { - open my $fh, '>', $stamp_file - or die "can't open $stamp_file: $!"; - close $fh; - } + open my $fh, '>', $stamp_file + or die "can't open $stamp_file: $!"; + close $fh; } # Skip on Windows and Solaris -- 2.47.3 ^ permalink raw reply [nested|flat] 23+ messages in thread
* Re: BUG #19095: Test if function exit() is used fail when linked static 2026-02-17 12:04 Re: BUG #19095: Test if function exit() is used fail when linked static Nazir Bilal Yavuz <[email protected]> @ 2026-02-18 04:19 ` VASUKI M <[email protected]> 0 siblings, 0 replies; 23+ messages in thread From: VASUKI M @ 2026-02-18 04:19 UTC (permalink / raw) To: Nazir Bilal Yavuz <[email protected]>; +Cc: Michael Paquier <[email protected]>; Peter Eisentraut <[email protected]>; Daniel Gustafsson <[email protected]>; Tom Lane <[email protected]>; BharatDB <[email protected]>; [email protected]; [email protected] Hi Nazir, Thank you for pointing this out, and thanks to Andres for the clarification in the referenced thread. You are absolutely right — with a stamp file, we need to ensure that its timestamp is updated unconditionally so that it remains newer than the inputs. Keeping the existence check (if (! -f ...)) would indeed leave the stamp file older than the rebuilt library, which can trigger unnecessary rebuilds in Makefile-based builds. Although Ninja avoids repeated rebuilds due to its internal tracking, Make relies purely on timestamps, so the safer and correct behavior is to always recreate (touch) the stamp file. The updated implementation without the existence check is therefore the correct approach. Regards, Vasuki M C-DAC,chennai ^ permalink raw reply [nested|flat] 23+ messages in thread
end of thread, other threads:[~2026-02-18 04:19 UTC | newest] Thread overview: 23+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2020-04-30 05:06 [PATCH 1/2] Move tablespace cleanup out of pg_regress. Kyotaro Horiguchi <[email protected]> 2026-02-17 12:04 Re: BUG #19095: Test if function exit() is used fail when linked static Nazir Bilal Yavuz <[email protected]> 2026-02-18 04:19 ` Re: BUG #19095: Test if function exit() is used fail when linked static VASUKI M <[email protected]>
This inbox is served by agora; see mirroring instructions for how to clone and mirror all data and code used for this inbox