From: | Peter Geoghegan <pg(at)bowt(dot)ie> |
---|---|
To: | Justin Pryzby <pryzby(at)telsasoft(dot)com> |
Cc: | pgsql-hackers(at)lists(dot)postgresql(dot)org, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
Subject: | Re: segfault tied to "IS JSON predicate" commit |
Date: | 2023-04-15 23:11:32 |
Message-ID: | CAH2-WznarLnDiagfrGn=ZuTAGYkA3UnJbj+xF44-L0L3QxhPYQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sat, Apr 15, 2023 at 2:46 PM Justin Pryzby <pryzby(at)telsasoft(dot)com> wrote:
> I think what happened is that you (and I) are in the habbit of running
> "meson test tmp_install" to compile new binaries and install them into
> ./tmp_install, and then run a server out from there.
That's not my habit; this is running against a server that was
installed into a dedicated install directory. Though I agree that an
issue with the environment seems likely.
> But nowadays
> there's also "meson test install_test_files".
That only applies with "--setup tmp_install", which is the default
test setup, and the one that you must be using implicitly. But I'm
using "--setup running" for this.
More concretely, the tmp_install setup has the tests you say are requirements:
$ meson test --setup tmp_install --list | grep install
postgresql:setup / tmp_install
postgresql:setup / install_test_files
But not the running setup:
$ meson test --setup running --list | grep install | wc -l
0
I'm aware of the requirement around specifying "--suite tmp_install
..." right before "... --suite what_i_really_want_to_test" is
specified. However, I can't see how it could be my fault for
forgetting that, since it's structurally impossible to specify
"--suite tmp_install" when using "--setup running". I was using the
setup that gives you behavior that's approximately equivalent to "make
installcheck" (namely "--setup running"), so naturally this would have
been impossible.
Let's review:
* There are two possible --setup modes. I didn't use the default
(which is "--setup tmp_install") here. Rather, I used "--setup
running", which is kinda like "make installcheck".
* There is a test suite named "setup", though it's only available with
"--setup tmp_install", the default setup. (This is not to be confused
with the meson-specific notion of a --setup.)
* The "setup" suite happens to contain an individual test called
"tmp_install" (as well as one called "install_test_files")
* I cannot possibly have forgotten this, since asking for it with
"--setup running" just doesn't work.
Let's demonstrate what I mean. The following does not and cannot
work, so I cannot have forgotten to do it in any practical sense:
$ meson test --setup running postgresql:setup / tmp_install
ninja: no work to do.
No suitable tests defined.
Such an incantation can only be expected to work with --setup tmp_install, the
default. So this version does work:
$ meson test --setup tmp_install postgresql:setup / tmp_install
**SNIP**
1/1 postgresql:setup / tmp_install OK 0.72s
**SNIP**
Not confusing at all!
--
Peter Geoghegan
From | Date | Subject | |
---|---|---|---|
Next Message | Justin Pryzby | 2023-04-15 23:19:04 | Re: v16dev: invalid memory alloc request size 8488348128 |
Previous Message | Justin Pryzby | 2023-04-15 22:20:50 | Re: Direct I/O |