Add basic TAP tests for psql's tab-completion logic.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 2 Jan 2020 20:02:21 +0000 (15:02 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 2 Jan 2020 20:02:21 +0000 (15:02 -0500)
commit7c015045b9141cc30272930ea88cfa5df47240b7
tree89d9fa042f7f49f98fc0ecd1776dd515605a7e5a
parent915c04f091f13dbbc0fde833e612dc90b70103ce
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
configure
configure.in
src/Makefile.global.in
src/bin/psql/.gitignore
src/bin/psql/Makefile
src/bin/psql/t/010_tab_completion.pl [new file with mode: 0644]
src/test/perl/PostgresNode.pm