On Sat, Jan 6, 2018 at 2:56 AM, Alvaro Herrera <alvhe...@alvh.no-ip.org> wrote: > Peter Eisentraut wrote: >> On 1/5/18 09:28, Michael Paquier wrote: >> > In order to do things cleanly, we should make this TAP test >> > conditional on the version of OpenSSL. >> >> How about looking into pg_config.h, like in the attached patch?
+# Determine whether build supports tls-server-end-point. +open my $pg_config_h, '<', '../../include/pg_config.h' or die "$!"; +my $supports_tls_server_end_point = (grep {/^#define HAVE_X509_GET_SIGNATURE_NID 1/} <$pg_config_h>); +close $pg_config_h; Good idea as a whole, but I don't think this is the right approach. As we include $(bindir) in PATH when running the prove command, why not getting the include path from "pg_config --includedir"? > I suppose if this starts to spread, we'll come up with a better approach > ... maybe generating a Perl file with variables that can be slurped more > ellegantly, or something like that. (We mentioned the need for > config-based test selection re. patches for new SSL implementations.) One case I have in mind where this would be nice to have is 020_pg_receivewal.pl to have tests depending on if PG is built with zlib or not. So we definitely want something more. At least I do. I agree that the most elegant approach would be to generate pg_config.h from this variable set, and not feed on parsing pg_config.h directly. Or we could just live with an API in TestLib.pm which is able to get the wanted information as Peter is doing but for a wanted variable from pg_config. I could use that for my test case with HAVE_LIBZ as well. -- Michael