You've already forked pgbackrest
mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2025-07-13 01:00:23 +02:00
Replace harnessCfgLoad*() functions with HRN_CFG_LOAD() macro.
HRN_CFG_LOAD() handles the majority of test configuration loads and has various options for special cases. It was not clear when to use harnessCfgLoadRaw() vs harnessCfgLoad(). Now "raw" functionality is granular and enabled by parameters, e.g. noStd.
This commit is contained in:
@ -27,7 +27,7 @@ testRun(void)
|
||||
strLstAddZ(argList, "--archive-async");
|
||||
hrnCfgArgRawZ(argList, cfgOptPgPath, "/unused");
|
||||
strLstAddZ(argList, "--spool-path=" TEST_PATH "/spool");
|
||||
harnessCfgLoad(cfgCmdArchiveGet, argList);
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList);
|
||||
|
||||
size_t queueSize = 16 * 1024 * 1024;
|
||||
size_t walSegmentSize = 16 * 1024 * 1024;
|
||||
@ -117,7 +117,7 @@ testRun(void)
|
||||
|
||||
StringList *argList = strLstDup(argBaseList);
|
||||
hrnCfgArgRawZ(argList, cfgOptPgHost, BOGUS_STR);
|
||||
harnessCfgLoadRole(cfgCmdArchiveGet, cfgCmdRoleAsync, argList);
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList, .role = cfgCmdRoleAsync);
|
||||
|
||||
TEST_ERROR(cmdArchiveGetAsync(), HostInvalidError, "archive-get command must be run on the PostgreSQL host");
|
||||
|
||||
@ -130,7 +130,7 @@ testRun(void)
|
||||
TEST_TITLE("error on no segments");
|
||||
|
||||
argList = strLstDup(argBaseList);
|
||||
harnessCfgLoadRole(cfgCmdArchiveGet, cfgCmdRoleAsync, argList);
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList, .role = cfgCmdRoleAsync);
|
||||
|
||||
TEST_ERROR(cmdArchiveGetAsync(), ParamInvalidError, "at least one wal segment is required");
|
||||
|
||||
@ -155,7 +155,7 @@ testRun(void)
|
||||
"1={\"db-id\":18072658121562454734,\"db-version\":\"10\"}\n");
|
||||
|
||||
strLstAddZ(argList, "000000010000000100000001");
|
||||
harnessCfgLoadRole(cfgCmdArchiveGet, cfgCmdRoleAsync, argList);
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList, .role = cfgCmdRoleAsync);
|
||||
|
||||
TEST_RESULT_VOID(cmdArchiveGetAsync(), "get async");
|
||||
|
||||
@ -317,7 +317,7 @@ testRun(void)
|
||||
strLstAddZ(argList, "0000000100000001000000FE");
|
||||
strLstAddZ(argList, "0000000100000001000000FF");
|
||||
strLstAddZ(argList, "000000010000000200000000");
|
||||
harnessCfgLoadRole(cfgCmdArchiveGet, cfgCmdRoleAsync, argList);
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList, .role = cfgCmdRoleAsync);
|
||||
|
||||
HRN_INFO_PUT(
|
||||
storageRepoIdxWrite(1), INFO_ARCHIVE_PATH_FILE,
|
||||
@ -421,7 +421,7 @@ testRun(void)
|
||||
|
||||
argList = strLstDup(argBaseList);
|
||||
strLstAddZ(argList, "000000010000000200000000");
|
||||
harnessCfgLoadRole(cfgCmdArchiveGet, cfgCmdRoleAsync, argList);
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList, .role = cfgCmdRoleAsync);
|
||||
|
||||
TEST_RESULT_VOID(cmdArchiveGetAsync(), "archive async");
|
||||
|
||||
@ -454,7 +454,7 @@ testRun(void)
|
||||
|
||||
argList = strLstDup(argBaseList);
|
||||
strLstAddZ(argList, "000000010000000200000000");
|
||||
harnessCfgLoadRole(cfgCmdArchiveGet, cfgCmdRoleAsync, argList);
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList, .role = cfgCmdRoleAsync);
|
||||
|
||||
HRN_INFO_PUT(
|
||||
storageRepoIdxWrite(2), INFO_ARCHIVE_PATH_FILE,
|
||||
@ -534,17 +534,15 @@ testRun(void)
|
||||
hrnProtocolLocalShimUninstall();
|
||||
|
||||
argList = strLstNew();
|
||||
strLstAddZ(argList, "pgbackrest-bogus");
|
||||
hrnCfgArgRawZ(argList, cfgOptPgPath, TEST_PATH_PG);
|
||||
hrnCfgArgRawZ(argList, cfgOptRepoPath, TEST_PATH_REPO);
|
||||
hrnCfgArgRawZ(argList, cfgOptSpoolPath, TEST_PATH_SPOOL);
|
||||
hrnCfgArgRawBool(argList, cfgOptArchiveAsync, true);
|
||||
hrnCfgArgRawZ(argList, cfgOptStanza, "test2");
|
||||
strLstAddZ(argList, CFGCMD_ARCHIVE_GET ":" CONFIG_COMMAND_ROLE_ASYNC);
|
||||
strLstAddZ(argList, "0000000100000001000000FE");
|
||||
strLstAddZ(argList, "0000000100000001000000FF");
|
||||
strLstAddZ(argList, "000000010000000200000000");
|
||||
harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList));
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList, .role = cfgCmdRoleAsync, .exeBogus = true);
|
||||
|
||||
TEST_ERROR(
|
||||
cmdArchiveGetAsync(), ExecuteError,
|
||||
@ -569,33 +567,30 @@ testRun(void)
|
||||
|
||||
// Arguments that must be included. Use raw config here because we need to keep the
|
||||
StringList *argBaseList = strLstNew();
|
||||
strLstAddZ(argBaseList, "pgbackrest-bogus");
|
||||
hrnCfgArgRawZ(argBaseList, cfgOptPgPath, TEST_PATH_PG);
|
||||
hrnCfgArgRawZ(argBaseList, cfgOptRepoPath, TEST_PATH_REPO);
|
||||
hrnCfgArgRawZ(argBaseList, cfgOptStanza, "test1");
|
||||
hrnCfgArgRawZ(argBaseList, cfgOptArchiveTimeout, "1");
|
||||
hrnCfgArgRawZ(argBaseList, cfgOptLockPath, HRN_PATH "/lock");
|
||||
strLstAddZ(argBaseList, CFGCMD_ARCHIVE_GET);
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("command must be run on the pg host");
|
||||
|
||||
StringList *argList = strLstDup(argBaseList);
|
||||
hrnCfgArgRawZ(argList, cfgOptPgHost, BOGUS_STR);
|
||||
harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList));
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList, .exeBogus = true);
|
||||
|
||||
TEST_ERROR(cmdArchiveGet(), HostInvalidError, "archive-get command must be run on the PostgreSQL host");
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
argList = strLstDup(argBaseList);
|
||||
harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList));
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList, .exeBogus = true);
|
||||
|
||||
TEST_ERROR(cmdArchiveGet(), ParamRequiredError, "WAL segment to get required");
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
argList = strLstDup(argBaseList);
|
||||
strLstAddZ(argList, "000000010000000100000001");
|
||||
harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList));
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList, .exeBogus = true);
|
||||
|
||||
TEST_ERROR(cmdArchiveGet(), ParamRequiredError, "path to copy WAL segment required");
|
||||
|
||||
@ -605,7 +600,7 @@ testRun(void)
|
||||
hrnPgControlToBuffer((PgControl){.version = PG_VERSION_10, .systemId = 0xFACEFACEFACEFACE}));
|
||||
|
||||
strLstAddZ(argList, TEST_PATH_PG "/pg_wal/RECOVERYXLOG");
|
||||
harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList));
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList, .exeBogus = true);
|
||||
|
||||
TEST_ERROR(cmdArchiveGet(), RepoInvalidError, "unable to find a valid repository");
|
||||
|
||||
@ -626,7 +621,7 @@ testRun(void)
|
||||
strLstAddZ(argList, "00000001.history");
|
||||
strLstAddZ(argList, TEST_PATH_PG "/pg_wal/RECOVERYHISTORY");
|
||||
strLstAddZ(argList, "--archive-async");
|
||||
harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList));
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList, .exeBogus = true);
|
||||
|
||||
TEST_ERROR(cmdArchiveGet(), RepoInvalidError, "unable to find a valid repository");
|
||||
|
||||
@ -649,7 +644,7 @@ testRun(void)
|
||||
hrnCfgArgRawBool(argList, cfgOptArchiveAsync, true);
|
||||
strLstAddZ(argList, "000000010000000100000001");
|
||||
strLstAddZ(argList, "pg_wal/RECOVERYXLOG");
|
||||
harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList));
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList, .exeBogus = true);
|
||||
|
||||
THROW_ON_SYS_ERROR(chdir(strZ(cfgOptionStr(cfgOptPgPath))) != 0, PathMissingError, "unable to chdir()");
|
||||
|
||||
@ -684,7 +679,7 @@ testRun(void)
|
||||
// Write more WAL segments (in this case queue should be full)
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
strLstAddZ(argList, "--archive-get-queue-max=48");
|
||||
harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList));
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList, .exeBogus = true);
|
||||
|
||||
HRN_STORAGE_PUT_Z(storageSpoolWrite(), STORAGE_SPOOL_ARCHIVE_IN "/000000010000000100000001", "SHOULD-BE-A-REAL-WAL-FILE");
|
||||
HRN_STORAGE_PUT_Z(storageSpoolWrite(), STORAGE_SPOOL_ARCHIVE_IN "/000000010000000100000001.ok", "0\nwarning about x");
|
||||
@ -749,7 +744,7 @@ testRun(void)
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
strLstAddZ(argList, BOGUS_STR);
|
||||
harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList));
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList, .exeBogus = true);
|
||||
|
||||
TEST_ERROR(cmdArchiveGet(), ParamInvalidError, "extra parameters found");
|
||||
|
||||
@ -776,7 +771,7 @@ testRun(void)
|
||||
argList = strLstDup(argBaseList);
|
||||
strLstAddZ(argList, "01ABCDEF01ABCDEF01ABCDEF");
|
||||
strLstAddZ(argList, TEST_PATH_PG "/pg_wal/RECOVERYXLOG");
|
||||
harnessCfgLoad(cfgCmdArchiveGet, argList);
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList);
|
||||
|
||||
TEST_ERROR(cmdArchiveGet(), RepoInvalidError, "unable to find a valid repository");
|
||||
|
||||
@ -896,7 +891,7 @@ testRun(void)
|
||||
argList = strLstDup(argBaseList);
|
||||
strLstAddZ(argList, "000000010000000100000001.partial");
|
||||
strLstAddZ(argList, TEST_PATH_PG "/pg_wal/RECOVERYXLOG");
|
||||
harnessCfgLoad(cfgCmdArchiveGet, argList);
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList);
|
||||
|
||||
TEST_RESULT_INT(cmdArchiveGet(), 0, "get");
|
||||
|
||||
@ -913,7 +908,7 @@ testRun(void)
|
||||
argList = strLstDup(argBaseList);
|
||||
strLstAddZ(argList, "00000001.history");
|
||||
strLstAddZ(argList, TEST_PATH_PG "/pg_wal/RECOVERYHISTORY");
|
||||
harnessCfgLoad(cfgCmdArchiveGet, argList);
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList);
|
||||
|
||||
TEST_RESULT_INT(cmdArchiveGet(), 1, "get");
|
||||
|
||||
@ -962,7 +957,7 @@ testRun(void)
|
||||
hrnCfgArgRawZ(argList, cfgOptStanza, "test1");
|
||||
strLstAddZ(argList, "01ABCDEF01ABCDEF01ABCDEF");
|
||||
strLstAddZ(argList, TEST_PATH_PG "/pg_wal/RECOVERYXLOG");
|
||||
harnessCfgLoad(cfgCmdArchiveGet, argList);
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList);
|
||||
hrnCfgEnvKeyRemoveRaw(cfgOptRepoCipherPass, 2);
|
||||
|
||||
TEST_RESULT_INT(cmdArchiveGet(), 0, "get");
|
||||
@ -1061,7 +1056,7 @@ testRun(void)
|
||||
|
||||
hrnCfgArgRawZ(argList, cfgOptRepo, "2");
|
||||
hrnCfgEnvKeyRawZ(cfgOptRepoCipherPass, 2, TEST_CIPHER_PASS);
|
||||
harnessCfgLoad(cfgCmdArchiveGet, argList);
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList);
|
||||
hrnCfgEnvKeyRemoveRaw(cfgOptRepoCipherPass, 2);
|
||||
|
||||
TEST_RESULT_INT(cmdArchiveGet(), 0, "get");
|
||||
@ -1081,7 +1076,7 @@ testRun(void)
|
||||
hrnCfgArgRawBool(argList, cfgOptArchiveAsync, true);
|
||||
strLstAddZ(argList, "000000010000000100000001");
|
||||
strLstAddZ(argList, "pg_wal/RECOVERYXLOG");
|
||||
harnessCfgLoad(cfgCmdArchiveGet, argList);
|
||||
HRN_CFG_LOAD(cfgCmdArchiveGet, argList);
|
||||
|
||||
HRN_INFO_PUT(
|
||||
storageRepoIdxWrite(0), INFO_ARCHIVE_PATH_FILE,
|
||||
|
Reference in New Issue
Block a user