Re: Handle TEMP_CONFIG for pg_regress style tests in pg_regress.c

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: Handle TEMP_CONFIG for pg_regress style tests in pg_regress.c
Дата
Msg-id da009ed7-2b20-f5e4-25d4-e1571cfedfbe@dunslane.net
обсуждение исходный текст
Ответ на Re: Handle TEMP_CONFIG for pg_regress style tests in pg_regress.c  (Peter Eisentraut <peter.eisentraut@enterprisedb.com>)
Ответы Re: Handle TEMP_CONFIG for pg_regress style tests in pg_regress.c  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers


On 2023-02-19 Su 02:25, Peter Eisentraut wrote:
On 18.02.23 21:26, Andres Freund wrote:
When building with meson, TEMP_CONFIG is supported for TAP tests, but doesn't
do anything for regress/isolation.

The reason for that is that meson's (and ninja's) architecture is to separate
"build setup" from the "build/test/whatever" stage, moving dynamism (and more
costly operations) to the "setup" phase.

In this case the implication is that the command line for the test isn't
re-computed dynamically. But pg_regress doesn't look at TEMP_CONFIG, it just
has a --temp-config=... parameter, that src/Makefile.global.in dynamically
adds if TEMP_CONFIG is set.

In contrast to that, TEMP_CONFIG support for tap tests is implemented in
Cluster.pm, and thus works transparently.

My inclination is to move TEMP_CONFIG support from the Makefile to
pg_regress.c. That way it's consistent across the build tools and isn't
duplicated. pg_regress already looks at a bunch of temporary variables
(e.g. PG_REGRESS_SOCK_DIR, PG_TEST_USE_UNIX_SOCKETS), so this isn't really
breaking new ground.

I'm having a hard time understanding what TEMP_CONFIG is for.  It appears that the intention is to allow injecting arbitrary configuration into the tests?  In that case, I think your proposal makes sense.  But I don't see this documented, so who knows what it is actually used for.




It started here quite a long time ago:


commit 0cb74d3cec
Author: Andrew Dunstan <andrew@dunslane.net>
Date:   Sun Sep 9 20:40:54 2007 +0000

    Provide for a file specifying non-standard config options for temp install
    for pg_regress, via --temp-config option. Pick this up in the make file
    via TEMP_CONFIG setting.

It's used by the buildfarm to add the extra config settings from its configuration file.


cheers


andrew


--
Andrew Dunstan
EDB: https://www.enterprisedb.com

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: windows CI failing PMSignalState->PMChildFlags[slot] == PM_CHILD_ASSIGNED
Следующее
От: Robert Haas
Дата:
Сообщение: Re: Weird failure with latches in curculio on v15