pgsql: Improve test coverage for LISTEN/NOTIFY. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Improve test coverage for LISTEN/NOTIFY.
Date
Msg-id E1hrldF-0000RX-Aw@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Improve test coverage for LISTEN/NOTIFY.

We had no actual end-to-end test of NOTIFY message delivery.  In the
core async.sql regression test, testing this is problematic because psql
traditionally prints the PID of the sending backend, making the output
unstable.  We also have an isolation test script, but it likewise
failed to prove that delivery worked, because isolationtester.c had
no provisions for detecting/reporting NOTIFY messages.

Hence, add such provisions to isolationtester.c, and extend
async-notify.spec to include direct tests of basic NOTIFY functionality.

I also added tests showing that NOTIFY de-duplicates messages normally,
but not across subtransaction boundaries.  (That's the historical
behavior since we introduced subtransactions, though perhaps we ought
to change it.)

Patch by me, with suggestions/review by Andres Freund.

Discussion: https://postgr.es/m/31304.1564246011@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/b10f40bf0e4516d7832db8ccbe5f76319ad08682

Modified Files
--------------
src/test/isolation/expected/async-notify.out | 97 ++++++++++++++++++++++++++--
src/test/isolation/isolationtester.c         | 87 +++++++++++++++----------
src/test/isolation/specs/async-notify.spec   | 76 +++++++++++++++++++---
3 files changed, 210 insertions(+), 50 deletions(-)


pgsql-committers by date:

Previous
From: Michael Paquier
Date:
Subject: pgsql: Doc: Fix event trigger firing table
Next
From: Thomas Munro
Date:
Subject: pgsql: Avoid macro clash with LLVM 9.