mirror of https://github.com/postgres/postgres
Add some basic tests for command-line option handling and help output, similar to what we have for other command-line programs. This also creates a place to put some more one-off test cases later. Discussion: https://www.postgresql.org/message-id/2570e2ae-fa0f-aac9-f72f-bb59a9983a20@enterprisedb.compull/73/head
parent
f9c4cb6868
commit
c0280bc3ed
@ -0,0 +1,33 @@ |
||||
|
||||
# Copyright (c) 2021, PostgreSQL Global Development Group |
||||
|
||||
use strict; |
||||
use warnings; |
||||
|
||||
use PostgresNode; |
||||
use TestLib; |
||||
use Test::More tests => 23; |
||||
|
||||
program_help_ok('psql'); |
||||
program_version_ok('psql'); |
||||
program_options_handling_ok('psql'); |
||||
|
||||
my ($stdout, $stderr); |
||||
my $result; |
||||
|
||||
# test --help=foo, analogous to program_help_ok() |
||||
foreach my $arg (qw(commands variables)) |
||||
{ |
||||
$result = IPC::Run::run [ 'psql', "--help=$arg" ], '>', \$stdout, '2>', \$stderr; |
||||
ok($result, "psql --help=$arg exit code 0"); |
||||
isnt($stdout, '', "psql --help=$arg goes to stdout"); |
||||
is($stderr, '', "psql --help=$arg nothing to stderr"); |
||||
} |
||||
|
||||
my $node = PostgresNode->new('main'); |
||||
$node->init; |
||||
$node->start; |
||||
|
||||
$node->command_like([ 'psql', '-c', '\copyright' ], qr/Copyright/, '\copyright'); |
||||
$node->command_like([ 'psql', '-c', '\help' ], qr/ALTER/, '\help without arguments'); |
||||
$node->command_like([ 'psql', '-c', '\help SELECT' ], qr/SELECT/, '\help'); |
||||
Loading…
Reference in new issue