Hello Tom,
The point is that there would be at least *one* TAP tests so that many
other features of psql, although not all, can be tested. [...]
Yeah, but the point I was trying to make is that that's mostly down to
laziness.
Not always.
I agree that using TAP test if another simpler option is available is not
a good move.
However, in the current state, as soon as there is some variation a test
is removed and coverage is lost, but they could be kept if the check could
be against a regexp.
I see no reason that we couldn't be covering a lot of these features in
src/test/regress/sql/psql.sql, with far less overhead. The interactive
aspects of psql can't be tested that way ... but since this patch
doesn't actually provide any way to test those, it's not much of a
proof-of-concept.
The PoC is checking against a set of regexp instead of expecting an exact
output. Ok, it does not solve all possible test scenarii, that is life.
IOW, the blocking factor here is not "does src/bin/psql/t/ exist",
it's "has somebody written a test that moves the coverage needle
meaningfully". I'm not big on adding a bunch of overhead first and
just hoping somebody will do something to make it worthwhile later.
I do intend to add coverage once a psql TAP test is available, as I have
done with pgbench. Ok, some of the changes are still in the long CF queue,
but at least pgbench coverage is around 90%.
I also intend to direct submitted patches to use the TAP infra when
appropriate, instead of "no tests, too bad".
--
Fabien.