public inbox for [email protected]
help / color / mirror / Atom feedFrom: Peter Eisentraut <[email protected]>
To: Andrew Dunstan <[email protected]>
To: Andres Freund <[email protected]>
Cc: [email protected]
Cc: Tom Lane <[email protected]>
Subject: Re: ssl tests aren't concurrency safe due to get_free_port()
Date: Tue, 25 Apr 2023 12:27:52 +0200
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
On 20.11.22 16:10, Andrew Dunstan wrote:
>
> On 2022-11-19 Sa 15:16, Andres Freund wrote:
>> Hi,
>>
>> On 2022-11-19 10:56:33 -0500, Andrew Dunstan wrote:
>>>> Perhaps we should just export a directory in configure instead of this
>>>> guessing game?
>>> I think the obvious candidate would be to export top_builddir from
>>> src/Makefile.global. That would remove the need to infer it from
>>> TESTDATADIR.
>> I think that'd be good. I'd perhaps rename it in the process so it's
>> exported uppercase, but whatever...
>>
>
> OK, pushed with a little more tweaking. I didn't upcase top_builddir
> because the existing prove_installcheck recipes already export it and I
> wanted to stay consistent with those.
>
> If it works ok I will backpatch in couple of days.
These patches have affected pgxs-using extensions that have their own
TAP tests.
The portlock directory is created at
my $build_dir = $ENV{top_builddir}
|| $PostgreSQL::Test::Utils::tmp_check ;
$portdir ||= "$build_dir/portlock";
but for a pgxs user, top_builddir points into the installation tree,
specifically at $prefix/lib/pgxs/.
So when running "make installcheck" for an extension, we either won't
have write access to that directory, or if we do, then it's still not
good to write into the installation tree during a test suite.
A possible fix is
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index 5dacc4d838..c493d1a60c 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -464,7 +464,7 @@ rm -rf '$(CURDIR)'/tmp_check && \
$(MKDIR_P) '$(CURDIR)'/tmp_check && \
cd $(srcdir) && \
TESTDIR='$(CURDIR)' PATH="$(bindir):$(CURDIR):$$PATH" \
- PGPORT='6$(DEF_PGPORT)' top_builddir='$(top_builddir)' \
+ PGPORT='6$(DEF_PGPORT)' top_builddir='$(CURDIR)' \
PG_REGRESS='$(top_builddir)/src/test/regress/pg_regress' \
$(PROVE) $(PG_PROVE_FLAGS) $(PROVE_FLAGS) $(if
$(PROVE_TESTS),$(PROVE_TESTS),t/*.pl)
endef
view thread (2+ messages)
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected]
Subject: Re: ssl tests aren't concurrency safe due to get_free_port()
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox