pgsql: Add test for early backend startup errors

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Add test for early backend startup errors
Date: 2024-07-26 12:38:54
Message-ID: E1sXKDm-001Iy7-0u@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Add test for early backend startup errors

The new test tests the libpq fallback behavior on an early error,
which was fixed in the previous commit.

This adds an IS_INJECTION_POINT_ATTACHED() macro, to allow writing
injected test code alongside the normal source code. In principle, the
new test could've been implemented by an extra test module with a
callback that sets the FrontendProtocol global variable, but I think
it's more clear to have the test code right where the injection point
is, because it has pretty intimate knowledge of the surrounding
context it runs in.

Reviewed-by: Michael Paquier
Discussion: https://www.postgresql.org/message-id/CAOYmi%2Bnwvu21mJ4DYKUa98HdfM_KZJi7B1MhyXtnsyOO-PB6Ww%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/20e0e7da9bc0089433c70b2b53ddf6a340ab5df3

Modified Files
--------------
doc/src/sgml/xfunc.sgml | 25 ++++++++++
src/backend/tcop/backend_startup.c | 16 +++++++
src/backend/utils/misc/injection_point.c | 14 ++++++
src/include/utils/injection_point.h | 3 ++
src/interfaces/libpq/Makefile | 4 +-
src/interfaces/libpq/meson.build | 1 +
src/interfaces/libpq/t/005_negotiate_encryption.pl | 56 ++++++++++++++++++++++
7 files changed, 118 insertions(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2024-07-26 12:58:35 pgsql: pg_createsubscriber: Message style improvements
Previous Message Heikki Linnakangas 2024-07-26 12:38:53 pgsql: Fix fallback behavior when server sends an ERROR early at startu