mirror of
https://github.com/postgres/postgres.git
synced 2025-06-16 06:01:02 +03:00
Remove use of TAP subtests
They turned out to be too much of a portability headache, because they need a fairly new version of Test::More to work properly.
This commit is contained in:
@ -37,21 +37,6 @@ BEGIN
|
||||
{
|
||||
plan skip_all => "IPC::Run not available";
|
||||
};
|
||||
|
||||
eval {
|
||||
Test::More->VERSION('0.93_01');
|
||||
} or do
|
||||
{
|
||||
plan skip_all => "version of Test::More is too old to support subplans";
|
||||
};
|
||||
|
||||
eval {
|
||||
require Test::Simple;
|
||||
Test::Simple->VERSION('0.98');
|
||||
} or do
|
||||
{
|
||||
plan skip_all => "version of Test::Simple is too old to support subplans properly";
|
||||
};
|
||||
}
|
||||
|
||||
# Set to untranslated messages, to be able to compare program output
|
||||
@ -180,67 +165,51 @@ sub command_exit_is
|
||||
sub program_help_ok
|
||||
{
|
||||
my ($cmd) = @_;
|
||||
subtest "$cmd --help" => sub {
|
||||
plan tests => 3;
|
||||
my ($stdout, $stderr);
|
||||
my $result = run [ $cmd, '--help' ], '>', \$stdout, '2>', \$stderr;
|
||||
ok($result, "$cmd --help exit code 0");
|
||||
isnt($stdout, '', "$cmd --help goes to stdout");
|
||||
is($stderr, '', "$cmd --help nothing to stderr");
|
||||
};
|
||||
my ($stdout, $stderr);
|
||||
my $result = run [ $cmd, '--help' ], '>', \$stdout, '2>', \$stderr;
|
||||
ok($result, "$cmd --help exit code 0");
|
||||
isnt($stdout, '', "$cmd --help goes to stdout");
|
||||
is($stderr, '', "$cmd --help nothing to stderr");
|
||||
}
|
||||
|
||||
sub program_version_ok
|
||||
{
|
||||
my ($cmd) = @_;
|
||||
subtest "$cmd --version" => sub {
|
||||
plan tests => 3;
|
||||
my ($stdout, $stderr);
|
||||
my $result = run [ $cmd, '--version' ], '>', \$stdout, '2>', \$stderr;
|
||||
ok($result, "$cmd --version exit code 0");
|
||||
isnt($stdout, '', "$cmd --version goes to stdout");
|
||||
is($stderr, '', "$cmd --version nothing to stderr");
|
||||
};
|
||||
my ($stdout, $stderr);
|
||||
my $result = run [ $cmd, '--version' ], '>', \$stdout, '2>', \$stderr;
|
||||
ok($result, "$cmd --version exit code 0");
|
||||
isnt($stdout, '', "$cmd --version goes to stdout");
|
||||
is($stderr, '', "$cmd --version nothing to stderr");
|
||||
}
|
||||
|
||||
sub program_options_handling_ok
|
||||
{
|
||||
my ($cmd) = @_;
|
||||
subtest "$cmd options handling" => sub {
|
||||
plan tests => 2;
|
||||
my ($stdout, $stderr);
|
||||
my $result = run [ $cmd, '--not-a-valid-option' ], '>', \$stdout,
|
||||
'2>', \$stderr;
|
||||
ok(!$result, "$cmd with invalid option nonzero exit code");
|
||||
isnt($stderr, '', "$cmd with invalid option prints error message");
|
||||
};
|
||||
my ($stdout, $stderr);
|
||||
my $result = run [ $cmd, '--not-a-valid-option' ], '>', \$stdout, '2>', \$stderr;
|
||||
ok(!$result, "$cmd with invalid option nonzero exit code");
|
||||
isnt($stderr, '', "$cmd with invalid option prints error message");
|
||||
}
|
||||
|
||||
sub command_like
|
||||
{
|
||||
my ($cmd, $expected_stdout, $test_name) = @_;
|
||||
subtest $test_name => sub {
|
||||
plan tests => 3;
|
||||
my ($stdout, $stderr);
|
||||
my $result = run $cmd, '>', \$stdout, '2>', \$stderr;
|
||||
ok($result, "@$cmd exit code 0");
|
||||
is($stderr, '', "@$cmd no stderr");
|
||||
like($stdout, $expected_stdout, "$test_name: matches");
|
||||
};
|
||||
my ($stdout, $stderr);
|
||||
my $result = run $cmd, '>', \$stdout, '2>', \$stderr;
|
||||
ok($result, "@$cmd exit code 0");
|
||||
is($stderr, '', "@$cmd no stderr");
|
||||
like($stdout, $expected_stdout, "$test_name: matches");
|
||||
}
|
||||
|
||||
sub issues_sql_like
|
||||
{
|
||||
my ($cmd, $expected_sql, $test_name) = @_;
|
||||
subtest $test_name => sub {
|
||||
plan tests => 2;
|
||||
my ($stdout, $stderr);
|
||||
truncate $test_server_logfile, 0;
|
||||
my $result = run $cmd, '>', \$stdout, '2>', \$stderr;
|
||||
ok($result, "@$cmd exit code 0");
|
||||
my $log = `cat '$test_server_logfile'`;
|
||||
like($log, $expected_sql, "$test_name: SQL found in server log");
|
||||
};
|
||||
my ($stdout, $stderr);
|
||||
truncate $test_server_logfile, 0;
|
||||
my $result = run $cmd, '>', \$stdout, '2>', \$stderr;
|
||||
ok($result, "@$cmd exit code 0");
|
||||
my $log = `cat '$test_server_logfile'`;
|
||||
like($log, $expected_sql, "$test_name: SQL found in server log");
|
||||
}
|
||||
|
||||
1;
|
||||
|
Reference in New Issue
Block a user