On Sat, Apr 15, 2023 at 4:11 PM Peter Geoghegan <p...@bowt.ie> wrote: > $ 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
There is a concrete problem here: commit b6a0d469ca ("meson: Prevent installation of test files during main install") overlooked "--setup running". It did not add a way for the setup to run "postgresql:setup / install_test_files" (or perhaps something very similar). The segfault must have been caused by unwitting use of a leftover ancient test_rls_hooks.so from before commit b6a0d469ca. My old stale .so must have continued to work for a little while, before it broke. Now that I've fully deleted my install directory, I can see a clear problem, which is much less mysterious than the segfault. Namely, the following doesn't still work: $ meson test --setup running --suite test_rls_hooks-running This time it's not a segfault, though -- it's due to the .so being unavailable. Adding "--suite setup" fixes nothing, since I'm using "--setup running"; while the "--suite running" tests will actually run and install the .so, they won't install it into the installation directory I'm actually using (only into a tmp_install directory). While I was wrong to implicate commit 6ee30209 (the IS JSON commit) at first, there is a bug here. A bug in b6a0d469ca. ISTM that b6a0d469ca has created an unmet need for a "--suite setup-running", which is analogous to "--suite setup" but works with "--setup running". That way there'd at least be a "postgresql:setup-running / install_test_files" test that could be used here, like so: $ meson test --setup running --suite setup-running --suite test_rls_hooks-running But...maybe it would be better to find a way to install the stuff from "postgresql:setup / install_test_files" in a less kludgy, more standard kind of way? I see that the commit message from b6a0d469ca says "there is no way to set up up the build system to install extra things only when told". Is that *really* the case? -- Peter Geoghegan