Hi all,

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');

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.

Ildar Musin

Ildar Musin

diff --git a/src/test/perl/README b/src/test/perl/README
index 9eae159..36d4120 100644
--- a/src/test/perl/README
+++ b/src/test/perl/README
@@ -41,7 +41,7 @@ against them and evaluate the results. For example:
-    my $ret = $node->psql('postgres', 'SELECT 1');
+    my $ret = $node->safe_psql('postgres', 'SELECT 1');
     is($ret, '1', 'SELECT 1 returns 1');
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:

Reply via email to