Commit 4eff1e9f authored by Andrew Dunstan's avatar Andrew Dunstan

Allow recovery tests to run on Windows as an admin user

This is the only test that fails when run as an admin user. The reason
is that when Postgres is started via pg_ctl its admin privileges are
lowered. However, this test called 'postgres -D datadir' directly,
resulting in a failure. Replace that by calling pg_ctl and then checking
the result for the expected failure, and the logfile for the expected
error message.
parent 72c7c4e3
......@@ -132,6 +132,11 @@ my $node_standby = get_new_node('standby_7');
$node_standby->init_from_backup($node_master, 'my_backup', has_restoring => 1);
$node_standby->append_conf('postgresql.conf', "recovery_target_name = '$recovery_name'
recovery_target_time = '$recovery_time'");
command_fails_like(['postgres', '-D', $node_standby->data_dir],
qr/multiple recovery targets specified/,
my $res = run_log(['pg_ctl', '-D', $node_standby->data_dir,
'-l', $node_standby->logfile, 'start']);
ok(! $res, 'invalid recovery startup fails');
my $logfile = slurp_file($node_standby->logfile());
ok ($logfile =~ qr/multiple recovery targets specified/,
'multiple conflicting settings');
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment