Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip tab-completion tests if envar SKIP_READLINE_TESTS is defined.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 9 Jan 2020 21:46:05 +0000 (16:46 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 9 Jan 2020 21:46:05 +0000 (16:46 -0500)
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

index ef6c28f88679df8a405f6999138ee9e4f1b72824..b35c4f8dba0c1b82d3643dba31a106ad37b219f0 100644 (file)
@@ -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; };