pgsql: Improve test coverage for LISTEN/NOTIFY.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Improve test coverage for LISTEN/NOTIFY.
Date: 2019-07-28 16:02:45
Message-ID: E1hrldF-0000RX-Aw@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Thomas Munro 2019-07-28 22:25:38 pgsql: Avoid macro clash with LLVM 9.
Previous Message Michael Paquier 2019-07-28 13:04:13 pgsql: Doc: Fix event trigger firing table