From: | Ian Lawrence Barwick <barwick(at)gmail(dot)com> |
---|---|
To: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Allow passing extra options to initdb for tests |
Date: | 2024-02-14 05:22:10 |
Message-ID: | CAB8KJ=i5aQswttYYsHhWkCCF5aUm-XOBN9Ece1Uu9Q9opYt_kg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
2024年2月7日(水) 12:51 Ian Lawrence Barwick <barwick(at)gmail(dot)com>:
>
> 2024年2月6日(火) 19:54 Peter Eisentraut <peter(at)eisentraut(dot)org>:
> >
> > I'm proposing here a way to pass extra options to initdb when run
> > internally during test setup in pg_regress or
> > PostgreSQL::Test::Cluster's init (which covers just about all test
> > suites other than initdb's own tests).
> >
> > For example:
> >
> > make check PG_TEST_INITDB_EXTRA_OPTS='-k -c work_mem=50MB'
> >
> > We currently document at [0] a way to pass custom server settings to the
> > tests via PGOPTIONS. But this only works for pg_regress and only for
> > options that can be changed at run time. My proposal can set initdb
> > options, and since initdb has the -c option now, it can set any GUC
> > parameter as well.
> >
> > I think this can be useful for a wide variety of uses, like running all
> > tests with checksums enabled, or with JIT enabled, or with different GUC
> > settings, or with different locale settings. (The existing pg_regress
> > --no-locale option is essentially a special case of this, but it only
> > provides one particular locale setting, not things like changing the
> > default provider etc.)
> >
> > Of course, not all tests are going to pass with arbitrary options, but
> > it is useful to run this against specific test suites.
> >
> > This patch also updates the documentation at [0] to explain the new
> > method and distinguish it from the previously documented methods.
>
> +1 for this, I recently ran into an issue with the regression tests for an
> extension where it would have been very useful to provide some initdb
> options.
>
> Patch works as expected after a quick initial test.
I had a longer look at this and can't find any issues with the code or
documentation changes.
I did wonder whether it would be worth mentioning that any initdb
options set in "PG_TEST_INITDB_EXTRA_OPTS" will override those
which can be set by pg_regress, but of the four ("--no-clean", "--no-sync",
"--debug" and "--no-locale"), only the optional "--no-locale" can actually
be overridden, so it doesn't seem important.
Regards
Ian Barwick
From | Date | Subject | |
---|---|---|---|
Next Message | Andrei Lepikhov | 2024-02-14 06:18:02 | Re: Propagate pathkeys from CTEs up to the outer query |
Previous Message | Hayato Kuroda (Fujitsu) | 2024-02-14 05:21:54 | RE: pg_upgrade and logical replication |