1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2026-05-22 10:15:16 +02:00

Update HINT messages to conform to new standard detailed in CODING.md.

This commit is contained in:
Cynthia Shang
2019-09-14 12:21:08 -04:00
committed by David Steele
parent c5f496b903
commit 56bf9d0566
21 changed files with 50 additions and 36 deletions
+6
View File
@@ -123,6 +123,12 @@ if (condition)
} }
``` ```
#### Hints, Warnings, and Errors
Hints are to be formatted with capitalized `HINT:` followed by a space and a sentence. The sentence shall only begin with a capital letter if the first word is an acronym (e.g. TLS) or a proper name (e.g. PostgreSQL). The sentence must end with a period, question mark or exclamation point as appropriate.
Warning and errors shall be lowercase with the exceptions for proper names and acronyms and end without punctuation.
## Language Elements ## Language Elements
### Data Types ### Data Types
+8
View File
@@ -162,6 +162,14 @@ if (condition)
} }
</code-block> </code-block>
</section> </section>
<section id="hints-warnings-errors">
<title>Hints, Warnings, and Errors</title>
<p>Hints are to be formatted with capitalized <id>HINT:</id> followed by a space and a sentence. The sentence shall only begin with a capital letter if the first word is an acronym (e.g. TLS) or a proper name (e.g. PostgreSQL). The sentence must end with a period, question mark or exclamation point as appropriate.</p>
<p>Warning and errors shall be lowercase with the exceptions for proper names and acronyms and end without punctuation.</p>
</section>
</section> </section>
</section> </section>
+2 -2
View File
@@ -120,7 +120,7 @@ sub new
} }
elsif ($iResult == ERROR_CRYPTO && $strResultMessage =~ "^unable to flush") elsif ($iResult == ERROR_CRYPTO && $strResultMessage =~ "^unable to flush")
{ {
confess &log(ERROR, "unable to parse '$strArchiveInfoFile'\nHINT: Is or was the repo encrypted?", $iResult); confess &log(ERROR, "unable to parse '$strArchiveInfoFile'\nHINT: is or was the repo encrypted?", $iResult);
} }
else else
{ {
@@ -412,7 +412,7 @@ sub reconstruct
if (!storageRepo()->encryptionValid(storageRepo()->encrypted($strArchiveFilePath))) if (!storageRepo()->encryptionValid(storageRepo()->encrypted($strArchiveFilePath)))
{ {
confess &log(ERROR, "encryption incompatible for '$strArchiveFilePath'" . confess &log(ERROR, "encryption incompatible for '$strArchiveFilePath'" .
"\nHINT: Is or was the repo encrypted?", ERROR_CRYPTO); "\nHINT: is or was the repo encrypted?", ERROR_CRYPTO);
} }
# If the file is encrypted, then the passphrase from the info file is required, else getEncryptionKeySub returns undefined # If the file is encrypted, then the passphrase from the info file is required, else getEncryptionKeySub returns undefined
+1 -1
View File
@@ -165,7 +165,7 @@ sub new
} }
elsif ($iResult == ERROR_CRYPTO && $strResultMessage =~ "^unable to flush") elsif ($iResult == ERROR_CRYPTO && $strResultMessage =~ "^unable to flush")
{ {
confess &log(ERROR, "unable to parse '$strBackupInfoFile'\nHINT: Is or was the repo encrypted?", $iResult); confess &log(ERROR, "unable to parse '$strBackupInfoFile'\nHINT: is or was the repo encrypted?", $iResult);
} }
else else
{ {
+1 -1
View File
@@ -188,7 +188,7 @@ sub loadVersion
else else
{ {
confess &log(ERROR, "unable to parse '$self->{strFileName}" . ($bCopy ? INI_COPY_EXT : '') . "'" . confess &log(ERROR, "unable to parse '$self->{strFileName}" . ($bCopy ? INI_COPY_EXT : '') . "'" .
"\nHINT: Is or was the repo encrypted?", ERROR_CRYPTO); "\nHINT: is or was the repo encrypted?", ERROR_CRYPTO);
} }
return defined($self->{oContent}); return defined($self->{oContent});
+1 -1
View File
@@ -707,7 +707,7 @@ sub configValidate
" '${strDbVersion}' and " . cfgOptionName(CFGOPT_PG_PATH) . " '$self->{strDbPath}' read from" . " '${strDbVersion}' and " . cfgOptionName(CFGOPT_PG_PATH) . " '$self->{strDbPath}' read from" .
" '$self->{strDbPath}/" . DB_FILE_PGCONTROL . "'\n" . " '$self->{strDbPath}/" . DB_FILE_PGCONTROL . "'\n" .
"HINT: the " . cfgOptionName(CFGOPT_PG_PATH) . " and " . cfgOptionName(CFGOPT_PG_PORT) . "HINT: the " . cfgOptionName(CFGOPT_PG_PATH) . " and " . cfgOptionName(CFGOPT_PG_PORT) .
" settings likely reference different clusters", " settings likely reference different clusters.",
ERROR_DB_MISMATCH); ERROR_DB_MISMATCH);
} }
+1 -1
View File
@@ -251,7 +251,7 @@ walPath(const String *walFile, const String *pgPath, const String *command)
THROW_FMT( THROW_FMT(
OptionRequiredError, OptionRequiredError,
"option '" CFGOPT_PG1_PATH "' must be specified when relative wal paths are used\n" "option '" CFGOPT_PG1_PATH "' must be specified when relative wal paths are used\n"
"HINT: Is %%f passed to %s instead of %%p?\n" "HINT: is %%f passed to %s instead of %%p?\n"
"HINT: PostgreSQL may pass relative paths even with %%p depending on the environment.", "HINT: PostgreSQL may pass relative paths even with %%p depending on the environment.",
strPtr(command)); strPtr(command));
} }
+2 -2
View File
@@ -62,8 +62,8 @@ cmdCheck(void)
THROW_FMT( THROW_FMT(
ArchiveTimeoutError, ArchiveTimeoutError,
"WAL segment %s was not archived before the %" PRIu64 "ms timeout\n" "WAL segment %s was not archived before the %" PRIu64 "ms timeout\n"
"HINT: Check the archive_command to ensure that all options are correct (especially --stanza).\n" "HINT: check the archive_command to ensure that all options are correct (especially --stanza).\n"
"HINT: Check the PostgreSQL server log for errors.", "HINT: check the PostgreSQL server log for errors.",
strPtr(walSegment), archiveTimeout); strPtr(walSegment), archiveTimeout);
} }
} }
+1 -1
View File
@@ -32,7 +32,7 @@ checkDbConfig(const unsigned int pgVersion, const unsigned int dbIdx, const unsi
{ {
THROW_FMT( THROW_FMT(
DbMismatchError, "version '%s' and path '%s' queried from cluster do not match version '%s' and '%s' read from '%s/" DbMismatchError, "version '%s' and path '%s' queried from cluster do not match version '%s' and '%s' read from '%s/"
PG_PATH_GLOBAL "/" PG_FILE_PGCONTROL "'\nHINT: the %s and %s settings likely reference different clusters", PG_PATH_GLOBAL "/" PG_FILE_PGCONTROL "'\nHINT: the %s and %s settings likely reference different clusters.",
strPtr(pgVersionToStr(dbVersion)), strPtr(dbPath), strPtr(pgVersionToStr(pgVersion)), strPtr(cfgOptionStr(pgPath)), strPtr(pgVersionToStr(dbVersion)), strPtr(dbPath), strPtr(pgVersionToStr(pgVersion)), strPtr(cfgOptionStr(pgPath)),
strPtr(cfgOptionStr(pgPath)), cfgOptionName(pgPath), cfgOptionName(cfgOptPgPort + (dbIdx - 1))); strPtr(cfgOptionStr(pgPath)), cfgOptionName(pgPath), cfgOptionName(cfgOptPgPort + (dbIdx - 1)));
} }
+1 -1
View File
@@ -321,7 +321,7 @@ stanzaInfoList(const String *stanza, StringList *stanzaList)
THROW_FMT( THROW_FMT(
CryptoError, CryptoError,
"%s\n" "%s\n"
"HINT: use option --stanza if encryption settings are different for the stanza than the global settings", "HINT: use option --stanza if encryption settings are different for the stanza than the global settings.",
errorMessage()); errorMessage());
} }
TRY_END(); TRY_END();
+3 -3
View File
@@ -226,9 +226,9 @@ cfgLoadUpdateOption(void)
THROW_FMT( THROW_FMT(
OptionInvalidValueError, OptionInvalidValueError,
"'%s' is not valid for option '" CFGOPT_REPO1_S3_BUCKET "'" "'%s' is not valid for option '" CFGOPT_REPO1_S3_BUCKET "'"
"\nHINT: RFC-2818 forbids dots in wildcard matches" "\nHINT: RFC-2818 forbids dots in wildcard matches."
"\nHINT: TLS/SSL verification cannot proceed with this bucket name" "\nHINT: TLS/SSL verification cannot proceed with this bucket name."
"\nHINT: remove dots from the bucket name", "\nHINT: remove dots from the bucket name.",
strPtr(cfgOptionStr(cfgOptRepoS3Bucket))); strPtr(cfgOptionStr(cfgOptRepoS3Bucket)));
} }
+5 -5
View File
@@ -465,7 +465,7 @@ static const EmbeddedModule embeddedModule[] =
"}\n" "}\n"
"elsif ($iResult == ERROR_CRYPTO && $strResultMessage =~ \"^unable to flush\")\n" "elsif ($iResult == ERROR_CRYPTO && $strResultMessage =~ \"^unable to flush\")\n"
"{\n" "{\n"
"confess &log(ERROR, \"unable to parse '$strArchiveInfoFile'\\nHINT: Is or was the repo encrypted?\", $iResult);\n" "confess &log(ERROR, \"unable to parse '$strArchiveInfoFile'\\nHINT: is or was the repo encrypted?\", $iResult);\n"
"}\n" "}\n"
"else\n" "else\n"
"{\n" "{\n"
@@ -707,7 +707,7 @@ static const EmbeddedModule embeddedModule[] =
"if (!storageRepo()->encryptionValid(storageRepo()->encrypted($strArchiveFilePath)))\n" "if (!storageRepo()->encryptionValid(storageRepo()->encrypted($strArchiveFilePath)))\n"
"{\n" "{\n"
"confess &log(ERROR, \"encryption incompatible for '$strArchiveFilePath'\" .\n" "confess &log(ERROR, \"encryption incompatible for '$strArchiveFilePath'\" .\n"
"\"\\nHINT: Is or was the repo encrypted?\", ERROR_CRYPTO);\n" "\"\\nHINT: is or was the repo encrypted?\", ERROR_CRYPTO);\n"
"}\n" "}\n"
"\n\n" "\n\n"
"my $oFileIo = storageRepo()->openRead(\n" "my $oFileIo = storageRepo()->openRead(\n"
@@ -2449,7 +2449,7 @@ static const EmbeddedModule embeddedModule[] =
"}\n" "}\n"
"elsif ($iResult == ERROR_CRYPTO && $strResultMessage =~ \"^unable to flush\")\n" "elsif ($iResult == ERROR_CRYPTO && $strResultMessage =~ \"^unable to flush\")\n"
"{\n" "{\n"
"confess &log(ERROR, \"unable to parse '$strBackupInfoFile'\\nHINT: Is or was the repo encrypted?\", $iResult);\n" "confess &log(ERROR, \"unable to parse '$strBackupInfoFile'\\nHINT: is or was the repo encrypted?\", $iResult);\n"
"}\n" "}\n"
"else\n" "else\n"
"{\n" "{\n"
@@ -3920,7 +3920,7 @@ static const EmbeddedModule embeddedModule[] =
"else\n" "else\n"
"{\n" "{\n"
"confess &log(ERROR, \"unable to parse '$self->{strFileName}\" . ($bCopy ? INI_COPY_EXT : '') . \"'\" .\n" "confess &log(ERROR, \"unable to parse '$self->{strFileName}\" . ($bCopy ? INI_COPY_EXT : '') . \"'\" .\n"
"\"\\nHINT: Is or was the repo encrypted?\", ERROR_CRYPTO);\n" "\"\\nHINT: is or was the repo encrypted?\", ERROR_CRYPTO);\n"
"}\n" "}\n"
"\n" "\n"
"return defined($self->{oContent});\n" "return defined($self->{oContent});\n"
@@ -7344,7 +7344,7 @@ static const EmbeddedModule embeddedModule[] =
"\" '${strDbVersion}' and \" . cfgOptionName(CFGOPT_PG_PATH) . \" '$self->{strDbPath}' read from\" .\n" "\" '${strDbVersion}' and \" . cfgOptionName(CFGOPT_PG_PATH) . \" '$self->{strDbPath}' read from\" .\n"
"\" '$self->{strDbPath}/\" . DB_FILE_PGCONTROL . \"'\\n\" .\n" "\" '$self->{strDbPath}/\" . DB_FILE_PGCONTROL . \"'\\n\" .\n"
"\"HINT: the \" . cfgOptionName(CFGOPT_PG_PATH) . \" and \" . cfgOptionName(CFGOPT_PG_PORT) .\n" "\"HINT: the \" . cfgOptionName(CFGOPT_PG_PATH) . \" and \" . cfgOptionName(CFGOPT_PG_PORT) .\n"
"\" settings likely reference different clusters\",\n" "\" settings likely reference different clusters.\",\n"
"ERROR_DB_MISMATCH);\n" "ERROR_DB_MISMATCH);\n"
"}\n" "}\n"
"\n\n" "\n\n"
@@ -290,14 +290,14 @@ sub run
$self->testException(sub {new pgBackRest::Common::Ini($strTestFile)}, ERROR_CRYPTO, $self->testException(sub {new pgBackRest::Common::Ini($strTestFile)}, ERROR_CRYPTO,
"unable to parse '$strTestFileCopy'" . "unable to parse '$strTestFileCopy'" .
"\nHINT: Is or was the repo encrypted?"); "\nHINT: is or was the repo encrypted?");
# Prepend encryption Magic signature to main to simulate encryption # Prepend encryption Magic signature to main to simulate encryption
executeTest('echo "' . CIPHER_MAGIC . '$(cat ' . $strTestFile . ')" > ' . $strTestFile); executeTest('echo "' . CIPHER_MAGIC . '$(cat ' . $strTestFile . ')" > ' . $strTestFile);
$self->testException(sub {new pgBackRest::Common::Ini($strTestFile)}, ERROR_CRYPTO, $self->testException(sub {new pgBackRest::Common::Ini($strTestFile)}, ERROR_CRYPTO,
"unable to parse '$strTestFile'" . "unable to parse '$strTestFile'" .
"\nHINT: Is or was the repo encrypted?"); "\nHINT: is or was the repo encrypted?");
} }
################################################################################################################################ ################################################################################################################################
@@ -110,7 +110,7 @@ sub run
$self->testException(sub {$oArchiveInfo->reconstruct(PG_VERSION_94, $self->dbSysId(PG_VERSION_94))}, ERROR_CRYPTO, $self->testException(sub {$oArchiveInfo->reconstruct(PG_VERSION_94, $self->dbSysId(PG_VERSION_94))}, ERROR_CRYPTO,
"encryption incompatible for '$strArchiveFile'" . "encryption incompatible for '$strArchiveFile'" .
"\nHINT: Is or was the repo encrypted?"); "\nHINT: is or was the repo encrypted?");
executeTest('sudo rm ' . $strArchiveFile); executeTest('sudo rm ' . $strArchiveFile);
@@ -206,7 +206,7 @@ sub run
$self->testException(sub {new pgBackRest::Archive::Info(storageRepo()->pathGet(STORAGE_REPO_ARCHIVE))}, ERROR_CRYPTO, $self->testException(sub {new pgBackRest::Archive::Info(storageRepo()->pathGet(STORAGE_REPO_ARCHIVE))}, ERROR_CRYPTO,
"unable to parse '$strFile'" . "unable to parse '$strFile'" .
"\nHINT: Is or was the repo encrypted?"); "\nHINT: is or was the repo encrypted?");
# Remove the archive info files # Remove the archive info files
executeTest('sudo rm ' . $oArchiveInfo->{strFileName} . '*'); executeTest('sudo rm ' . $oArchiveInfo->{strFileName} . '*');
@@ -215,7 +215,7 @@ sub run
$self->testException(sub {new pgBackRest::Backup::Info(storageRepo()->pathGet(STORAGE_REPO_BACKUP))}, ERROR_CRYPTO, $self->testException(sub {new pgBackRest::Backup::Info(storageRepo()->pathGet(STORAGE_REPO_BACKUP))}, ERROR_CRYPTO,
"unable to parse '$strFile'" . "unable to parse '$strFile'" .
"\nHINT: Is or was the repo encrypted?"); "\nHINT: is or was the repo encrypted?");
# Create encrypted files, change the passphrase and attempt to load - ensure flush error returned as parse error # Create encrypted files, change the passphrase and attempt to load - ensure flush error returned as parse error
#--------------------------------------------------------------------------------------------------------------------------- #---------------------------------------------------------------------------------------------------------------------------
@@ -255,7 +255,7 @@ sub run
$self->testException(sub {new pgBackRest::Backup::Info(storageRepo()->pathGet(STORAGE_REPO_BACKUP))}, ERROR_CRYPTO, $self->testException(sub {new pgBackRest::Backup::Info(storageRepo()->pathGet(STORAGE_REPO_BACKUP))}, ERROR_CRYPTO,
"unable to parse '" . $oBackupInfo->{strFileName} . "'" . "unable to parse '" . $oBackupInfo->{strFileName} . "'" .
"\nHINT: Is or was the repo encrypted?"); "\nHINT: is or was the repo encrypted?");
} }
} }
+1 -1
View File
@@ -182,7 +182,7 @@ testRun(void)
TEST_ERROR( TEST_ERROR(
walPath(strNew("relative/path"), NULL, strNew("test")), OptionRequiredError, walPath(strNew("relative/path"), NULL, strNew("test")), OptionRequiredError,
"option 'pg1-path' must be specified when relative wal paths are used\n" "option 'pg1-path' must be specified when relative wal paths are used\n"
"HINT: Is %f passed to test instead of %p?\n" "HINT: is %f passed to test instead of %p?\n"
"HINT: PostgreSQL may pass relative paths even with %p depending on the environment."); "HINT: PostgreSQL may pass relative paths even with %p depending on the environment.");
} }
+1 -1
View File
@@ -195,7 +195,7 @@ testRun(void)
TEST_ERROR( TEST_ERROR(
cmdArchivePush(), OptionRequiredError, cmdArchivePush(), OptionRequiredError,
"option 'pg1-path' must be specified when relative wal paths are used" "option 'pg1-path' must be specified when relative wal paths are used"
"\nHINT: Is %f passed to archive-push instead of %p?" "\nHINT: is %f passed to archive-push instead of %p?"
"\nHINT: PostgreSQL may pass relative paths even with %p depending on the environment."); "\nHINT: PostgreSQL may pass relative paths even with %p depending on the environment.");
// Create pg_control and archive.info // Create pg_control and archive.info
+4 -4
View File
@@ -72,8 +72,8 @@ testRun(void)
TEST_ERROR( TEST_ERROR(
cmdCheck(), ArchiveTimeoutError, cmdCheck(), ArchiveTimeoutError,
"WAL segment 000000010000000100000001 was not archived before the 500ms timeout\n" "WAL segment 000000010000000100000001 was not archived before the 500ms timeout\n"
"HINT: Check the archive_command to ensure that all options are correct (especially --stanza).\n" "HINT: check the archive_command to ensure that all options are correct (especially --stanza).\n"
"HINT: Check the PostgreSQL server log for errors."); "HINT: check the PostgreSQL server log for errors.");
// Create WAL segment // Create WAL segment
Buffer *buffer = bufNew(16 * 1024 * 1024); Buffer *buffer = bufNew(16 * 1024 * 1024);
@@ -145,7 +145,7 @@ testRun(void)
checkDbConfig(PG_VERSION_92, 1, PG_VERSION_94, pg1Path), checkDbConfig(PG_VERSION_92, 1, PG_VERSION_94, pg1Path),
DbMismatchError, "version '%s' and path '%s' queried from cluster do not match version '%s' and '%s'" DbMismatchError, "version '%s' and path '%s' queried from cluster do not match version '%s' and '%s'"
" read from '%s/" PG_PATH_GLOBAL "/" PG_FILE_PGCONTROL "'\n" " read from '%s/" PG_PATH_GLOBAL "/" PG_FILE_PGCONTROL "'\n"
"HINT: the pg1-path and pg1-port settings likely reference different clusters", "HINT: the pg1-path and pg1-port settings likely reference different clusters.",
strPtr(pgVersionToStr(PG_VERSION_94)), strPtr(pg1Path), strPtr(pgVersionToStr(PG_VERSION_92)), strPtr(pg1Path), strPtr(pgVersionToStr(PG_VERSION_94)), strPtr(pg1Path), strPtr(pgVersionToStr(PG_VERSION_92)), strPtr(pg1Path),
strPtr(pg1Path)); strPtr(pg1Path));
@@ -154,7 +154,7 @@ testRun(void)
checkDbConfig(PG_VERSION_92, 1, PG_VERSION_92, strNew("bogus/path")), checkDbConfig(PG_VERSION_92, 1, PG_VERSION_92, strNew("bogus/path")),
DbMismatchError, "version '%s' and path '%s' queried from cluster do not match version '%s' and '%s'" DbMismatchError, "version '%s' and path '%s' queried from cluster do not match version '%s' and '%s'"
" read from '%s/" PG_PATH_GLOBAL "/" PG_FILE_PGCONTROL "'\n" " read from '%s/" PG_PATH_GLOBAL "/" PG_FILE_PGCONTROL "'\n"
"HINT: the pg1-path and pg1-port settings likely reference different clusters", "HINT: the pg1-path and pg1-port settings likely reference different clusters.",
strPtr(pgVersionToStr(PG_VERSION_92)), "bogus/path", strPtr(pgVersionToStr(PG_VERSION_92)), strPtr(pg1Path), strPtr(pgVersionToStr(PG_VERSION_92)), "bogus/path", strPtr(pgVersionToStr(PG_VERSION_92)), strPtr(pg1Path),
strPtr(pg1Path)); strPtr(pg1Path));
} }
+1 -1
View File
@@ -745,7 +745,7 @@ testRun(void)
"FileMissingError: " STORAGE_ERROR_READ_MISSING "\n" "FileMissingError: " STORAGE_ERROR_READ_MISSING "\n"
"HINT: backup.info cannot be opened and is required to perform a backup.\n" "HINT: backup.info cannot be opened and is required to perform a backup.\n"
"HINT: has a stanza-create been performed?\n" "HINT: has a stanza-create been performed?\n"
"HINT: use option --stanza if encryption settings are different for the stanza than the global settings", "HINT: use option --stanza if encryption settings are different for the stanza than the global settings.",
strPtr(backupStanza2Path), strPtr(backupStanza2Path), strPtr(strNewFmt("%s/backup.info.copy", strPtr(backupStanza2Path), strPtr(backupStanza2Path), strPtr(strNewFmt("%s/backup.info.copy",
strPtr(backupStanza2Path)))); strPtr(backupStanza2Path))));
} }
+2 -2
View File
@@ -491,7 +491,7 @@ testRun(void)
TEST_ERROR_FMT( TEST_ERROR_FMT(
pgValidate(), DbMismatchError, "version '%s' and path '%s' queried from cluster do not match version '%s' and '%s'" pgValidate(), DbMismatchError, "version '%s' and path '%s' queried from cluster do not match version '%s' and '%s'"
" read from '%s/" PG_PATH_GLOBAL "/" PG_FILE_PGCONTROL "'\n" " read from '%s/" PG_PATH_GLOBAL "/" PG_FILE_PGCONTROL "'\n"
"HINT: the pg1-path and pg1-port settings likely reference different clusters", "HINT: the pg1-path and pg1-port settings likely reference different clusters.",
strPtr(pgVersionToStr(PG_VERSION_92)), strPtr(pg1Path), strPtr(pgVersionToStr(PG_VERSION_91)), strPtr(pg1Path), strPtr(pgVersionToStr(PG_VERSION_92)), strPtr(pg1Path), strPtr(pgVersionToStr(PG_VERSION_91)), strPtr(pg1Path),
strPtr(pg1Path)); strPtr(pg1Path));
@@ -512,7 +512,7 @@ testRun(void)
TEST_ERROR_FMT( TEST_ERROR_FMT(
pgValidate(), DbMismatchError, "version '%s' and path '%s' queried from cluster do not match version '%s' and '%s'" pgValidate(), DbMismatchError, "version '%s' and path '%s' queried from cluster do not match version '%s' and '%s'"
" read from '%s/" PG_PATH_GLOBAL "/" PG_FILE_PGCONTROL " read from '%s/" PG_PATH_GLOBAL "/" PG_FILE_PGCONTROL
"'\nHINT: the pg1-path and pg1-port settings likely reference different clusters", "'\nHINT: the pg1-path and pg1-port settings likely reference different clusters.",
strPtr(pgVersionToStr(PG_VERSION_92)), strPtr(strNewFmt("%s/pg2", testPath())), strPtr(pgVersionToStr(PG_VERSION_92)), strPtr(pgVersionToStr(PG_VERSION_92)), strPtr(strNewFmt("%s/pg2", testPath())), strPtr(pgVersionToStr(PG_VERSION_92)),
strPtr(pg1Path), strPtr(pg1Path)); strPtr(pg1Path), strPtr(pg1Path));
+3 -3
View File
@@ -280,9 +280,9 @@ testRun(void)
TEST_ERROR( TEST_ERROR(
harnessCfgLoad(strLstSize(argList), strLstPtr(argList)), OptionInvalidValueError, harnessCfgLoad(strLstSize(argList), strLstPtr(argList)), OptionInvalidValueError,
"'bogus.bucket' is not valid for option 'repo1-s3-bucket'" "'bogus.bucket' is not valid for option 'repo1-s3-bucket'"
"\nHINT: RFC-2818 forbids dots in wildcard matches" "\nHINT: RFC-2818 forbids dots in wildcard matches."
"\nHINT: TLS/SSL verification cannot proceed with this bucket name" "\nHINT: TLS/SSL verification cannot proceed with this bucket name."
"\nHINT: remove dots from the bucket name"); "\nHINT: remove dots from the bucket name.");
// Invalid bucket name with verification disabled succeeds // Invalid bucket name with verification disabled succeeds
argList = strLstNew(); argList = strLstNew();