Fix failures in SSL tests caused by out-of-tree keys and certificates
authorMichael Paquier <michael@paquier.xyz>
Tue, 22 Mar 2022 04:20:31 +0000 (13:20 +0900)
committerMichael Paquier <michael@paquier.xyz>
Tue, 22 Mar 2022 04:20:31 +0000 (13:20 +0900)
commit9ca234bae79358a24de2a8dc1ec8024656ca66a4
treec678e5adeef471a2f5d3c32c4d6e4b26b9be6f5e
parent208c5d65bbd60e33e272964578cb74182ac726a8
Fix failures in SSL tests caused by out-of-tree keys and certificates

This issue is environment-sensitive, where the SSL tests could fail in
various way by feeding on defaults provided by sslcert, sslkey,
sslrootkey, sslrootcert, sslcrl and sslcrldir coming from a local setup,
as of ~/.postgresql/ by default.  Horiguchi-san has reported two
failures, but more advanced testing from me (aka inclusion of garbage
SSL configuration in ~/.postgresql/ for all the configuration
parameters) has showed dozens of failures that can be triggered in the
whole test suite.

History has showed that we are not good when it comes to address such
issues, fixing them locally like in dd87799, and such problems keep
appearing.  This commit strengthens the entire test suite to put an end
to this set of problems by embedding invalid default values in all the
connection strings used in the tests.  The invalid values are prefixed
in each connection string, relying on the follow-up values passed in the
connection string to enforce any invalid value previously set.  Note
that two tests related to CRLs are required to fail with certain pre-set
configurations, but we can rely on enforcing an empty value instead
after the invalid set of values.

Reported-by: Kyotaro Horiguchi
Reviewed-by: Andrew Dunstan, Daniel Gustafsson, Kyotaro Horiguchi
Discussion: https://postgr.es/m/20220316.163658.1122740600489097632.horikyota.ntt@gmail.com
backpatch-through: 10
src/test/ssl/t/001_ssltests.pl
src/test/ssl/t/003_sslinfo.pl