Find attached a small patch to improve tap tests, which also checks that psql
really exited by checking that nothing is printed afterwards.
<Sigh>. It is better with the attachement.
--
Fabien.
diff --git a/src/bin/psql/t/001_if.pl b/src/bin/psql/t/001_if.pl
index 68c9b15..a703cab 100644
--- a/src/bin/psql/t/001_if.pl
+++ b/src/bin/psql/t/001_if.pl
@@ -4,7 +4,7 @@ use warnings;
use Config;
use PostgresNode;
use TestLib;
-use Test::More tests => 15;
+use Test::More tests => 18;
#
# test invalid \if respects ON_ERROR_STOP
@@ -14,12 +14,14 @@ $node->init;
$node->start;
my $tests = [
- [ "\\if invalid_expression\n\\endif\n", '', 'boolean expected', 'syntax error' ],
+ # syntax errors
+ [ "\\if invalid\n\\echo NO\n\\endif\n\\echo NO\n", '', 'boolean expected', 'syntax error' ],
+ [ "\\if false\n\\elif invalid\n\\echo NO\n\\endif\n\\echo NO\n", '', 'boolean expected', 'syntax error' ],
# unmatched checks
- [ "\\if true\\n", '', 'found EOF before closing.*endif', 'unmatched \if' ],
- [ "\\elif true\\n", '', 'encountered un-matched.*elif', 'unmatched \elif' ],
- [ "\\else\\n", '', 'encountered un-matched.*else', 'unmatched \else' ],
- [ "\\endif\\n", '', 'encountered un-matched.*endif', 'unmatched \endif' ],
+ [ "\\if true\n", '', 'found EOF before closing.*endif', 'unmatched \if' ],
+ [ "\\elif true\n\\echo NO\n", '', 'encountered un-matched.*elif', 'unmatched \elif' ],
+ [ "\\else\n\\echo NO\n", '', 'encountered un-matched.*else', 'unmatched \else' ],
+ [ "\\endif\n\\echo NO\n", '', 'encountered un-matched.*endif', 'unmatched \endif' ],
];
# 3 checks per tests
@@ -29,7 +31,7 @@ for my $test (@$tests) {
my $retcode = $node->psql('postgres', $script,
stdout => \$stdout, stderr => \$stderr,
on_error_stop => 1);
- is($retcode,'3',"$name test respects ON_ERROR_STOP");
+ is($retcode,'3',"$name test ON_ERROR_STOP");
is($stdout, $stdout_expect, "$name test STDOUT");
like($stderr, qr/$stderr_re/, "$name test STDERR");
}
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers