From e7ee433137b6eb3678deeebc68be53d58aa1e5d3 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 9 Jan 2020 16:46:05 -0500 Subject: [PATCH] Skip tab-completion tests if envar SKIP_READLINE_TESTS is defined. Experience so far suggests that getting these tests to pass on all libedit versions that are out there may be impossible, or require dumbing down the tests to the point of uselessness. So we need to provide a way to skip them when the user knows they'll fail. An environment variable is probably the most convenient way to deal with this; it's easy for, e.g., a buildfarm animal's configuration to set up. Discussion: https://postgr.es/m/9594.1578586797@sss.pgh.pa.us --- src/bin/psql/t/010_tab_completion.pl | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/bin/psql/t/010_tab_completion.pl b/src/bin/psql/t/010_tab_completion.pl index ef6c28f886..b35c4f8dba 100644 --- a/src/bin/psql/t/010_tab_completion.pl +++ b/src/bin/psql/t/010_tab_completion.pl @@ -7,11 +7,21 @@ use Test::More; use IPC::Run qw(pump finish timer); use Data::Dumper; +# Do nothing unless Makefile has told us that the build is --with-readline. if (!defined($ENV{with_readline}) || $ENV{with_readline} ne 'yes') { plan skip_all => 'readline is not supported by this build'; } +# Also, skip if user has set environment variable to command that. +# This is mainly intended to allow working around some of the more broken +# versions of libedit --- some users might find them acceptable even if +# they won't pass these tests. +if (defined($ENV{SKIP_READLINE_TESTS})) +{ + plan skip_all => 'SKIP_READLINE_TESTS is set'; +} + # If we don't have IO::Pty, forget it, because IPC::Run depends on that # to support pty connections eval { require IO::Pty; };