On Mon, Jul 25, 2016 at 7:42 PM, Ildar Musin <i.musin@postgrespro.ru> wrote:
> I was checking out TAP tests documentation. And I found confusing this part
> of src/test/perl/README file:
>
> my $ret = $node->psql('postgres', 'SELECT 1');
> is($ret, '1', 'SELECT 1 returns 1');
Good catch.
> The returning value of psql() function is the exit code of the psql. Hence
> this test will never pass since psql returns 0 if query was successfully
> executed. Probably it was meant to be the safe_psql() function instead which
> returns stdout:
>
> my $ret = $node->safe_psql('postgres', 'SELECT 1');
> is($ret, '1', 'SELECT 1 returns 1');
>
> or else:
>
> my ($ret, $stdout, $stderr) =
> $node->psql('postgres', 'SELECT 1');
> is($stdout, '1', 'SELECT 1 returns 1');
>
> The attached patch fixes this.
Just using psql_safe looks fine to me.
--
Michael