mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2025-01-18 04:58:51 +02:00
Add config/parse tests for options and option args with spaces.
If an option name has a space at the beginning then it will be considered an invalid command, but a space at the end is an invalid option. Add tests for these conditions. Spaces in option arguments should be preserved, so add a test to be sure this is true.
This commit is contained in:
parent
2b8d2daca1
commit
34dd6636b8
@ -610,6 +610,23 @@ testRun(void)
|
||||
TEST_ERROR(
|
||||
configParse(storageTest, strLstSize(argList), strLstPtr(argList), false), OptionInvalidError, "invalid option '--c'");
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("error on spaces in option name");
|
||||
|
||||
argList = strLstNew();
|
||||
strLstAddZ(argList, TEST_BACKREST_EXE);
|
||||
strLstAddZ(argList, " --config=/path/to");
|
||||
TEST_ERROR(
|
||||
configParse(storageTest, strLstSize(argList), strLstPtr(argList), false), CommandInvalidError,
|
||||
"invalid command ' --config=/path/to'");
|
||||
|
||||
argList = strLstNew();
|
||||
strLstAddZ(argList, TEST_BACKREST_EXE);
|
||||
strLstAddZ(argList, "--config =/path/to");
|
||||
TEST_ERROR(
|
||||
configParse(storageTest, strLstSize(argList), strLstPtr(argList), false), OptionInvalidError,
|
||||
"invalid option '--config =/path/to'");
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
argList = strLstNew();
|
||||
strLstAdd(argList, strNew(TEST_BACKREST_EXE));
|
||||
@ -1183,7 +1200,7 @@ testRun(void)
|
||||
strLstAdd(argList, strNew("--no-config"));
|
||||
strLstAdd(argList, strNew("--repo1-type"));
|
||||
strLstAdd(argList, strNew("s3")); // Argument for the option above
|
||||
strLstAdd(argList, strNew("--repo1-s3-bucket=test"));
|
||||
strLstAdd(argList, strNew("--repo1-s3-bucket= test "));
|
||||
strLstAdd(argList, strNew("--repo1-s3-endpoint=test"));
|
||||
strLstAdd(argList, strNew("--repo1-s3-region=test"));
|
||||
strLstAdd(argList, strNew(TEST_COMMAND_BACKUP));
|
||||
@ -1215,6 +1232,7 @@ testRun(void)
|
||||
TEST_RESULT_STR_Z(cfgOptionIdxStr(cfgOptPgPath, 0), "/path/to/db", " pg1-path is set");
|
||||
TEST_RESULT_INT(cfgOptionSource(cfgOptPgPath), cfgSourceParam, " pg1-path is source param");
|
||||
TEST_RESULT_UINT(cfgOptionIdxStrId(cfgOptRepoType, 0), strIdFromZ(stringIdBit6, "s3"), " repo-type is set");
|
||||
TEST_RESULT_STR_Z(cfgOptionStr(cfgOptRepoS3Bucket), " test ", " repo1-s3-bucket is set and preserves spaces");
|
||||
TEST_RESULT_STR_Z(cfgOptionStr(cfgOptRepoS3KeySecret), "xxx", " repo1-s3-secret is set");
|
||||
TEST_RESULT_INT(cfgOptionSource(cfgOptRepoS3KeySecret), cfgSourceConfig, " repo1-s3-secret is source env");
|
||||
TEST_RESULT_BOOL(cfgOptionBool(cfgOptOnline), false, " online is not set");
|
||||
|
Loading…
x
Reference in New Issue
Block a user