postgresql/src/test
Tom Lane 97fb88ea4a Fix isolationtester race condition for notices sent before blocking.
If a test sends a notice just before blocking, it's possible on
slow machines for isolationtester to detect the blocked state before
it's consumed the notice.  (For this to happen, the notice would have
to arrive after isolationtester has waited for data for 10ms, so on
fast/lightly-loaded machines it's hard to reproduce the failure.)
But, if we have seen the backend as blocked, it's certainly already
sent any notices it's going to send.  Therefore, one more round of
PQconsumeInput and PQisBusy should be enough to collect and process
any such notices.

Back-patch of 30717637c into v12.  We're still discussing whether
to back-patch this further and/or back-patch some other recent
isolationtester fixes, but this much is provably necessary to
make the test cases added by 27cc7cd2b stable in v12.

Discussion: https://postgr.es/m/14616.1564251339@sss.pgh.pa.us
Discussion: https://postgr.es/m/E1i7IqC-0000Uc-5H@gemulon.postgresql.org
2019-09-09 22:53:51 -04:00
..
authentication Update copyright for 2019 2019-01-02 12:44:25 -05:00
examples Update copyright for 2019 2019-01-02 12:44:25 -05:00
isolation Fix isolationtester race condition for notices sent before blocking. 2019-09-09 22:53:51 -04:00
kerberos Save Kerberos and LDAP daemon logs where the buildfarm can find them. 2019-08-06 17:08:32 -04:00
ldap Be more careful about port selection in src/test/ldap/. 2019-09-09 14:21:47 -04:00
locale Make sort-test.py Python 3 compatible 2019-01-04 11:23:24 +01:00
mb Fix MB regression tests for WAL-logging of hash indexes. 2017-03-15 07:25:36 -04:00
modules Avoid using INFO elevel for what are fundamentally debug messages. 2019-09-07 19:03:11 -04:00
perl Avoid picking already-bound TCP ports in kerberos and ldap test suites. 2019-08-04 13:07:12 -04:00
recovery Always skip recovery SysV shared memory tests on Windows 2019-09-09 08:43:16 -04:00
regress Improve new AND CHAIN tests 2019-09-09 10:31:35 +02:00
ssl Initial pgperltidy run for v12. 2019-05-22 13:36:19 -04:00
subscription Initial pgperltidy run for v12. 2019-05-22 13:36:19 -04:00
thread Ensure link commands list *.o files before LDFLAGS. 2019-01-02 13:57:54 -05:00
Makefile Revert "Allow on-line enabling and disabling of data checksums" 2018-04-09 19:03:42 +02:00
README Add TAP tests for password-based authentication methods. 2017-03-17 11:34:16 +02:00

PostgreSQL tests
================

This directory contains a variety of test infrastructure as well as some of the
tests in PostgreSQL. Not all tests are here -- in particular, there are more in
individual contrib/ modules and in src/bin.

Not all these tests get run by "make check". Check src/test/Makefile to see
which tests get run automatically.

authentication/
  Tests for authentication

examples/
  Demonstration programs for libpq that double as regression tests via
  "make check"

isolation/
  Tests for concurrent behavior at the SQL level

locale/
  Sanity checks for locale data, encodings, etc

mb/
  Tests for multibyte encoding (UTF-8) support

modules/
  Extensions used only or mainly for test purposes, generally not suitable
  for installing in production databases

perl/
  Infrastructure for Perl-based TAP tests

recovery/
  Test suite for recovery and replication

regress/
  PostgreSQL's main regression test suite, pg_regress

ssl/
  Tests to exercise and verify SSL certificate handling

subscription/
  Tests for logical replication

thread/
  A thread-safety-testing utility used by configure