]> granicus.if.org Git - postgresql/commit
Don't drop NOTICE messages in isolation tests.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 27 Jul 2019 19:59:57 +0000 (15:59 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 27 Jul 2019 19:59:57 +0000 (15:59 -0400)
commitebd49928215e3854d91167e798949a75b34958d0
tree178f2900c66256173597267ffbc26afc1278639a
parent5ab892c391c6bc54a00e7a8de5cab077cabace6a
Don't drop NOTICE messages in isolation tests.

For its entire existence, isolationtester.c has forced client_min_messages
to WARNING, but that seems like a very poor choice of test design.  It
should be up to individual test scripts to manage whether they emit notices
and to ensure that the results are stable.  (There were no NOTICE messages
in the original set of isolation tests, so this was certainly dead code
when committed, but perhaps it was needed at some earlier point.)

It's possible that the original motivation was due to platform-dependent
variations in the timing of stdout vs. stderr output.  That should be
moot since commits 73bcb76b7/6eda3e9c2, but just in case, adjust
isotesterNoticeProcessor to print to stdout not stderr.  (stderr seems
like the wrong thing anyway: it should be for error printouts not expected
test output.)

Testing shows that the notices in insert-conflict-specconflict are indeed
a bit timing-unstable on very slow machines, so hide them; maybe we can
improve that later.  Also, make the notices in plpgsql-toast a bit less
verbose than the original code would've had them.

Discussion: https://postgr.es/m/14616.1564251339@sss.pgh.pa.us
src/test/isolation/expected/plpgsql-toast.out
src/test/isolation/isolationtester.c
src/test/isolation/specs/insert-conflict-specconflict.spec
src/test/isolation/specs/plpgsql-toast.spec