postgresql/src/test
Daniel Gustafsson 0b5d1fb36a Fix errormessage for missing system CA in OpenSSL 3.1
The error message for a missing or invalid system CA when using
sslrootcert=system differs based on the OpenSSL version used.

In OpenSSL 1.0.1-3.0 it is reported as SSL Error, with varying
degrees of helpfulness in the error message. With OpenSSL 3.1 it
is reported as an SSL SYSCALL error with "Undefined error" as
the error message. This fix pulls out the particular error in
OpenSSL 3.1 as a certificate verify error in order to help the
user better figure out what happened, and to keep the ssl test
working. While there is no evidence that extracing the errors
will clobber errno, this adds a guard against that regardless
to also make the consistent with how we handle OpenSSL errors
elsewhere. It also memorizes the output from OpenSSL 3.0 in
the test in cases where the system CA isn't responding.

Reported-by: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Discussion: https://postgr.es/m/c39be3c5-c1a5-1e33-1024-16f527e251a4@enterprisedb.com
2023-04-19 12:54:58 +02:00
..
authentication Simplify version check for SKIP clause 2023-04-08 23:32:11 +02:00
examples Update copyright for 2023 2023-01-02 15:00:37 -05:00
icu initdb: derive encoding from locale for ICU; similar to libc. 2023-03-10 10:51:24 -08:00
isolation Fix some typos and some incorrectly duplicated words 2023-04-18 14:03:49 +12:00
kerberos Fix various typos 2023-04-18 13:23:23 +12:00
ldap Fix various typos 2023-04-18 13:23:23 +12:00
locale Update copyright for 2023 2023-01-02 15:00:37 -05:00
mb Fix MB regression tests for WAL-logging of hash indexes. 2017-03-15 07:25:36 -04:00
modules Fix some typos and some incorrectly duplicated words 2023-04-18 14:03:49 +12:00
perl Fix Utils.pm's locale-munging so that Perl itself is also affected. 2023-04-18 13:31:46 -04:00
recovery Support RBM_ZERO_AND_CLEANUP_LOCK in ExtendBufferedRelTo(), add tests 2023-04-14 11:30:33 -07:00
regress Fix various typos 2023-04-18 13:23:23 +12:00
ssl Fix errormessage for missing system CA in OpenSSL 3.1 2023-04-19 12:54:58 +02:00
subscription Fix various typos and incorrect/outdated name references 2023-04-19 13:50:33 +12:00
Makefile Refactor PG_TEST_EXTRA logic in autoconf build 2022-09-20 11:24:16 -07:00
README Remove the option to build thread_test.c outside configure. 2020-10-21 12:08:48 -04:00
meson.build Update copyright for 2023 2023-01-02 15:00:37 -05:00

README

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 (but see also below)

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

isolation/
  Tests for concurrent behavior at the SQL level

kerberos/
  Tests for Kerberos/GSSAPI authentication and encryption

ldap/
  Tests for LDAP-based authentication

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