Add basic TAP tests for psql's tab-completion logic.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 7c015045b9141cc30272930ea88cfa5df47240b7
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2020-01-02T20:02:21Z
Releases: 13.0
Add basic TAP tests for psql's tab-completion logic.

Up to now, psql's tab-complete.c has had exactly no regression test
coverage.  This patch is an experimental attempt to add some.

This needs Perl's IO::Pty module, which isn't installed everywhere,
so the test script just skips all tests if that's not present.
There may be other portability gotchas too, so I await buildfarm
results with interest.

So far this just covers a few very basic keyword-completion and
query-driven-completion scenarios, which should be enough to let us
get a feel for whether this is practical at all from a portability
standpoint.  If it is, there's lots more that can be done.

Discussion: https://postgr.es/m/10967.1577562752@sss.pgh.pa.us

Files

PathChange+/−
configure modified +2 −0
configure.in modified +1 −0
src/bin/psql/.gitignore modified +1 −1
src/bin/psql/Makefile modified +10 −0
src/bin/psql/t/010_tab_completion.pl added +122 −0
src/Makefile.global.in modified +1 −0
src/test/perl/PostgresNode.pm modified +67 −0

Discussion