summaryrefslogtreecommitdiffstats
path: root/src/bin/pg_rewind/t/006_options.pl
blob: 81793899e59d5fed3c27fe4fd83ac76da6a5460b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# Copyright (c) 2021, PostgreSQL Global Development Group

#
# Test checking options of pg_rewind.
#
use strict;
use warnings;
use TestLib;
use Test::More tests => 12;

program_help_ok('pg_rewind');
program_version_ok('pg_rewind');
program_options_handling_ok('pg_rewind');

my $primary_pgdata = TestLib::tempdir;
my $standby_pgdata = TestLib::tempdir;
command_fails(
	[
		'pg_rewind',       '--debug',
		'--target-pgdata', $primary_pgdata,
		'--source-pgdata', $standby_pgdata,
		'extra_arg1'
	],
	'too many arguments');
command_fails([ 'pg_rewind', '--target-pgdata', $primary_pgdata ],
	'no source specified');
command_fails(
	[
		'pg_rewind',       '--debug',
		'--target-pgdata', $primary_pgdata,
		'--source-pgdata', $standby_pgdata,
		'--source-server', 'incorrect_source'
	],
	'both remote and local sources specified');
command_fails(
	[
		'pg_rewind',       '--debug',
		'--target-pgdata', $primary_pgdata,
		'--source-pgdata', $standby_pgdata,
		'--write-recovery-conf'
	],
	'no local source with --write-recovery-conf');