You've already forked pgbackrest
mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2025-07-07 00:35:37 +02:00
Fix formatting errors.
Errors in our current (manually-maintained) code format discovered by uncrustify.
This commit is contained in:
@ -223,7 +223,7 @@ testRun(void)
|
||||
infoPg, infoArchivePg(infoArchiveNewLoad(ioBufferReadNew(harnessInfoChecksumZ(TEST_ARCHIVE_INFO_BASE)))),
|
||||
"infoPg from archive.info");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("manifest.copy exists, no manifest main, manifest db version not in history, not current db");
|
||||
|
||||
HRN_INFO_PUT(
|
||||
@ -259,7 +259,7 @@ testRun(void)
|
||||
"P00 INFO: '20181119-152138F' may not be recoverable - PG data (id 1, version 9.3, system-id "
|
||||
HRN_PG_SYSTEMID_94_Z ") is not in the backup.info history, skipping");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("rerun test with db-system-id invalid and no main");
|
||||
|
||||
HRN_STORAGE_REMOVE(storageRepoWrite(), STORAGE_REPO_BACKUP "/" TEST_BACKUP_LABEL_FULL "/" BACKUP_MANIFEST_FILE);
|
||||
@ -294,7 +294,7 @@ testRun(void)
|
||||
"P00 INFO: '20181119-152138F' may not be recoverable - PG data (id 1, version 9.4, system-id 0) is not in the "
|
||||
"backup.info history, skipping");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("rerun copy test with db-id invalid");
|
||||
|
||||
HRN_INFO_PUT(
|
||||
@ -328,7 +328,7 @@ testRun(void)
|
||||
"P00 INFO: '20181119-152138F' may not be recoverable - PG data (id 0, version 9.4, system-id "
|
||||
HRN_PG_SYSTEMID_94_Z ") is not in the backup.info history, skipping");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("missing main manifest, errored copy");
|
||||
|
||||
backupResult.status = backupValid;
|
||||
@ -344,7 +344,7 @@ testRun(void)
|
||||
"P00 DETAIL: invalid checksum, actual 'e056f784a995841fd4e2802b809299b8db6803a2' but expected 'BOGUS' "
|
||||
"<REPO:BACKUP>/20181119-152138F/backup.manifest.copy");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("current backup true");
|
||||
|
||||
HRN_STORAGE_PUT_Z(
|
||||
@ -401,7 +401,7 @@ testRun(void)
|
||||
lstAdd(archiveIdResultList, &archiveResult);
|
||||
VerifyArchiveResult *archiveIdResult = lstGetLast(archiveIdResultList);
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("Single WAL");
|
||||
|
||||
archiveIdResult->pgWalInfo.size = PG_WAL_SEGMENT_SIZE_DEFAULT;
|
||||
@ -418,7 +418,7 @@ testRun(void)
|
||||
TEST_RESULT_STR_Z(walRangeResult->start, "000000020000000200000000", "start range");
|
||||
TEST_RESULT_STR_Z(walRangeResult->stop, "000000020000000200000000", "stop range");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("Duplicate WAL only - no range, all removed from list");
|
||||
|
||||
lstClear(archiveIdResult->walRangeList);
|
||||
@ -432,7 +432,7 @@ testRun(void)
|
||||
TEST_RESULT_UINT(lstSize(archiveIdResult->walRangeList), 0, "no range");
|
||||
TEST_RESULT_LOG("P00 INFO: duplicate WAL '000000020000000200000000' for '9.4-1' exists, skipping");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("duplicates at beginning and end of list are removed");
|
||||
|
||||
errTotal = 0;
|
||||
@ -470,7 +470,7 @@ testRun(void)
|
||||
backupInfo, infoBackupNewLoad(ioBufferReadNew(harnessInfoChecksumZ(TEST_BACKUP_INFO_MULTI_HISTORY_BASE))),
|
||||
"backup.info multi-history");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("history mismatch - missing history");
|
||||
|
||||
// Create archive.info - history mismatch
|
||||
@ -489,7 +489,7 @@ testRun(void)
|
||||
verifyPgHistory(infoArchivePg(archiveInfo), infoBackupPg(backupInfo)), FormatError,
|
||||
"archive and backup history lists do not match");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("history mismatch - system id");
|
||||
|
||||
TEST_ASSIGN(
|
||||
@ -507,7 +507,7 @@ testRun(void)
|
||||
verifyPgHistory(infoArchivePg(archiveInfo), infoBackupPg(backupInfo)), FormatError,
|
||||
"archive and backup history lists do not match");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("history mismatch - version");
|
||||
|
||||
TEST_ASSIGN(
|
||||
@ -525,7 +525,7 @@ testRun(void)
|
||||
verifyPgHistory(infoArchivePg(archiveInfo), infoBackupPg(backupInfo)), FormatError,
|
||||
"archive and backup history lists do not match");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("history mismatch - id");
|
||||
|
||||
TEST_ASSIGN(
|
||||
@ -547,7 +547,7 @@ testRun(void)
|
||||
// *****************************************************************************************************************************
|
||||
if (testBegin("verifySetBackupCheckArchive(), verifyLogInvalidResult(), verifyRender()"))
|
||||
{
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("verifySetBackupCheckArchive()");
|
||||
|
||||
InfoBackup *backupInfo = NULL;
|
||||
@ -555,7 +555,8 @@ testRun(void)
|
||||
TEST_ASSIGN(
|
||||
backupInfo, infoBackupNewLoad(ioBufferReadNew(harnessInfoChecksumZ(TEST_BACKUP_INFO_MULTI_HISTORY_BASE))),
|
||||
"backup.info multi-history");
|
||||
TEST_ASSIGN(archiveInfo, infoArchiveNewLoad(ioBufferReadNew(harnessInfoChecksumZ(TEST_ARCHIVE_INFO_MULTI_HISTORY_BASE))),
|
||||
TEST_ASSIGN(
|
||||
archiveInfo, infoArchiveNewLoad(ioBufferReadNew(harnessInfoChecksumZ(TEST_ARCHIVE_INFO_MULTI_HISTORY_BASE))),
|
||||
"archive.info multi-history");
|
||||
InfoPg *pgHistory = infoArchivePg(archiveInfo);
|
||||
|
||||
@ -586,7 +587,7 @@ testRun(void)
|
||||
TEST_RESULT_UINT(errTotal, 1, "error logged");
|
||||
TEST_RESULT_LOG("P00 INFO: archiveIds '12-3, 13-4' are not in the archive.info history list");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("verifyLogInvalidResult() - missing file");
|
||||
|
||||
TEST_RESULT_UINT(
|
||||
@ -594,7 +595,7 @@ testRun(void)
|
||||
0, "file missing message");
|
||||
TEST_RESULT_LOG("P00 WARN: file missing 'missingfilename'");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("verifyRender() - missing file, empty invalidList");
|
||||
|
||||
List *archiveIdResultList = lstNewP(sizeof(VerifyArchiveResult), .comparator = archiveIdComparator);
|
||||
@ -646,7 +647,7 @@ testRun(void)
|
||||
" backup: test-backup-label, status: invalid, total files checked: 1, total valid files: 0\n"
|
||||
" missing: 1", "archive file missing, backup file missing, no text, no verbose");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("verifyAddInvalidWalFile() - file missing (coverage test)");
|
||||
|
||||
TEST_RESULT_VOID(
|
||||
@ -660,7 +661,7 @@ testRun(void)
|
||||
StringList *argList = strLstDup(argListBase);
|
||||
HRN_CFG_LOAD(cfgCmdVerify, argList);
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("backup.info invalid checksum, neither backup copy nor archive infos exist");
|
||||
|
||||
HRN_STORAGE_PUT_Z(storageRepoWrite(), INFO_BACKUP_PATH_FILE, TEST_INVALID_BACKREST_INFO, .comment = "invalid backup.info");
|
||||
@ -692,7 +693,7 @@ testRun(void)
|
||||
" No usable backup.info file\n"
|
||||
" No usable archive.info file");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("backup.info invalid checksum, backup.info.copy valid, archive.info not exist, archive copy checksum invalid");
|
||||
|
||||
HRN_STORAGE_PUT_Z(
|
||||
@ -734,7 +735,7 @@ testRun(void)
|
||||
" status: error\n"
|
||||
" No usable archive.info file");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("backup.info and copy valid but checksum mismatch, archive.info checksum invalid, archive.info copy valid");
|
||||
|
||||
HRN_INFO_PUT(
|
||||
@ -769,7 +770,7 @@ testRun(void)
|
||||
" backup : id = 2, version = 11, system-id = 10000000000000110000\n"
|
||||
" HINT: this may be a symptom of repository corruption!");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("backup.info and copy valid and checksums match, archive.info and copy valid, but checksum mismatch");
|
||||
|
||||
HRN_INFO_PUT(
|
||||
@ -781,7 +782,7 @@ testRun(void)
|
||||
TEST_RESULT_LOG(
|
||||
"P00 DETAIL: archive.info.copy does not match archive.info");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("backup.info valid, copy invalid, archive.info valid, copy invalid");
|
||||
|
||||
HRN_STORAGE_REMOVE(storageRepoWrite(), INFO_BACKUP_PATH_FILE INFO_COPY_EXT, .comment = "remove backup.info.copy");
|
||||
@ -791,7 +792,7 @@ testRun(void)
|
||||
"P00 DETAIL: unable to open missing file '" TEST_PATH "/repo/backup/db/backup.info.copy' for read\n"
|
||||
"P00 DETAIL: unable to open missing file '" TEST_PATH "/repo/archive/db/archive.info.copy' for read");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("backup.info and copy missing, archive.info and copy valid");
|
||||
|
||||
hrnCfgArgRawZ(argList, cfgOptVerbose, "y");
|
||||
@ -833,7 +834,7 @@ testRun(void)
|
||||
StringList *argList = strLstDup(argListBase);
|
||||
HRN_CFG_LOAD(cfgCmdVerify, argList);
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("zero-sized file in archive");
|
||||
|
||||
String *filePathName = strNewZ(STORAGE_REPO_ARCHIVE "/testfile");
|
||||
@ -841,21 +842,21 @@ testRun(void)
|
||||
TEST_RESULT_UINT(
|
||||
verifyFile(filePathName, 0, NULL, compressTypeNone, HASH_TYPE_SHA1_ZERO_BUF, 0, NULL), verifyOk, "file ok");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("file size invalid in archive");
|
||||
|
||||
HRN_STORAGE_PUT_Z(storageRepoWrite(), strZ(filePathName), fileContents);
|
||||
TEST_RESULT_UINT(
|
||||
verifyFile(filePathName, 0, NULL, compressTypeNone, fileChecksum, 0, NULL), verifySizeInvalid, "file size invalid");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("file missing in archive");
|
||||
|
||||
TEST_RESULT_UINT(
|
||||
verifyFile(strNewFmt(STORAGE_REPO_ARCHIVE "/missingFile"), 0, NULL, compressTypeNone, fileChecksum, 0, NULL),
|
||||
verifyFileMissing, "file missing");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("encrypted/compressed file in backup");
|
||||
|
||||
// Create a compressed encrypted repo file in backup
|
||||
@ -869,15 +870,14 @@ testRun(void)
|
||||
verifyFile(filePathName, 0, NULL, compressTypeGz, fileChecksum, fileSize, STRDEF("pass")),
|
||||
verifyOk, "file encrypted compressed ok");
|
||||
TEST_RESULT_UINT(
|
||||
verifyFile(
|
||||
filePathName, 0, NULL, compressTypeGz, bufNewDecode(encodingHex, STRDEF("aa")), fileSize, STRDEF("pass")),
|
||||
verifyChecksumMismatch, "file encrypted compressed checksum mismatch");
|
||||
verifyFile(filePathName, 0, NULL, compressTypeGz, bufNewDecode(encodingHex, STRDEF("aa")), fileSize, STRDEF("pass")),
|
||||
verifyChecksumMismatch, "file encrypted compressed checksum mismatch");
|
||||
}
|
||||
|
||||
// *****************************************************************************************************************************
|
||||
if (testBegin("cmdVerify(), verifyProcess() - errors"))
|
||||
{
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
// Load Parameters with multi-repo
|
||||
StringList *argList = strLstDup(argListBase);
|
||||
hrnCfgArgKeyRawZ(argList, cfgOptRepoPath, 4, TEST_PATH "/repo4");
|
||||
@ -890,7 +890,7 @@ testRun(void)
|
||||
storageRepoWrite(), INFO_ARCHIVE_PATH_FILE INFO_COPY_EXT, TEST_ARCHIVE_INFO_MULTI_HISTORY_BASE,
|
||||
.comment = "valid archive.info.copy");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("valid info files, WAL files present, no backups");
|
||||
|
||||
#define TEST_NO_CURRENT_BACKUP \
|
||||
@ -996,7 +996,7 @@ testRun(void)
|
||||
|
||||
harnessLogLevelReset();
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("no text output, verbose, with verify failures");
|
||||
|
||||
hrnCfgArgRawZ(argList, cfgOptVerbose, "y");
|
||||
@ -1010,14 +1010,15 @@ testRun(void)
|
||||
" archiveId: 9.4-1, total WAL checked: 0, total valid WAL: 0\n"
|
||||
" archiveId: 11-2, total WAL checked: 4, total valid WAL: 2\n"
|
||||
" missing: 0, checksum invalid: 1, size invalid: 1, other: 0\n"
|
||||
" backup: none found" , "verbose, with failures");
|
||||
" backup: none found",
|
||||
"verbose, with failures");
|
||||
TEST_RESULT_LOG(
|
||||
"P01 INFO: invalid checksum "
|
||||
"'11-2/0000000200000007/000000020000000700000FFD-a6e1a64f0813352bc2e97f116a1800377e17d2e4.gz'\n"
|
||||
"P01 INFO: invalid size "
|
||||
"'11-2/0000000200000007/000000020000000700000FFF-ee161f898c9012dd0c28b3fd1e7140b9cf411306'");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("text output, verbose, with verify failures");
|
||||
|
||||
hrnCfgArgRawZ(argList, cfgOptOutput, "text");
|
||||
@ -1038,7 +1039,7 @@ testRun(void)
|
||||
"P01 INFO: invalid size "
|
||||
"'11-2/0000000200000007/000000020000000700000FFF-ee161f898c9012dd0c28b3fd1e7140b9cf411306'");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("valid info files, start next timeline");
|
||||
|
||||
// Load Parameters - single default repo
|
||||
@ -1080,7 +1081,7 @@ testRun(void)
|
||||
TEST_STORAGE_GET(storageTest, strZ(stdoutFile), "", .remove = true);
|
||||
TEST_RESULT_LOG("");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("none output, with verify failures");
|
||||
|
||||
hrnCfgArgRawZ(argList, cfgOptOutput, "none");
|
||||
@ -1095,7 +1096,7 @@ testRun(void)
|
||||
" checksum invalid: 1, size invalid: 1", "verify none output");
|
||||
TEST_RESULT_LOG("");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("valid info files - various archive/backup errors");
|
||||
|
||||
// Load Parameters - single non-default repo
|
||||
@ -1166,34 +1167,33 @@ testRun(void)
|
||||
|
||||
// Create a manifest for the dependent that has references
|
||||
manifestContent = strNewFmt(
|
||||
"[backup]\n"
|
||||
"backup-label=\"20181119-152900F_20181119-152909D\"\n"
|
||||
"backup-timestamp-copy-start=0\n"
|
||||
"backup-timestamp-start=0\n"
|
||||
"backup-timestamp-stop=0\n"
|
||||
"backup-type=\"diff\"\n"
|
||||
"\n"
|
||||
"[backup:db]\n"
|
||||
TEST_BACKUP_DB2_11
|
||||
TEST_MANIFEST_OPTION_ALL
|
||||
TEST_MANIFEST_TARGET
|
||||
TEST_MANIFEST_DB
|
||||
"\n"
|
||||
"[target:file]\n"
|
||||
"pg_data/PG_VERSION={\"checksum\":\"184473f470864e067ee3a22e64b47b0a1c356f29\","
|
||||
"\"reference\":\"20181119-152900F\",\"size\":4,\"timestamp\":1565282114}\n"
|
||||
"pg_data/testfile={\"checksum\":\"%s\",\"reference\":\"20181119-152900F\",\"size\":7,\"timestamp\":1565282114}\n"
|
||||
"pg_data/testfile2={\"checksum\":\"%s\",\"size\":7,\"timestamp\":1565282114}\n"
|
||||
"pg_data/repochk={\"checksum\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"rck\":\"%s\",\"repo-size\":7"
|
||||
",\"size\":3,\"timestamp\":1565282114}\n"
|
||||
"pg_data/testmissing="
|
||||
"{\"checksum\":\"123473f470864e067ee3a22e64b47b0a1c356abc\",\"size\":7,\"timestamp\":1565282114}\n"
|
||||
"pg_data/testother={\"checksum\":\"%s\",\"reference\":\"UNPROCESSEDBACKUP\",\"size\":7,\"timestamp\":1565282114}\n"
|
||||
TEST_MANIFEST_FILE_DEFAULT
|
||||
TEST_MANIFEST_LINK
|
||||
TEST_MANIFEST_LINK_DEFAULT
|
||||
TEST_MANIFEST_PATH
|
||||
TEST_MANIFEST_PATH_DEFAULT,
|
||||
"[backup]\n"
|
||||
"backup-label=\"20181119-152900F_20181119-152909D\"\n"
|
||||
"backup-timestamp-copy-start=0\n"
|
||||
"backup-timestamp-start=0\n"
|
||||
"backup-timestamp-stop=0\n"
|
||||
"backup-type=\"diff\"\n"
|
||||
"\n"
|
||||
"[backup:db]\n"
|
||||
TEST_BACKUP_DB2_11
|
||||
TEST_MANIFEST_OPTION_ALL
|
||||
TEST_MANIFEST_TARGET
|
||||
TEST_MANIFEST_DB
|
||||
"\n"
|
||||
"[target:file]\n"
|
||||
"pg_data/PG_VERSION={\"checksum\":\"184473f470864e067ee3a22e64b47b0a1c356f29\""
|
||||
",\"reference\":\"20181119-152900F\",\"size\":4,\"timestamp\":1565282114}\n"
|
||||
"pg_data/testfile={\"checksum\":\"%s\",\"reference\":\"20181119-152900F\",\"size\":7,\"timestamp\":1565282114}\n"
|
||||
"pg_data/testfile2={\"checksum\":\"%s\",\"size\":7,\"timestamp\":1565282114}\n"
|
||||
"pg_data/repochk={\"checksum\":\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"rck\":\"%s\",\"repo-size\":7"
|
||||
",\"size\":3,\"timestamp\":1565282114}\n"
|
||||
"pg_data/testmissing={\"checksum\":\"123473f470864e067ee3a22e64b47b0a1c356abc\",\"size\":7,\"timestamp\":1565282114}\n"
|
||||
"pg_data/testother={\"checksum\":\"%s\",\"reference\":\"UNPROCESSEDBACKUP\",\"size\":7,\"timestamp\":1565282114}\n"
|
||||
TEST_MANIFEST_FILE_DEFAULT
|
||||
TEST_MANIFEST_LINK
|
||||
TEST_MANIFEST_LINK_DEFAULT
|
||||
TEST_MANIFEST_PATH
|
||||
TEST_MANIFEST_PATH_DEFAULT,
|
||||
strZ(strNewEncode(encodingHex, fileChecksum)), strZ(strNewEncode(encodingHex, fileChecksum)),
|
||||
strZ(strNewEncode(encodingHex, fileChecksum)), strZ(strNewEncode(encodingHex, fileChecksum)));
|
||||
|
||||
@ -1245,51 +1245,51 @@ testRun(void)
|
||||
// Check output of verify command stored in file
|
||||
TEST_STORAGE_GET(storageTest, strZ(stdoutFile), "", .remove = true);
|
||||
TEST_RESULT_LOG(
|
||||
"P00 DETAIL: archive path '9.4-1' is empty\n"
|
||||
"P00 DETAIL: path '11-2/0000000100000000' does not contain any valid WAL to be processed\n"
|
||||
"P01 INFO: invalid checksum "
|
||||
"'11-2/0000000200000007/000000020000000700000FFD-a6e1a64f0813352bc2e97f116a1800377e17d2e4.gz'\n"
|
||||
"P01 INFO: invalid size "
|
||||
"'11-2/0000000200000007/000000020000000700000FFF-ee161f898c9012dd0c28b3fd1e7140b9cf411306'\n"
|
||||
"P01 INFO: invalid result "
|
||||
"11-2/0000000200000008/000000020000000800000003-656817043007aa2100c44c712bcb456db705dab9: [41] raised from "
|
||||
"local-1 shim protocol: unable to open file '" TEST_PATH "/repo/archive/db/"
|
||||
"11-2/0000000200000008/000000020000000800000003-656817043007aa2100c44c712bcb456db705dab9' for read:"
|
||||
" [13] Permission denied\n"
|
||||
" [FileOpenError] on retry after 0ms\n"
|
||||
"P00 DETAIL: unable to open missing file '" TEST_PATH "/repo/backup/db/20181119-152800F/backup.manifest' for read\n"
|
||||
"P00 DETAIL: unable to open missing file '" TEST_PATH "/repo/backup/db/20181119-152800F/backup.manifest.copy'"
|
||||
" for read\n"
|
||||
"P00 DETAIL: manifest missing for '20181119-152800F' - backup may have expired\n"
|
||||
"P00 DETAIL: unable to open missing file '" TEST_PATH "/repo/backup/db/20181119-152810F/backup.manifest.copy'"
|
||||
" for read\n"
|
||||
"P00 INFO: backup '20181119-152810F' manifest does not contain any target files to verify\n"
|
||||
"P01 INFO: invalid checksum '20181119-152900F/pg_data/PG_VERSION'\n"
|
||||
"P01 INFO: file missing '20181119-152900F_20181119-152909D/pg_data/testmissing'\n"
|
||||
"P00 DETAIL: unable to open missing file '" TEST_PATH "/repo/backup/db/20181119-153000F/backup.manifest' for read\n"
|
||||
"P00 INFO: backup '20181119-153000F' appears to be in progress, skipping\n"
|
||||
"P01 INFO: invalid result UNPROCESSEDBACKUP/pg_data/testother: [41] raised from local-1 shim protocol:"
|
||||
" unable to open file '" TEST_PATH "/repo/backup/db/UNPROCESSEDBACKUP/pg_data/testother' for read: [13]"
|
||||
" Permission denied\n"
|
||||
" [FileOpenError] on retry after 0ms\n"
|
||||
"P00 DETAIL: archiveId: 11-2, wal start: 000000020000000700000FFD, wal stop: 000000020000000800000000\n"
|
||||
"P00 DETAIL: archiveId: 11-2, wal start: 000000020000000800000002, wal stop: 000000020000000800000003\n"
|
||||
"P00 DETAIL: archiveId: 11-2, wal start: 000000030000000000000000, wal stop: 000000030000000000000001\n"
|
||||
"P00 INFO: stanza: db\n"
|
||||
" status: error\n"
|
||||
" archiveId: 11-2, total WAL checked: 8, total valid WAL: 5\n"
|
||||
" checksum invalid: 1, size invalid: 1, other: 1\n"
|
||||
" backup: 20181119-152800F, status: manifest missing, total files checked: 0, total valid files: 0\n"
|
||||
" backup: 20181119-152810F, status: invalid, total files checked: 0, total valid files: 0\n"
|
||||
" backup: 20181119-152900F, status: invalid, total files checked: 3, total valid files: 2\n"
|
||||
" checksum invalid: 1\n"
|
||||
" backup: 20181119-152900F_20181119-152909D, status: invalid, total files checked: 6,"
|
||||
" total valid files: 3\n"
|
||||
" missing: 1, checksum invalid: 1, other: 1");
|
||||
"P00 DETAIL: archive path '9.4-1' is empty\n"
|
||||
"P00 DETAIL: path '11-2/0000000100000000' does not contain any valid WAL to be processed\n"
|
||||
"P01 INFO: invalid checksum"
|
||||
" '11-2/0000000200000007/000000020000000700000FFD-a6e1a64f0813352bc2e97f116a1800377e17d2e4.gz'\n"
|
||||
"P01 INFO: invalid size"
|
||||
" '11-2/0000000200000007/000000020000000700000FFF-ee161f898c9012dd0c28b3fd1e7140b9cf411306'\n"
|
||||
"P01 INFO: invalid result"
|
||||
" 11-2/0000000200000008/000000020000000800000003-656817043007aa2100c44c712bcb456db705dab9: [41] raised from "
|
||||
"local-1 shim protocol: unable to open file '" TEST_PATH "/repo/archive/db"
|
||||
"/11-2/0000000200000008/000000020000000800000003-656817043007aa2100c44c712bcb456db705dab9' for read:"
|
||||
" [13] Permission denied\n"
|
||||
" [FileOpenError] on retry after 0ms\n"
|
||||
"P00 DETAIL: unable to open missing file '" TEST_PATH "/repo/backup/db/20181119-152800F/backup.manifest' for read\n"
|
||||
"P00 DETAIL: unable to open missing file '" TEST_PATH "/repo/backup/db/20181119-152800F/backup.manifest.copy'"
|
||||
" for read\n"
|
||||
"P00 DETAIL: manifest missing for '20181119-152800F' - backup may have expired\n"
|
||||
"P00 DETAIL: unable to open missing file '" TEST_PATH "/repo/backup/db/20181119-152810F/backup.manifest.copy'"
|
||||
" for read\n"
|
||||
"P00 INFO: backup '20181119-152810F' manifest does not contain any target files to verify\n"
|
||||
"P01 INFO: invalid checksum '20181119-152900F/pg_data/PG_VERSION'\n"
|
||||
"P01 INFO: file missing '20181119-152900F_20181119-152909D/pg_data/testmissing'\n"
|
||||
"P00 DETAIL: unable to open missing file '" TEST_PATH "/repo/backup/db/20181119-153000F/backup.manifest' for read\n"
|
||||
"P00 INFO: backup '20181119-153000F' appears to be in progress, skipping\n"
|
||||
"P01 INFO: invalid result UNPROCESSEDBACKUP/pg_data/testother: [41] raised from local-1 shim protocol:"
|
||||
" unable to open file '" TEST_PATH "/repo/backup/db/UNPROCESSEDBACKUP/pg_data/testother' for read: [13]"
|
||||
" Permission denied\n"
|
||||
" [FileOpenError] on retry after 0ms\n"
|
||||
"P00 DETAIL: archiveId: 11-2, wal start: 000000020000000700000FFD, wal stop: 000000020000000800000000\n"
|
||||
"P00 DETAIL: archiveId: 11-2, wal start: 000000020000000800000002, wal stop: 000000020000000800000003\n"
|
||||
"P00 DETAIL: archiveId: 11-2, wal start: 000000030000000000000000, wal stop: 000000030000000000000001\n"
|
||||
"P00 INFO: stanza: db\n"
|
||||
" status: error\n"
|
||||
" archiveId: 11-2, total WAL checked: 8, total valid WAL: 5\n"
|
||||
" checksum invalid: 1, size invalid: 1, other: 1\n"
|
||||
" backup: 20181119-152800F, status: manifest missing, total files checked: 0, total valid files: 0\n"
|
||||
" backup: 20181119-152810F, status: invalid, total files checked: 0, total valid files: 0\n"
|
||||
" backup: 20181119-152900F, status: invalid, total files checked: 3, total valid files: 2\n"
|
||||
" checksum invalid: 1\n"
|
||||
" backup: 20181119-152900F_20181119-152909D, status: invalid, total files checked: 6,"
|
||||
" total valid files: 3\n"
|
||||
" missing: 1, checksum invalid: 1, other: 1");
|
||||
|
||||
harnessLogLevelReset();
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("text output, not verbose, with verify failures");
|
||||
|
||||
hrnCfgArgRawZ(argList, cfgOptOutput, "text");
|
||||
@ -1309,22 +1309,22 @@ testRun(void)
|
||||
" backup: 20181119-152900F_20181119-152909D, status: invalid, total files checked: 6, total valid files: 3\n"
|
||||
" missing: 1, checksum invalid: 1, other: 1", "verify text output, not verbose, with verify failures");
|
||||
TEST_RESULT_LOG(
|
||||
"P01 INFO: invalid checksum "
|
||||
"'11-2/0000000200000007/000000020000000700000FFD-a6e1a64f0813352bc2e97f116a1800377e17d2e4.gz'\n"
|
||||
"P01 INFO: invalid size "
|
||||
"'11-2/0000000200000007/000000020000000700000FFF-ee161f898c9012dd0c28b3fd1e7140b9cf411306'\n"
|
||||
"P01 INFO: invalid result "
|
||||
"11-2/0000000200000008/000000020000000800000003-656817043007aa2100c44c712bcb456db705dab9: [41] raised from "
|
||||
"local-1 shim protocol: unable to open file '" TEST_PATH "/repo/archive/db/"
|
||||
"11-2/0000000200000008/000000020000000800000003-656817043007aa2100c44c712bcb456db705dab9' for read:"
|
||||
" [13] Permission denied\n"
|
||||
"P00 INFO: backup '20181119-152810F' manifest does not contain any target files to verify\n"
|
||||
"P01 INFO: invalid checksum '20181119-152900F/pg_data/PG_VERSION'\n"
|
||||
"P01 INFO: file missing '20181119-152900F_20181119-152909D/pg_data/testmissing'\n"
|
||||
"P00 INFO: backup '20181119-153000F' appears to be in progress, skipping\n"
|
||||
"P01 INFO: invalid result UNPROCESSEDBACKUP/pg_data/testother: [41] raised from local-1 shim protocol:"
|
||||
" unable to open file '" TEST_PATH "/repo/backup/db/UNPROCESSEDBACKUP/pg_data/testother' for read: [13]"
|
||||
" Permission denied");
|
||||
"P01 INFO: invalid checksum"
|
||||
" '11-2/0000000200000007/000000020000000700000FFD-a6e1a64f0813352bc2e97f116a1800377e17d2e4.gz'\n"
|
||||
"P01 INFO: invalid size"
|
||||
" '11-2/0000000200000007/000000020000000700000FFF-ee161f898c9012dd0c28b3fd1e7140b9cf411306'\n"
|
||||
"P01 INFO: invalid result"
|
||||
" 11-2/0000000200000008/000000020000000800000003-656817043007aa2100c44c712bcb456db705dab9: [41] raised from "
|
||||
"local-1 shim protocol: unable to open file '" TEST_PATH "/repo/archive/db"
|
||||
"/11-2/0000000200000008/000000020000000800000003-656817043007aa2100c44c712bcb456db705dab9' for read:"
|
||||
" [13] Permission denied\n"
|
||||
"P00 INFO: backup '20181119-152810F' manifest does not contain any target files to verify\n"
|
||||
"P01 INFO: invalid checksum '20181119-152900F/pg_data/PG_VERSION'\n"
|
||||
"P01 INFO: file missing '20181119-152900F_20181119-152909D/pg_data/testmissing'\n"
|
||||
"P00 INFO: backup '20181119-153000F' appears to be in progress, skipping\n"
|
||||
"P01 INFO: invalid result UNPROCESSEDBACKUP/pg_data/testother: [41] raised from local-1 shim protocol:"
|
||||
" unable to open file '" TEST_PATH "/repo/backup/db/UNPROCESSEDBACKUP/pg_data/testother' for read: [13]"
|
||||
" Permission denied");
|
||||
}
|
||||
|
||||
// *****************************************************************************************************************************
|
||||
@ -1354,7 +1354,7 @@ testRun(void)
|
||||
"\"db-id\":2,\"option-archive-check\":true,\"option-archive-copy\":false,\"option-backup-standby\":false," \
|
||||
"\"option-checksum-page\":true,\"option-compress\":true,\"option-hardlink\":false,\"option-online\":true}\n"
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("prior backup verification incomplete - referenced file checked");
|
||||
|
||||
HRN_INFO_PUT(
|
||||
@ -1457,7 +1457,7 @@ testRun(void)
|
||||
" total valid files: 0\n"
|
||||
" checksum invalid: 1");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("valid backup, prior backup verification complete - referenced file not checked");
|
||||
|
||||
// Set process max to 1 and add more files to check so first backup completes before second is checked
|
||||
@ -1517,24 +1517,24 @@ testRun(void)
|
||||
|
||||
// Create valid full backup and valid diff backup
|
||||
manifestContent = strNewFmt(
|
||||
TEST_MANIFEST_HEADER
|
||||
"backup-bundle=true\n"
|
||||
"\n"
|
||||
"[backup:db]\n"
|
||||
TEST_BACKUP_DB2_11
|
||||
TEST_MANIFEST_OPTION_ALL
|
||||
TEST_MANIFEST_TARGET
|
||||
TEST_MANIFEST_DB
|
||||
"\n"
|
||||
"[target:file]\n"
|
||||
"pg_data/validfile={\"bni\":1,\"bno\":3,\"checksum\":\"%s\",\"size\":%u,\"timestamp\":1565282114}\n"
|
||||
"pg_data/zerofile={\"size\":0,\"timestamp\":1565282114}\n"
|
||||
TEST_MANIFEST_FILE_DEFAULT
|
||||
TEST_MANIFEST_LINK
|
||||
TEST_MANIFEST_LINK_DEFAULT
|
||||
TEST_MANIFEST_PATH
|
||||
TEST_MANIFEST_PATH_DEFAULT,
|
||||
strZ(strNewEncode(encodingHex, fileChecksum)), (unsigned int)fileSize);
|
||||
TEST_MANIFEST_HEADER
|
||||
"backup-bundle=true\n"
|
||||
"\n"
|
||||
"[backup:db]\n"
|
||||
TEST_BACKUP_DB2_11
|
||||
TEST_MANIFEST_OPTION_ALL
|
||||
TEST_MANIFEST_TARGET
|
||||
TEST_MANIFEST_DB
|
||||
"\n"
|
||||
"[target:file]\n"
|
||||
"pg_data/validfile={\"bni\":1,\"bno\":3,\"checksum\":\"%s\",\"size\":%u,\"timestamp\":1565282114}\n"
|
||||
"pg_data/zerofile={\"size\":0,\"timestamp\":1565282114}\n"
|
||||
TEST_MANIFEST_FILE_DEFAULT
|
||||
TEST_MANIFEST_LINK
|
||||
TEST_MANIFEST_LINK_DEFAULT
|
||||
TEST_MANIFEST_PATH
|
||||
TEST_MANIFEST_PATH_DEFAULT,
|
||||
strZ(strNewEncode(encodingHex, fileChecksum)), (unsigned int)fileSize);
|
||||
|
||||
HRN_INFO_PUT(
|
||||
storageRepoWrite(), STORAGE_REPO_BACKUP "/20201119-163000F/" BACKUP_MANIFEST_FILE, strZ(manifestContent),
|
||||
@ -1585,6 +1585,7 @@ testRun(void)
|
||||
" total valid files: 0\n"
|
||||
" checksum invalid: 1");
|
||||
}
|
||||
|
||||
// *****************************************************************************************************************************
|
||||
if (testBegin("cmdVerify() verbose text"))
|
||||
{
|
||||
@ -1614,7 +1615,7 @@ testRun(void)
|
||||
"\"db-id\":2,\"option-archive-check\":true,\"option-archive-copy\":false,\"option-backup-standby\":false," \
|
||||
"\"option-checksum-page\":true,\"option-compress\":true,\"option-hardlink\":false,\"option-online\":true}\n"
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("prior backup verification incomplete - referenced file checked verbose, text output");
|
||||
|
||||
HRN_INFO_PUT(
|
||||
@ -1703,7 +1704,8 @@ testRun(void)
|
||||
dup2(stdoutSave, STDOUT_FILENO);
|
||||
|
||||
// Check output of verify command stored in file
|
||||
TEST_STORAGE_GET(storageTest, strZ(stdoutFile),
|
||||
TEST_STORAGE_GET(
|
||||
storageTest, strZ(stdoutFile),
|
||||
"stanza: db\n"
|
||||
"status: error\n"
|
||||
" archiveId: none found\n"
|
||||
@ -1729,7 +1731,7 @@ testRun(void)
|
||||
// *****************************************************************************************************************************
|
||||
if (testBegin("verifyProcess(), none output, not verbose, no failures"))
|
||||
{
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
// Load Parameters with multi-repo
|
||||
StringList *argList = strLstDup(argListBase);
|
||||
hrnCfgArgKeyRawZ(argList, cfgOptRepoPath, 4, TEST_PATH "/repo4");
|
||||
@ -1743,7 +1745,7 @@ testRun(void)
|
||||
storageRepoWrite(), INFO_ARCHIVE_PATH_FILE INFO_COPY_EXT, TEST_ARCHIVE_INFO_MULTI_HISTORY_BASE,
|
||||
.comment = "valid archive.info.copy");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("none output, not verbose, with no verify failures");
|
||||
|
||||
#define TEST_NO_CURRENT_BACKUP \
|
||||
@ -1779,7 +1781,7 @@ testRun(void)
|
||||
"P00 DETAIL: no backups exist in the repo\n"
|
||||
"P00 DETAIL: archiveId: 11-2, wal start: 000000020000000700000FFE, wal stop: 000000020000000700000FFE");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("none output, verbose, with no verify failures");
|
||||
|
||||
hrnCfgArgRawZ(argList, cfgOptVerbose, "y");
|
||||
@ -1800,7 +1802,7 @@ testRun(void)
|
||||
// *****************************************************************************************************************************
|
||||
if (testBegin("verifyProcess(), text"))
|
||||
{
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
// Load Parameters with multi-repo
|
||||
StringList *argList = strLstDup(argListBase);
|
||||
hrnCfgArgKeyRawZ(argList, cfgOptRepoPath, 4, TEST_PATH "/repo4");
|
||||
@ -1814,7 +1816,7 @@ testRun(void)
|
||||
storageRepoWrite(), INFO_ARCHIVE_PATH_FILE INFO_COPY_EXT, TEST_ARCHIVE_INFO_MULTI_HISTORY_BASE,
|
||||
.comment = "valid archive.info.copy");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("text output, not verbose, with no verify failures");
|
||||
|
||||
#define TEST_NO_CURRENT_BACKUP \
|
||||
@ -1854,7 +1856,7 @@ testRun(void)
|
||||
// *****************************************************************************************************************************
|
||||
if (testBegin("verifyProcess(), text, verbose"))
|
||||
{
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
// Load Parameters with multi-repo
|
||||
StringList *argList = strLstDup(argListBase);
|
||||
hrnCfgArgKeyRawZ(argList, cfgOptRepoPath, 4, TEST_PATH "/repo4");
|
||||
@ -1869,7 +1871,7 @@ testRun(void)
|
||||
storageRepoWrite(), INFO_ARCHIVE_PATH_FILE INFO_COPY_EXT, TEST_ARCHIVE_INFO_MULTI_HISTORY_BASE,
|
||||
.comment = "valid archive.info.copy");
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------------------------------------------------------
|
||||
TEST_TITLE("text output, verbose with no verify failures");
|
||||
|
||||
#define TEST_NO_CURRENT_BACKUP \
|
||||
|
Reference in New Issue
Block a user