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
This commit is contained in:
Tom Lane 2020-01-09 16:46:05 -05:00
parent 9ce77d75c5
commit e7ee433137
1 changed files with 10 additions and 0 deletions

View 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; };