1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2025-06-14 23:44:58 +02:00

Fixed config warnings raised from a remote process causing errors in the master process.

Fixed by Cynthia Shang.
This commit is contained in:
Cynthia Shang
2017-05-16 11:28:51 -04:00
committed by David Steele
parent 74053ed842
commit 7e982f05f5
7 changed files with 433 additions and 69 deletions

View File

@ -28,10 +28,11 @@ sub run
my $oConfig = {};
my $strConfigFile = $self->testPath() . '/pgbackrest.conf';
optionSet(OPTION_CONFIG, $strConfigFile, true);
commandSet(CMD_LOCAL);
if ($self->begin('valid option ' . OPTION_DB_PORT . ' under invalid section'))
if ($self->begin('Config::configFileValidate()'))
{
my $oConfig = {};
$oConfig = {};
$$oConfig{&CONFIG_SECTION_GLOBAL}{&OPTION_DB_PORT} = 1234;
$self->testResult(sub {configFileValidate($oConfig)}, false,
@ -40,11 +41,9 @@ sub run
"WARN: $strConfigFile valid option '" . OPTION_DB_PORT . "' is a stanza section option and is not valid in" .
" section " . CONFIG_SECTION_GLOBAL . "\nHINT: global options can be specified in global or stanza sections but" .
" not visa-versa"});
}
if ($self->begin('valid option ' . OPTION_DB_PORT . ' for command ' . CMD_BACKUP . ' under invalid global section'))
{
my $oConfig = {};
#---------------------------------------------------------------------------------------------------------------------------
$oConfig = {};
$$oConfig{&CONFIG_SECTION_GLOBAL . ':' . &CMD_BACKUP}{&OPTION_DB_PORT} = 1234;
$self->testResult(sub {configFileValidate($oConfig)}, false,
@ -53,54 +52,53 @@ sub run
"WARN: $strConfigFile valid option '" . OPTION_DB_PORT . "' is a stanza section option and is not valid in" .
" section " . CONFIG_SECTION_GLOBAL ."\nHINT: global options can be specified in global or stanza sections but" .
" not visa-versa"});
}
if ($self->begin('valid option ' . OPTION_DB_PORT . ' under invalid stanza section command'))
{
my $oConfig = {};
#---------------------------------------------------------------------------------------------------------------------------
$oConfig = {};
$$oConfig{$self->stanza() . ':' . &CMD_ARCHIVE_PUSH}{&OPTION_DB_PORT} = 1234;
$self->testResult(sub {configFileValidate($oConfig)}, false,
'valid option ' . OPTION_DB_PORT . ' under invalid stanza section command',
{strLogExpect =>
"WARN: $strConfigFile valid option '" . OPTION_DB_PORT . "' is not valid for command '" . CMD_ARCHIVE_PUSH ."'"});
}
if ($self->begin('invalid option'))
{
my $oConfig = {};
#---------------------------------------------------------------------------------------------------------------------------
$oConfig = {};
$$oConfig{&CONFIG_SECTION_GLOBAL}{&BOGUS} = BOGUS;
$self->testResult(sub {configFileValidate($oConfig)}, false, 'invalid option ' . $$oConfig{&CONFIG_SECTION_GLOBAL}{&BOGUS},
{strLogExpect => "WARN: $strConfigFile file contains invalid option '" . BOGUS . "'"});
}
if ($self->begin('valid alt name'))
{
my $oConfig = {};
#---------------------------------------------------------------------------------------------------------------------------
$oConfig = {};
$$oConfig{&CONFIG_SECTION_GLOBAL}{'thread-max'} = 3;
$self->testResult(sub {configFileValidate($oConfig)}, true, 'valid alt name found');
}
if ($self->begin('valid config file'))
{
my $oConfig = {};
#---------------------------------------------------------------------------------------------------------------------------
$oConfig = {};
$$oConfig{&CONFIG_SECTION_GLOBAL}{&OPTION_LOG_LEVEL_STDERR} = OPTION_DEFAULT_LOG_LEVEL_STDERR;
$$oConfig{$self->stanza()}{&OPTION_DB_PATH} = '/db';
$$oConfig{&CONFIG_SECTION_GLOBAL . ':' . &CMD_ARCHIVE_PUSH}{&OPTION_PROCESS_MAX} = 2;
$self->testResult(sub {configFileValidate($oConfig)}, true, 'valid config file');
}
if ($self->begin('valid unusual section name'))
{
my $oConfig = {};
#---------------------------------------------------------------------------------------------------------------------------
$oConfig = {};
$$oConfig{&CONFIG_SECTION_GLOBAL}{&OPTION_LOG_LEVEL_STDERR} = OPTION_DEFAULT_LOG_LEVEL_STDERR;
$$oConfig{&CONFIG_SECTION_GLOBAL . ':' . &CMD_ARCHIVE_PUSH}{&OPTION_PROCESS_MAX} = 2;
$$oConfig{'unusual-section^name!:' . &CMD_CHECK}{&OPTION_DB_PATH} = '/db';
$self->testResult(sub {configFileValidate($oConfig)}, true, 'valid unusual section name');
#---------------------------------------------------------------------------------------------------------------------------
$oConfig = {};
$$oConfig{&CONFIG_SECTION_GLOBAL}{&BOGUS} = BOGUS;
# Change command to indicate remote
commandSet(CMD_REMOTE);
$self->testResult(sub {configFileValidate($oConfig)}, true, 'invalid option but config file not validated on remote');
}
}