diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 708081bd4..44ac20448 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -303,7 +303,7 @@ strLstAdd(argList, strNewFmt("--repo-path=%s/", strPtr(repoPath))); // add t strLstAddZ(argList, "info"); // add the command harnessCfgLoad(cfgCmdExpire, argList); // load the command and option list into the test harness -TEST_RESULT_STR(strPtr(infoRender()), "No stanzas exist in the repository.\n", "text - no stanzas"); // run the test +TEST_RESULT_STR_Z(infoRender(), "No stanzas exist in the repository.\n", "text - no stanzas"); // run the test ``` Tests are run via macros. All test macros expect the first parameter to be the function to call that is being tested. With the exception of TEST_RESULT_VOID, the second parameter is the expected result, and with the exception of TEST_ERROR, the third parameter is a short description of the test. The most common macros are: diff --git a/doc/xml/contributing.xml b/doc/xml/contributing.xml index 9650ea867..2fc6f84db 100644 --- a/doc/xml/contributing.xml +++ b/doc/xml/contributing.xml @@ -338,7 +338,7 @@ strLstAdd(argList, strNewFmt("--repo-path=%s/", strPtr(repoPath))); // add t strLstAddZ(argList, "info"); // add the command harnessCfgLoad(cfgCmdExpire, argList); // load the command and option list into the test harness -TEST_RESULT_STR(strPtr(infoRender()), "No stanzas exist in the repository.\n", "text - no stanzas"); // run the test +TEST_RESULT_STR_Z(infoRender(), "No stanzas exist in the repository.\n", "text - no stanzas"); // run the test

Tests are run via macros. All test macros expect the first parameter to be the function to call that is being tested. With the exception of TEST_RESULT_VOID, the second parameter is the expected result, and with the exception of TEST_ERROR, the third parameter is a short description of the test. The most common macros are:

diff --git a/test/src/common/harnessTest.h b/test/src/common/harnessTest.h index ba06eba52..5b54fd2ae 100644 --- a/test/src/common/harnessTest.h +++ b/test/src/common/harnessTest.h @@ -333,17 +333,19 @@ Macros to ease the use of common data types #define TEST_RESULT_SIZE_NE(statement, resultExpected, ...) \ TEST_RESULT_SIZE_PARAM(statement, resultExpected, !=, __VA_ARGS__); -#define TEST_RESULT_STR_PARAM(statement, resultExpected, typeOp, ...) \ +#define TEST_RESULT_Z_PARAM(statement, resultExpected, typeOp, ...) \ TEST_RESULT(statement, resultExpected, char *, "%s", TEST_TYPE_FORMAT_PTR, typeOp, TEST_TYPE_COMPARE_STR, __VA_ARGS__); -#define TEST_RESULT_STR(statement, resultExpected, ...) \ - TEST_RESULT_STR_PARAM(statement, resultExpected, ==, __VA_ARGS__); -#define TEST_RESULT_STR_NE(statement, resultExpected, ...) \ - TEST_RESULT_STR_PARAM(statement, resultExpected, !=, __VA_ARGS__); +#define TEST_RESULT_Z(statement, resultExpected, ...) \ + TEST_RESULT_Z_PARAM(statement, resultExpected, ==, __VA_ARGS__); +#define TEST_RESULT_Z_NE(statement, resultExpected, ...) \ + TEST_RESULT_Z_PARAM(statement, resultExpected, !=, __VA_ARGS__); -#define TEST_RESULT_STR_STR(statement, resultExpected, ...) \ - TEST_RESULT_STR(strPtr(statement), strPtr(resultExpected), __VA_ARGS__); +#define TEST_RESULT_STR(statement, resultExpected, ...) \ + TEST_RESULT_Z(strPtr(statement), strPtr(resultExpected), __VA_ARGS__); #define TEST_RESULT_STR_Z(statement, resultExpected, ...) \ - TEST_RESULT_STR(strPtr(statement), resultExpected, __VA_ARGS__); + TEST_RESULT_Z(strPtr(statement), resultExpected, __VA_ARGS__); +#define TEST_RESULT_Z_STR(statement, resultExpected, ...) \ + TEST_RESULT_Z(statement, strPtr(resultExpected), __VA_ARGS__); #define TEST_RESULT_U16_HEX(statement, resultExpected, ...) \ TEST_RESULT(statement, resultExpected, uint16_t, "%04X", TEST_TYPE_FORMAT, ==, TEST_TYPE_COMPARE, __VA_ARGS__); diff --git a/test/src/module/command/archiveCommonTest.c b/test/src/module/command/archiveCommonTest.c index eef30b6ae..197d831e1 100644 --- a/test/src/module/command/archiveCommonTest.c +++ b/test/src/module/command/archiveCommonTest.c @@ -119,8 +119,8 @@ testRun(void) TEST_RESULT_VOID( archiveAsyncStatusErrorWrite(archiveModeGet, walSegment, 25, strNew("error message")), "write error"); - TEST_RESULT_STR( - strPtr(strNewBuf(storageGetP(storageNewReadP(storageTest, strNew("archive/db/in/000000010000000100000001.error"))))), + TEST_RESULT_STR_Z( + strNewBuf(storageGetP(storageNewReadP(storageTest, strNew("archive/db/in/000000010000000100000001.error")))), "25\nerror message", "check error"); TEST_RESULT_VOID( storageRemoveP(storageTest, strNew("archive/db/in/000000010000000100000001.error"), .errorOnMissing = true), @@ -128,8 +128,8 @@ testRun(void) TEST_RESULT_VOID( archiveAsyncStatusErrorWrite(archiveModeGet, NULL, 25, strNew("global error message")), "write global error"); - TEST_RESULT_STR( - strPtr(strNewBuf(storageGetP(storageNewReadP(storageTest, strNew("archive/db/in/global.error"))))), + TEST_RESULT_STR_Z( + strNewBuf(storageGetP(storageNewReadP(storageTest, strNew("archive/db/in/global.error")))), "25\nglobal error message", "check global error"); TEST_RESULT_VOID( storageRemoveP(storageTest, strNew("archive/db/in/global.error"), .errorOnMissing = true), @@ -137,8 +137,8 @@ testRun(void) TEST_RESULT_VOID( archiveAsyncStatusOkWrite(archiveModeGet, walSegment, NULL), "write ok file"); - TEST_RESULT_STR( - strPtr(strNewBuf(storageGetP(storageNewReadP(storageTest, strNew("archive/db/in/000000010000000100000001.ok"))))), + TEST_RESULT_STR_Z( + strNewBuf(storageGetP(storageNewReadP(storageTest, strNew("archive/db/in/000000010000000100000001.ok")))), "", "check ok"); TEST_RESULT_VOID( storageRemoveP(storageTest, strNew("archive/db/in/000000010000000100000001.ok"), .errorOnMissing = true), @@ -146,8 +146,8 @@ testRun(void) TEST_RESULT_VOID( archiveAsyncStatusOkWrite(archiveModeGet, walSegment, strNew("WARNING")), "write ok file with warning"); - TEST_RESULT_STR( - strPtr(strNewBuf(storageGetP(storageNewReadP(storageTest, strNew("archive/db/in/000000010000000100000001.ok"))))), + TEST_RESULT_STR_Z( + strNewBuf(storageGetP(storageNewReadP(storageTest, strNew("archive/db/in/000000010000000100000001.ok")))), "0\nWARNING", "check ok warning"); TEST_RESULT_VOID( storageRemoveP(storageTest, strNew("archive/db/in/000000010000000100000001.ok"), .errorOnMissing = true), @@ -175,11 +175,10 @@ testRun(void) const String *pgPath = storagePathP(storageTest, STRDEF("pg")); storagePathCreateP(storageTest, pgPath); - TEST_RESULT_STR( - strPtr(walPath(strNew("/absolute/path"), pgPath, strNew("test"))), "/absolute/path", "absolute path"); + TEST_RESULT_STR_Z(walPath(strNew("/absolute/path"), pgPath, strNew("test")), "/absolute/path", "absolute path"); THROW_ON_SYS_ERROR(chdir(strPtr(pgPath)) != 0, PathMissingError, "unable to chdir()"); - TEST_RESULT_STR_STR( + TEST_RESULT_STR( walPath(strNew("relative/path"), pgPath, strNew("test")), strNewFmt("%s/relative/path", strPtr(pgPath)), "relative path"); @@ -190,7 +189,7 @@ testRun(void) "unable to create symlink '%s' to '%s'", strPtr(pgPath), strPtr(pgPathLink)); THROW_ON_SYS_ERROR(chdir(strPtr(pgPath)) != 0, PathMissingError, "unable to chdir()"); - TEST_RESULT_STR_STR( + TEST_RESULT_STR( walPath(strNew("relative/path"), pgPathLink, strNew("test")), strNewFmt("%s/relative/path", strPtr(pgPathLink)), "relative path"); @@ -245,8 +244,8 @@ testRun(void) HARNESS_FORK_PARENT_BEGIN() { - TEST_RESULT_STR( - strPtr(walSegmentFind(storageRepo(), strNew("9.6-2"), strNew("123456781234567812345678"), 1000)), + TEST_RESULT_STR_Z( + walSegmentFind(storageRepo(), strNew("9.6-2"), strNew("123456781234567812345678"), 1000), "123456781234567812345678-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "found segment"); } HARNESS_FORK_PARENT_END(); @@ -275,47 +274,47 @@ testRun(void) // ***************************************************************************************************************************** if (testBegin("walSegmentNext()")) { - TEST_RESULT_STR( - strPtr(walSegmentNext(strNew("000000010000000100000001"), 16 * 1024 * 1024, PG_VERSION_10)), - "000000010000000100000002", "get next"); - TEST_RESULT_STR( - strPtr(walSegmentNext(strNew("0000000100000001000000FE"), 16 * 1024 * 1024, PG_VERSION_93)), - "0000000100000001000000FF", "get next"); - TEST_RESULT_STR( - strPtr(walSegmentNext(strNew("0000009900000001000000FF"), 16 * 1024 * 1024, PG_VERSION_93)), - "000000990000000200000000", "get next overflow >= 9.3"); - TEST_RESULT_STR( - strPtr(walSegmentNext(strNew("0000000100000001000000FE"), 16 * 1024 * 1024, PG_VERSION_92)), - "000000010000000200000000", "get next overflow < 9.3"); - TEST_RESULT_STR( - strPtr(walSegmentNext(strNew("000000010000000100000003"), 1024 * 1024 * 1024, PG_VERSION_11)), - "000000010000000200000000", "get next overflow >= 11/1GB"); - TEST_RESULT_STR( - strPtr(walSegmentNext(strNew("000000010000006700000FFF"), 1024 * 1024, PG_VERSION_11)), - "000000010000006800000000", "get next overflow >= 11/1MB"); + TEST_RESULT_STR_Z( + walSegmentNext(strNew("000000010000000100000001"), 16 * 1024 * 1024, PG_VERSION_10), "000000010000000100000002", + "get next"); + TEST_RESULT_STR_Z( + walSegmentNext(strNew("0000000100000001000000FE"), 16 * 1024 * 1024, PG_VERSION_93), "0000000100000001000000FF", + "get next"); + TEST_RESULT_STR_Z( + walSegmentNext(strNew("0000009900000001000000FF"), 16 * 1024 * 1024, PG_VERSION_93), "000000990000000200000000", + "get next overflow >= 9.3"); + TEST_RESULT_STR_Z( + walSegmentNext(strNew("0000000100000001000000FE"), 16 * 1024 * 1024, PG_VERSION_92), "000000010000000200000000", + "get next overflow < 9.3"); + TEST_RESULT_STR_Z( + walSegmentNext(strNew("000000010000000100000003"), 1024 * 1024 * 1024, PG_VERSION_11), "000000010000000200000000", + "get next overflow >= 11/1GB"); + TEST_RESULT_STR_Z( + walSegmentNext(strNew("000000010000006700000FFF"), 1024 * 1024, PG_VERSION_11), "000000010000006800000000", + "get next overflow >= 11/1MB"); } // ***************************************************************************************************************************** if (testBegin("walSegmentRange()")) { - TEST_RESULT_STR( - strPtr(strLstJoin(walSegmentRange(strNew("000000010000000100000000"), 16 * 1024 * 1024, PG_VERSION_92, 1), "|")), + TEST_RESULT_STR_Z( + strLstJoin(walSegmentRange(strNew("000000010000000100000000"), 16 * 1024 * 1024, PG_VERSION_92, 1), "|"), "000000010000000100000000", "get single"); - TEST_RESULT_STR( - strPtr(strLstJoin(walSegmentRange(strNew("0000000100000001000000FD"), 16 * 1024 * 1024, PG_VERSION_92, 4), "|")), + TEST_RESULT_STR_Z( + strLstJoin(walSegmentRange(strNew("0000000100000001000000FD"), 16 * 1024 * 1024, PG_VERSION_92, 4), "|"), "0000000100000001000000FD|0000000100000001000000FE|000000010000000200000000|000000010000000200000001", "get range < 9.3"); - TEST_RESULT_STR( - strPtr(strLstJoin(walSegmentRange(strNew("0000000100000001000000FD"), 16 * 1024 * 1024, PG_VERSION_93, 4), "|")), + TEST_RESULT_STR_Z( + strLstJoin(walSegmentRange(strNew("0000000100000001000000FD"), 16 * 1024 * 1024, PG_VERSION_93, 4), "|"), "0000000100000001000000FD|0000000100000001000000FE|0000000100000001000000FF|000000010000000200000000", "get range >= 9.3"); - TEST_RESULT_STR( - strPtr(strLstJoin(walSegmentRange(strNew("000000080000000A00000000"), 1024 * 1024 * 1024, PG_VERSION_11, 8), "|")), + TEST_RESULT_STR_Z( + strLstJoin(walSegmentRange(strNew("000000080000000A00000000"), 1024 * 1024 * 1024, PG_VERSION_11, 8), "|"), "000000080000000A00000000|000000080000000A00000001|000000080000000A00000002|000000080000000A00000003|" "000000080000000B00000000|000000080000000B00000001|000000080000000B00000002|000000080000000B00000003", "get range >= 11/1GB"); - TEST_RESULT_STR( - strPtr(strLstJoin(walSegmentRange(strNew("000000070000000700000FFE"), 1024 * 1024, PG_VERSION_11, 4), "|")), + TEST_RESULT_STR_Z( + strLstJoin(walSegmentRange(strNew("000000070000000700000FFE"), 1024 * 1024, PG_VERSION_11, 4), "|"), "000000070000000700000FFE|000000070000000700000FFF|000000070000000800000000|000000070000000800000001", "get range >= 11/1MB"); } diff --git a/test/src/module/command/archiveGetTest.c b/test/src/module/command/archiveGetTest.c index 8890cfadd..e0373fddf 100644 --- a/test/src/module/command/archiveGetTest.c +++ b/test/src/module/command/archiveGetTest.c @@ -89,8 +89,8 @@ testRun(void) "repo/archive/test1/10-2/8765432187654321/876543218765432187654321-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")), NULL); - TEST_RESULT_STR( - strPtr(archiveGetCheck(strNew("876543218765432187654321"), cipherTypeNone, NULL).archiveFileActual), + TEST_RESULT_STR_Z( + archiveGetCheck(strNew("876543218765432187654321"), cipherTypeNone, NULL).archiveFileActual, "10-2/8765432187654321/876543218765432187654321-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "segment found"); // Write segment into an newer archive path @@ -102,8 +102,8 @@ testRun(void) "repo/archive/test1/10-4/8765432187654321/876543218765432187654321-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb")), NULL); - TEST_RESULT_STR( - strPtr(archiveGetCheck(strNew("876543218765432187654321"), cipherTypeNone, NULL).archiveFileActual), + TEST_RESULT_STR_Z( + archiveGetCheck(strNew("876543218765432187654321"), cipherTypeNone, NULL).archiveFileActual, "10-4/8765432187654321/876543218765432187654321-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "newer segment found"); // Get history file @@ -113,11 +113,9 @@ testRun(void) storagePutP(storageNewWriteP(storageTest, strNew("repo/archive/test1/10-4/00000009.history")), NULL); - TEST_RESULT_STR( - strPtr( - archiveGetCheck( - strNew("00000009.history"), cipherTypeNone, NULL).archiveFileActual), "10-4/00000009.history", - "history file found"); + TEST_RESULT_STR_Z( + archiveGetCheck(strNew("00000009.history"), cipherTypeNone, NULL).archiveFileActual, "10-4/00000009.history", + "history file found"); } // ***************************************************************************************************************************** @@ -234,7 +232,7 @@ testRun(void) TEST_RESULT_BOOL( archiveGetProtocol(PROTOCOL_COMMAND_ARCHIVE_GET_STR, paramList, server), true, "protocol archive get"); - TEST_RESULT_STR(strPtr(strNewBuf(serverWrite)), "{\"out\":0}\n", "check result"); + TEST_RESULT_STR_Z(strNewBuf(serverWrite), "{\"out\":0}\n", "check result"); TEST_RESULT_BOOL( storageExistsP(storageTest, strNewFmt("spool/archive/test1/in/%s", strPtr(archiveFile))), true, " check exists"); @@ -264,15 +262,15 @@ testRun(void) // ------------------------------------------------------------------------------------------------------------------------- storagePathCreateP(storageSpoolWrite(), strNew(STORAGE_SPOOL_ARCHIVE_IN)); - TEST_RESULT_STR( - strPtr(strLstJoin(queueNeed(strNew("000000010000000100000001"), false, queueSize, walSegmentSize, PG_VERSION_92), "|")), + TEST_RESULT_STR_Z( + strLstJoin(queueNeed(strNew("000000010000000100000001"), false, queueSize, walSegmentSize, PG_VERSION_92), "|"), "000000010000000100000001|000000010000000100000002", "queue size smaller than min"); // ------------------------------------------------------------------------------------------------------------------------- queueSize = (16 * 1024 * 1024) * 3; - TEST_RESULT_STR( - strPtr(strLstJoin(queueNeed(strNew("000000010000000100000001"), false, queueSize, walSegmentSize, PG_VERSION_92), "|")), + TEST_RESULT_STR_Z( + strLstJoin(queueNeed(strNew("000000010000000100000001"), false, queueSize, walSegmentSize, PG_VERSION_92), "|"), "000000010000000100000001|000000010000000100000002|000000010000000100000003", "empty queue"); // ------------------------------------------------------------------------------------------------------------------------- @@ -286,13 +284,13 @@ testRun(void) storageNewWriteP( storageSpoolWrite(), strNew(STORAGE_SPOOL_ARCHIVE_IN "/0000000100000001000000FF")), walSegmentBuffer); - TEST_RESULT_STR( - strPtr(strLstJoin(queueNeed(strNew("0000000100000001000000FE"), false, queueSize, walSegmentSize, PG_VERSION_92), "|")), + TEST_RESULT_STR_Z( + strLstJoin(queueNeed(strNew("0000000100000001000000FE"), false, queueSize, walSegmentSize, PG_VERSION_92), "|"), "000000010000000200000000|000000010000000200000001", "queue has wal < 9.3"); - TEST_RESULT_STR( - strPtr(strLstJoin(storageListP(storageSpoolWrite(), strNew(STORAGE_SPOOL_ARCHIVE_IN)), "|")), - "0000000100000001000000FE", "check queue"); + TEST_RESULT_STR_Z( + strLstJoin(storageListP(storageSpoolWrite(), strNew(STORAGE_SPOOL_ARCHIVE_IN)), "|"), "0000000100000001000000FE", + "check queue"); // ------------------------------------------------------------------------------------------------------------------------- walSegmentSize = 1024 * 1024; @@ -306,12 +304,12 @@ testRun(void) storageNewWriteP( storageSpoolWrite(), strNew(STORAGE_SPOOL_ARCHIVE_IN "/000000010000000A00000FFF")), walSegmentBuffer); - TEST_RESULT_STR( - strPtr(strLstJoin(queueNeed(strNew("000000010000000A00000FFD"), true, queueSize, walSegmentSize, PG_VERSION_11), "|")), + TEST_RESULT_STR_Z( + strLstJoin(queueNeed(strNew("000000010000000A00000FFD"), true, queueSize, walSegmentSize, PG_VERSION_11), "|"), "000000010000000B00000000|000000010000000B00000001|000000010000000B00000002", "queue has wal >= 9.3"); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_IN)), sortOrderAsc), "|")), + TEST_RESULT_STR_Z( + strLstJoin(strLstSort(storageListP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_IN)), sortOrderAsc), "|"), "000000010000000A00000FFE|000000010000000A00000FFF", "check queue"); } @@ -463,11 +461,8 @@ testRun(void) TEST_RESULT_BOOL( storageExistsP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_IN "/000000010000000100000003.error")), false, "check 000000010000000100000003.error not in spool"); - TEST_RESULT_STR( - strPtr( - strNewBuf( - storageGetP( - storageNewReadP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_IN "/global.error"))))), + TEST_RESULT_STR_Z( + strNewBuf(storageGetP(storageNewReadP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_IN "/global.error")))), "102\nlocal-1 process terminated unexpectedly [102]: unable to execute 'pgbackrest-bogus': " "[2] No such file or directory", "check global error"); diff --git a/test/src/module/command/archivePushTest.c b/test/src/module/command/archivePushTest.c index af81175b6..6617988f3 100644 --- a/test/src/module/command/archivePushTest.c +++ b/test/src/module/command/archivePushTest.c @@ -67,12 +67,12 @@ testRun(void) storagePutP(storageNewWriteP(storagePgWrite(), strNew("pg_wal/archive_status/000000010000000100000005.ready")), NULL); storagePutP(storageNewWriteP(storagePgWrite(), strNew("pg_wal/archive_status/000000010000000100000006.ready")), NULL); - TEST_RESULT_STR( - strPtr(strLstJoin(archivePushProcessList(strNewFmt("%s/db/pg_wal", testPath())), "|")), + TEST_RESULT_STR_Z( + strLstJoin(archivePushProcessList(strNewFmt("%s/db/pg_wal", testPath())), "|"), "000000010000000100000002|000000010000000100000005|000000010000000100000006", "ready list"); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_OUT)), sortOrderAsc), "|")), + TEST_RESULT_STR_Z( + strLstJoin(strLstSort(storageListP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_OUT)), sortOrderAsc), "|"), "000000010000000100000003.ok", "remaining status list"); // Test drop @@ -168,8 +168,8 @@ testRun(void) TEST_RESULT_UINT(result.pgVersion, PG_VERSION_96, "check pg version"); TEST_RESULT_UINT(result.pgSystemId, 0xFACEFACEFACEFACE, "check pg system id"); TEST_RESULT_UINT(result.pgWalSegmentSize, 16 * 1024 * 1024, "check wal segment size"); - TEST_RESULT_STR(strPtr(result.archiveId), "9.6-1", "check archive id"); - TEST_RESULT_STR(strPtr(result.archiveCipherPass), NULL, "check archive cipher pass (not set in this test)"); + TEST_RESULT_STR_Z(result.archiveId, "9.6-1", "check archive id"); + TEST_RESULT_STR_Z(result.archiveCipherPass, NULL, "check archive cipher pass (not set in this test)"); } // ***************************************************************************************************************************** @@ -351,8 +351,8 @@ testRun(void) TEST_RESULT_BOOL( archivePushProtocol(PROTOCOL_COMMAND_ARCHIVE_PUSH_STR, paramList, server), true, "protocol archive put"); - TEST_RESULT_STR( - strPtr(strNewBuf(serverWrite)), + TEST_RESULT_STR_Z( + strNewBuf(serverWrite), "{\"out\":\"WAL file '000000010000000100000002' already exists in the archive with the same checksum" "\\nHINT: this is valid in some recovery scenarios but may also indicate a problem.\"}\n", "check result"); @@ -580,12 +580,12 @@ testRun(void) TEST_ERROR(cmdArchivePushAsync(), AssertError, "no WAL files to process"); - TEST_RESULT_STR( - strPtr(strNewBuf(storageGetP(storageNewReadP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_OUT "/global.error"))))), + TEST_RESULT_STR_Z( + strNewBuf(storageGetP(storageNewReadP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_OUT "/global.error")))), "25\nno WAL files to process", "check global.error"); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_OUT)), sortOrderAsc), "|")), + TEST_RESULT_STR_Z( + strLstJoin(strLstSort(storageListP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_OUT)), sortOrderAsc), "|"), "global.error", "check status files"); // Push WAL @@ -614,8 +614,8 @@ testRun(void) TEST_64BIT() ? "f81d63dd5e258cd607534f3531bbd71442797e37" : "02d228126281e8e102b35a2737e45a0527946296")), true, "check repo for WAL 1 file"); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_OUT)), sortOrderAsc), "|")), + TEST_RESULT_STR_Z( + strLstJoin(strLstSort(storageListP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_OUT)), sortOrderAsc), "|"), "000000010000000100000001.ok|000000010000000100000002.error", "check status files"); // Create WAL 2 segment @@ -643,8 +643,8 @@ testRun(void) TEST_64BIT() ? "0aea6fa5d53500ce548b84a86bc3a29ae77fa048" : "408822a89ef44ef6740e785743bf1b870d8024a2")), true, "check repo for WAL 2 file"); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_OUT)), sortOrderAsc), "|")), + TEST_RESULT_STR_Z( + strLstJoin(strLstSort(storageListP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_OUT)), sortOrderAsc), "|"), "000000010000000100000001.ok|000000010000000100000002.ok", "check status files"); // Check that drop functionality works @@ -663,22 +663,18 @@ testRun(void) "P00 WARN: dropped WAL file '000000010000000100000001' because archive queue exceeded 16MB\n" "P00 WARN: dropped WAL file '000000010000000100000002' because archive queue exceeded 16MB"); - TEST_RESULT_STR( - strPtr( - strNewBuf( - storageGetP( - storageNewReadP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_OUT "/000000010000000100000001.ok"))))), + TEST_RESULT_STR_Z( + strNewBuf( + storageGetP(storageNewReadP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_OUT "/000000010000000100000001.ok")))), "0\ndropped WAL file '000000010000000100000001' because archive queue exceeded 16MB", "check WAL 1 warning"); - TEST_RESULT_STR( - strPtr( - strNewBuf( - storageGetP( - storageNewReadP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_OUT "/000000010000000100000002.ok"))))), + TEST_RESULT_STR_Z( + strNewBuf( + storageGetP(storageNewReadP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_OUT "/000000010000000100000002.ok")))), "0\ndropped WAL file '000000010000000100000002' because archive queue exceeded 16MB", "check WAL 2 warning"); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_OUT)), sortOrderAsc), "|")), + TEST_RESULT_STR_Z( + strLstJoin(strLstSort(storageListP(storageSpool(), strNew(STORAGE_SPOOL_ARCHIVE_OUT)), sortOrderAsc), "|"), "000000010000000100000001.ok|000000010000000100000002.ok", "check status files"); } diff --git a/test/src/module/command/backupCommonTest.c b/test/src/module/command/backupCommonTest.c index 2aa7037ea..d017dc761 100644 --- a/test/src/module/command/backupCommonTest.c +++ b/test/src/module/command/backupCommonTest.c @@ -48,7 +48,7 @@ testRun(void) // ------------------------------------------------------------------------------------------------------------------------- String *filter = backupRegExpP(.full = true); - TEST_RESULT_STR(strPtr(filter), "^[0-9]{8}\\-[0-9]{6}F$", "full backup regex with anchors"); + TEST_RESULT_STR_Z(filter, "^[0-9]{8}\\-[0-9]{6}F$", "full backup regex with anchors"); TEST_RESULT_BOOL(regExpMatchOne(filter, incr), false, " does not exactly match incr"); TEST_RESULT_BOOL(regExpMatchOne(filter, diff), false, " does not exactly match diff"); TEST_RESULT_BOOL(regExpMatchOne(filter, full), true, " exactly matches full"); @@ -56,9 +56,8 @@ testRun(void) // ------------------------------------------------------------------------------------------------------------------------- filter = backupRegExpP(.full = true, .incremental = true); - TEST_RESULT_STR( - strPtr(filter), - "^[0-9]{8}\\-[0-9]{6}F(\\_[0-9]{8}\\-[0-9]{6}I){0,1}$", "full and optional incr backup regex with anchors"); + TEST_RESULT_STR_Z( + filter, "^[0-9]{8}\\-[0-9]{6}F(\\_[0-9]{8}\\-[0-9]{6}I){0,1}$", "full and optional incr backup regex with anchors"); TEST_RESULT_BOOL(regExpMatchOne(filter, incr), true, " match incr"); TEST_RESULT_BOOL(regExpMatchOne(filter, diff), false, " does not match diff"); TEST_RESULT_BOOL(regExpMatchOne(filter, full), true, " match full"); @@ -72,9 +71,8 @@ testRun(void) // ------------------------------------------------------------------------------------------------------------------------- filter = backupRegExpP(.full = true, .differential = true); - TEST_RESULT_STR( - strPtr(filter), - "^[0-9]{8}\\-[0-9]{6}F(\\_[0-9]{8}\\-[0-9]{6}D){0,1}$", "full and optional diff backup regex with anchors"); + TEST_RESULT_STR_Z( + filter, "^[0-9]{8}\\-[0-9]{6}F(\\_[0-9]{8}\\-[0-9]{6}D){0,1}$", "full and optional diff backup regex with anchors"); TEST_RESULT_BOOL(regExpMatchOne(filter, incr), false, " does not match incr"); TEST_RESULT_BOOL(regExpMatchOne(filter, diff), true, " match diff"); TEST_RESULT_BOOL(regExpMatchOne(filter, full), true, " match full"); @@ -82,9 +80,9 @@ testRun(void) // ------------------------------------------------------------------------------------------------------------------------- filter = backupRegExpP(.full = true, .incremental = true, .differential = true); - TEST_RESULT_STR( - strPtr(filter), - "^[0-9]{8}\\-[0-9]{6}F(\\_[0-9]{8}\\-[0-9]{6}(D|I)){0,1}$", "full, optional diff and incr backup regex with anchors"); + TEST_RESULT_STR_Z( + filter, "^[0-9]{8}\\-[0-9]{6}F(\\_[0-9]{8}\\-[0-9]{6}(D|I)){0,1}$", + "full, optional diff and incr backup regex with anchors"); TEST_RESULT_BOOL(regExpMatchOne(filter, incr), true, " match incr"); TEST_RESULT_BOOL(regExpMatchOne(filter, diff), true, " match diff"); TEST_RESULT_BOOL(regExpMatchOne(filter, full), true, " match full"); @@ -92,9 +90,7 @@ testRun(void) // ------------------------------------------------------------------------------------------------------------------------- filter = backupRegExpP(.incremental = true, .differential = true, .noAnchorEnd = true); - TEST_RESULT_STR( - strPtr(filter), - "^[0-9]{8}\\-[0-9]{6}F\\_[0-9]{8}\\-[0-9]{6}(D|I)", "diff and incr backup regex with anchors"); + TEST_RESULT_STR_Z(filter, "^[0-9]{8}\\-[0-9]{6}F\\_[0-9]{8}\\-[0-9]{6}(D|I)", "diff and incr backup regex with anchors"); TEST_RESULT_BOOL(regExpMatchOne(filter, incr), true, " match incr"); TEST_RESULT_BOOL(regExpMatchOne(filter, diff), true, " match diff"); TEST_RESULT_BOOL(regExpMatchOne(filter, full), false, " does not match full"); @@ -105,9 +101,7 @@ testRun(void) // ------------------------------------------------------------------------------------------------------------------------- filter = backupRegExpP(.incremental = true); - TEST_RESULT_STR( - strPtr(filter), - "^[0-9]{8}\\-[0-9]{6}F\\_[0-9]{8}\\-[0-9]{6}I$", "incr backup regex with anchors"); + TEST_RESULT_STR_Z(filter, "^[0-9]{8}\\-[0-9]{6}F\\_[0-9]{8}\\-[0-9]{6}I$", "incr backup regex with anchors"); TEST_RESULT_BOOL(regExpMatchOne(filter, incr), true, " match incr"); TEST_RESULT_BOOL(regExpMatchOne(filter, diff), false, " does not match diff"); TEST_RESULT_BOOL(regExpMatchOne(filter, full), false, " does not match full"); @@ -115,9 +109,7 @@ testRun(void) // ------------------------------------------------------------------------------------------------------------------------- filter = backupRegExpP(.differential = true); - TEST_RESULT_STR( - strPtr(filter), - "^[0-9]{8}\\-[0-9]{6}F\\_[0-9]{8}\\-[0-9]{6}D$", "diff backup regex with anchors"); + TEST_RESULT_STR_Z(filter, "^[0-9]{8}\\-[0-9]{6}F\\_[0-9]{8}\\-[0-9]{6}D$", "diff backup regex with anchors"); TEST_RESULT_BOOL(regExpMatchOne(filter, incr), false, " does not match incr"); TEST_RESULT_BOOL(regExpMatchOne(filter, diff), true, " match diff"); TEST_RESULT_BOOL(regExpMatchOne(filter, full), false, " does not match full"); @@ -141,8 +133,8 @@ testRun(void) ioWrite(write, buffer); ioWriteClose(write); - TEST_RESULT_STR( - strPtr(jsonFromVar(ioFilterGroupResult(ioWriteFilterGroup(write), PAGE_CHECKSUM_FILTER_TYPE_STR))), + TEST_RESULT_STR_Z( + jsonFromVar(ioFilterGroupResult(ioWriteFilterGroup(write), PAGE_CHECKSUM_FILTER_TYPE_STR)), "{\"align\":true,\"valid\":true}", "all zero pages"); // Single checksum error @@ -168,8 +160,8 @@ testRun(void) ioWrite(write, buffer); ioWriteClose(write); - TEST_RESULT_STR( - strPtr(jsonFromVar(ioFilterGroupResult(ioWriteFilterGroup(write), PAGE_CHECKSUM_FILTER_TYPE_STR))), + TEST_RESULT_STR_Z( + jsonFromVar(ioFilterGroupResult(ioWriteFilterGroup(write), PAGE_CHECKSUM_FILTER_TYPE_STR)), "{\"align\":true,\"error\":[0],\"valid\":false}", "single checksum error"); // Various checksum errors some of which will be skipped because of the LSN @@ -215,8 +207,8 @@ testRun(void) ioWrite(write, buffer); ioWriteClose(write); - TEST_RESULT_STR( - strPtr(jsonFromVar(ioFilterGroupResult(ioWriteFilterGroup(write), PAGE_CHECKSUM_FILTER_TYPE_STR))), + TEST_RESULT_STR_Z( + jsonFromVar(ioFilterGroupResult(ioWriteFilterGroup(write), PAGE_CHECKSUM_FILTER_TYPE_STR)), "{\"align\":false,\"error\":[0,[2,4],[6,7]],\"valid\":false}", "various checksum errors"); // Impossibly misaligned page @@ -232,8 +224,8 @@ testRun(void) ioWrite(write, buffer); ioWriteClose(write); - TEST_RESULT_STR( - strPtr(jsonFromVar(ioFilterGroupResult(ioWriteFilterGroup(write), PAGE_CHECKSUM_FILTER_TYPE_STR))), + TEST_RESULT_STR_Z( + jsonFromVar(ioFilterGroupResult(ioWriteFilterGroup(write), PAGE_CHECKSUM_FILTER_TYPE_STR)), "{\"align\":false,\"valid\":false}", "misalignment"); // Two misaligned buffers in a row @@ -258,9 +250,9 @@ testRun(void) TEST_RESULT_UINT(backupType(strNew("incr")), backupTypeIncr, "backup type incr"); TEST_ERROR(backupType(strNew("bogus")), AssertError, "invalid backup type 'bogus'"); - TEST_RESULT_STR(strPtr(backupTypeStr(backupTypeFull)), "full", "backup type str full"); - TEST_RESULT_STR(strPtr(backupTypeStr(backupTypeDiff)), "diff", "backup type str diff"); - TEST_RESULT_STR(strPtr(backupTypeStr(backupTypeIncr)), "incr", "backup type str incr"); + TEST_RESULT_STR_Z(backupTypeStr(backupTypeFull), "full", "backup type str full"); + TEST_RESULT_STR_Z(backupTypeStr(backupTypeDiff), "diff", "backup type str diff"); + TEST_RESULT_STR_Z(backupTypeStr(backupTypeIncr), "incr", "backup type str incr"); } FUNCTION_HARNESS_RESULT_VOID(); diff --git a/test/src/module/command/backupTest.c b/test/src/module/command/backupTest.c index f3dd8f423..8196ca8e8 100644 --- a/test/src/module/command/backupTest.c +++ b/test/src/module/command/backupTest.c @@ -459,7 +459,7 @@ testRun(void) TEST_RESULT_BOOL( backupProtocol(PROTOCOL_COMMAND_BACKUP_FILE_STR, paramList, server), true, "protocol backup file - skip"); - TEST_RESULT_STR(strPtr(strNewBuf(serverWrite)), "{\"out\":[3,0,0,null,null]}\n", " check result"); + TEST_RESULT_STR_Z(strNewBuf(serverWrite), "{\"out\":[3,0,0,null,null]}\n", " check result"); bufUsedSet(serverWrite, 0); // Pg file missing - ignoreMissing=false @@ -534,8 +534,8 @@ testRun(void) TEST_RESULT_BOOL( backupProtocol(PROTOCOL_COMMAND_BACKUP_FILE_STR, paramList, server), true, "protocol backup file - pageChecksum"); - TEST_RESULT_STR( - strPtr(strNewBuf(serverWrite)), + TEST_RESULT_STR_Z( + strNewBuf(serverWrite), "{\"out\":[1,9,9,\"9bc8ab2dda60ef4beed07d1e19ce0676d5edde67\",{\"align\":false,\"valid\":false}]}\n", " check result"); bufUsedSet(serverWrite, 0); @@ -576,9 +576,8 @@ testRun(void) TEST_RESULT_BOOL( backupProtocol(PROTOCOL_COMMAND_BACKUP_FILE_STR, paramList, server), true, "protocol backup file - noop"); - TEST_RESULT_STR( - strPtr(strNewBuf(serverWrite)), "{\"out\":[4,9,0,\"9bc8ab2dda60ef4beed07d1e19ce0676d5edde67\",null]}\n", - " check result"); + TEST_RESULT_STR_Z( + strNewBuf(serverWrite), "{\"out\":[4,9,0,\"9bc8ab2dda60ef4beed07d1e19ce0676d5edde67\",null]}\n", " check result"); bufUsedSet(serverWrite, 0); // ------------------------------------------------------------------------------------------------------------------------- @@ -716,9 +715,8 @@ testRun(void) TEST_RESULT_BOOL( backupProtocol(PROTOCOL_COMMAND_BACKUP_FILE_STR, paramList, server), true, "protocol backup file - copy, compress"); - TEST_RESULT_STR( - strPtr(strNewBuf(serverWrite)), "{\"out\":[0,9,29,\"9bc8ab2dda60ef4beed07d1e19ce0676d5edde67\",null]}\n", - " check result"); + TEST_RESULT_STR_Z( + strNewBuf(serverWrite), "{\"out\":[0,9,29,\"9bc8ab2dda60ef4beed07d1e19ce0676d5edde67\",null]}\n", " check result"); bufUsedSet(serverWrite, 0); // ------------------------------------------------------------------------------------------------------------------------- @@ -835,9 +833,8 @@ testRun(void) TEST_RESULT_BOOL( backupProtocol(PROTOCOL_COMMAND_BACKUP_FILE_STR, paramList, server), true, "protocol backup file - recopy, encrypt"); - TEST_RESULT_STR( - strPtr(strNewBuf(serverWrite)), "{\"out\":[2,9,32,\"9bc8ab2dda60ef4beed07d1e19ce0676d5edde67\",null]}\n", - " check result"); + TEST_RESULT_STR_Z( + strNewBuf(serverWrite), "{\"out\":[2,9,32,\"9bc8ab2dda60ef4beed07d1e19ce0676d5edde67\",null]}\n", " check result"); bufUsedSet(serverWrite, 0); } @@ -862,7 +859,7 @@ testRun(void) storagePathCreateP(storageRepoWrite(), STRDEF(STORAGE_REPO_BACKUP "/backup.history/2019")); - TEST_RESULT_STR_STR(backupLabelCreate(backupTypeFull, NULL, timestamp), backupLabel, "create label"); + TEST_RESULT_STR(backupLabelCreate(backupTypeFull, NULL, timestamp), backupLabel, "create label"); // ------------------------------------------------------------------------------------------------------------------------- TEST_TITLE("assign label when history is older"); @@ -875,7 +872,7 @@ testRun(void) strPtr(backupLabelFormat(backupTypeFull, NULL, timestamp - 4)))), NULL); - TEST_RESULT_STR_STR(backupLabelCreate(backupTypeFull, NULL, timestamp), backupLabel, "create label"); + TEST_RESULT_STR(backupLabelCreate(backupTypeFull, NULL, timestamp), backupLabel, "create label"); // ------------------------------------------------------------------------------------------------------------------------- TEST_TITLE("assign label when backup is older"); @@ -886,7 +883,7 @@ testRun(void) strNewFmt(STORAGE_REPO_BACKUP "/%s", strPtr(backupLabelFormat(backupTypeFull, NULL, timestamp - 2)))), NULL); - TEST_RESULT_STR_STR(backupLabelCreate(backupTypeFull, NULL, timestamp), backupLabel, "create label"); + TEST_RESULT_STR(backupLabelCreate(backupTypeFull, NULL, timestamp), backupLabel, "create label"); // ------------------------------------------------------------------------------------------------------------------------- TEST_TITLE("advance time when backup is same"); diff --git a/test/src/module/command/controlTest.c b/test/src/module/command/controlTest.c index 8b4f9d491..43d206423 100644 --- a/test/src/module/command/controlTest.c +++ b/test/src/module/command/controlTest.c @@ -27,11 +27,10 @@ testRun(void) strLstAddZ(argList, "--stanza=db"); harnessCfgLoad(cfgCmdArchiveGet, argList); - TEST_RESULT_STR( - strPtr(lockStopFileName(NULL)), hrnReplaceKey("{[path-data]}/lock/all" STOP_FILE_EXT), "stop file for all stanzas"); - TEST_RESULT_STR( - strPtr(lockStopFileName(strNew("db"))), hrnReplaceKey("{[path-data]}/lock/db" STOP_FILE_EXT), - "stop file for on stanza"); + TEST_RESULT_STR_Z( + lockStopFileName(NULL), hrnReplaceKey("{[path-data]}/lock/all" STOP_FILE_EXT), "stop file for all stanzas"); + TEST_RESULT_STR_Z( + lockStopFileName(strNew("db")), hrnReplaceKey("{[path-data]}/lock/db" STOP_FILE_EXT), "stop file for on stanza"); } // ***************************************************************************************************************************** @@ -109,7 +108,7 @@ testRun(void) StringList *lockPathList = NULL; TEST_ASSIGN(lockPathList, storageListP(storageData, strNew("lock"), .errorOnMissing = true), " get file list"); TEST_RESULT_INT(strLstSize(lockPathList), 1, " only file in lock path"); - TEST_RESULT_STR(strPtr(strLstGet(lockPathList, 0)), "db" STOP_FILE_EXT, " stanza stop exists"); + TEST_RESULT_STR_Z(strLstGet(lockPathList, 0), "db" STOP_FILE_EXT, " stanza stop exists"); // ------------------------------------------------------------------------------------------------------------------------- TEST_RESULT_VOID(cmdStop(), "stanza, stop file already exists"); diff --git a/test/src/module/command/expireTest.c b/test/src/module/command/expireTest.c index 89edf9651..a8b1ad946 100644 --- a/test/src/module/command/expireTest.c +++ b/test/src/module/command/expireTest.c @@ -188,10 +188,10 @@ testRun(void) TEST_RESULT_VOID(expireBackup(infoBackup, full2, backupExpired), "expire backup with no manifest - does not error"); - TEST_RESULT_STR( - strPtr(strLstJoin(infoBackupDataLabelList(infoBackup, NULL), ", ")), - "20181119-152800F_20181119-152152D, 20181119-152800F_20181119-152155I, 20181119-152900F, " - "20181119-152900F_20181119-152600D", + TEST_RESULT_STR_Z( + strLstJoin(infoBackupDataLabelList(infoBackup, NULL), ", "), + "20181119-152800F_20181119-152152D, 20181119-152800F_20181119-152155I, 20181119-152900F" + ", 20181119-152900F_20181119-152600D", "only backups passed to expireBackup are removed from backup:current"); } @@ -220,10 +220,11 @@ testRun(void) TEST_RESULT_UINT(expireFullBackup(infoBackup), 1, "retention-full=2 - one full backup expired"); TEST_RESULT_UINT(infoBackupDataTotal(infoBackup), 5, " current backups reduced by 1 full - no dependencies"); - TEST_RESULT_STR( - strPtr(strLstJoin(infoBackupDataLabelList(infoBackup, NULL), ", ")), - "20181119-152800F, 20181119-152800F_20181119-152152D, 20181119-152800F_20181119-152155I, " - "20181119-152900F, 20181119-152900F_20181119-152600D", " remaining backups correct"); + TEST_RESULT_STR_Z( + strLstJoin(infoBackupDataLabelList(infoBackup, NULL), ", "), + "20181119-152800F, 20181119-152800F_20181119-152152D, 20181119-152800F_20181119-152155I" + ", 20181119-152900F, 20181119-152900F_20181119-152600D", + " remaining backups correct"); harnessLogResult("P00 INFO: expire full backup 20181119-152138F"); //-------------------------------------------------------------------------------------------------------------------------- @@ -233,18 +234,18 @@ testRun(void) TEST_RESULT_UINT(expireFullBackup(infoBackup), 3, "retention-full=1 - one full backup and dependencies expired"); TEST_RESULT_UINT(infoBackupDataTotal(infoBackup), 2, " current backups reduced by 1 full and dependencies"); - TEST_RESULT_STR( - strPtr(strLstJoin(infoBackupDataLabelList(infoBackup, NULL), ", ")), - "20181119-152900F, 20181119-152900F_20181119-152600D", " remaining backups correct"); + TEST_RESULT_STR_Z( + strLstJoin(infoBackupDataLabelList(infoBackup, NULL), ", "), "20181119-152900F, 20181119-152900F_20181119-152600D", + " remaining backups correct"); harnessLogResult( "P00 INFO: expire full backup set: 20181119-152800F, 20181119-152800F_20181119-152152D, " "20181119-152800F_20181119-152155I"); //-------------------------------------------------------------------------------------------------------------------------- TEST_RESULT_UINT(expireFullBackup(infoBackup), 0, "retention-full=1 - not enough backups to expire any"); - TEST_RESULT_STR( - strPtr(strLstJoin(infoBackupDataLabelList(infoBackup, NULL), ", ")), - "20181119-152900F, 20181119-152900F_20181119-152600D", " remaining backups correct"); + TEST_RESULT_STR_Z( + strLstJoin(infoBackupDataLabelList(infoBackup, NULL), ", "), "20181119-152900F, 20181119-152900F_20181119-152600D", + " remaining backups correct"); } // ***************************************************************************************************************************** @@ -278,8 +279,8 @@ testRun(void) TEST_RESULT_UINT(expireDiffBackup(infoBackup), 2, "retention-diff set - full considered in diff"); TEST_RESULT_UINT(infoBackupDataTotal(infoBackup), 4, " current backups reduced by 1 diff and dependent increment"); - TEST_RESULT_STR( - strPtr(strLstJoin(infoBackupDataLabelList(infoBackup, NULL), ", ")), + TEST_RESULT_STR_Z( + strLstJoin(infoBackupDataLabelList(infoBackup, NULL), ", "), "20181119-152138F, 20181119-152800F, 20181119-152900F, 20181119-152900F_20181119-152600D", " remaining backups correct"); harnessLogResult( @@ -338,9 +339,8 @@ testRun(void) TEST_RESULT_UINT(expireDiffBackup(infoBackup), 1, "retention-diff set - only oldest diff expired"); TEST_RESULT_UINT(infoBackupDataTotal(infoBackup), 2, " current backups reduced by one"); - TEST_RESULT_STR( - strPtr(strLstJoin(infoBackupDataLabelList(infoBackup, NULL), ", ")), - "20181119-152800F, 20181119-152800F_20181119-152155D", + TEST_RESULT_STR_Z( + strLstJoin(infoBackupDataLabelList(infoBackup, NULL), ", "), "20181119-152800F, 20181119-152800F_20181119-152155D", " remaining backups correct"); harnessLogResult( "P00 INFO: expire diff backup 20181119-152800F_20181119-152152D"); @@ -407,9 +407,10 @@ testRun(void) "P00 INFO: remove expired backup 20181119-152100F_20181119-152152D\n" "P00 INFO: remove expired backup 20181119-152100F"); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP(storageTest, backupStanzaPath), sortOrderAsc), ", ")), - "20181118-152100F_20181119-152152D.save, 20181119-152138F, backup.info, bogus", " remaining file/directories correct"); + TEST_RESULT_STR_Z( + strLstJoin(strLstSort(storageListP(storageTest, backupStanzaPath), sortOrderAsc), ", "), + "20181118-152100F_20181119-152152D.save, 20181119-152138F, backup.info, bogus", + " remaining file/directories correct"); //-------------------------------------------------------------------------------------------------------------------------- // Create backup.info without current backups @@ -432,8 +433,8 @@ testRun(void) TEST_RESULT_VOID(removeExpiredBackup(infoBackup), "remove backups - backup.info current empty"); harnessLogResult("P00 INFO: remove expired backup 20181119-152138F"); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP(storageTest, backupStanzaPath), sortOrderAsc), ", ")), + TEST_RESULT_STR_Z( + strLstJoin(strLstSort(storageListP(storageTest, backupStanzaPath), sortOrderAsc), ", "), "20181118-152100F_20181119-152152D.save, backup.info, bogus", " remaining file/directories correct"); } @@ -580,19 +581,18 @@ testRun(void) TEST_RESULT_VOID(removeExpiredArchive(infoBackup), "archive retention type = full (default), repo1-retention-archive=4"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000100000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(2, 10, "0000000100000000")), - " only 9.4-1/0000000100000000/000000010000000000000001 removed"); + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000100000000")), sortOrderAsc), ", "), + archiveExpectList(2, 10, "0000000100000000"), " only 9.4-1/0000000100000000/000000010000000000000001 removed"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000200000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(1, 10, "0000000200000000")), + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000200000000")), sortOrderAsc), ", "), + archiveExpectList(1, 10, "0000000200000000"), " none removed from 9.4-1/0000000200000000 - crossing timelines to play through PITR"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "10-2", "0000000100000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(3, 10, "0000000100000000")), + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "10-2", "0000000100000000")), sortOrderAsc), ", "), + archiveExpectList(3, 10, "0000000100000000"), " 000000010000000000000001 and 000000010000000000000002 removed from 10-2/0000000100000000"); harnessLogResult( "P00 INFO: full backup total < 4 - using oldest full backup for 9.4-1 archive retention\n" @@ -606,19 +606,19 @@ testRun(void) TEST_RESULT_VOID(removeExpiredArchive(infoBackup), "archive retention type = full (default), repo1-retention-archive=2"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000100000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(2, 2, "0000000100000000")), + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000100000000")), sortOrderAsc), ", "), + archiveExpectList(2, 2, "0000000100000000"), " only 9.4-1/0000000100000000/000000010000000000000002 remains in major wal 1"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000200000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(2, 10, "0000000200000000")), + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000200000000")), sortOrderAsc), ", "), + archiveExpectList(2, 10, "0000000200000000"), " only 9.4-1/0000000200000000/000000010000000000000001 removed from major wal 2"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "10-2", "0000000100000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(3, 10, "0000000100000000")), + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "10-2", "0000000100000000")), sortOrderAsc), ", "), + archiveExpectList(3, 10, "0000000100000000"), " none removed from 10-2/0000000100000000"); //-------------------------------------------------------------------------------------------------------------------------- @@ -629,20 +629,19 @@ testRun(void) TEST_RESULT_VOID(removeExpiredArchive(infoBackup), "archive retention type = full (default), repo1-retention-archive=1"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000100000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(2, 2, "0000000100000000")), + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000100000000")), sortOrderAsc), ", "), + archiveExpectList(2, 2, "0000000100000000"), " only 9.4-1/0000000100000000/000000010000000000000002 remains in major wal 1"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000200000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(2, 10, "0000000200000000")), + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000200000000")), sortOrderAsc), ", "), + archiveExpectList(2, 10, "0000000200000000"), " nothing removed from 9.4-1/0000000200000000 major wal 2 - each archiveId must have one backup to play through PITR"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "10-2", "0000000100000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(3, 10, "0000000100000000")), - " none removed from 10-2/0000000100000000"); + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "10-2", "0000000100000000")), sortOrderAsc), ", "), + archiveExpectList(3, 10, "0000000100000000"), " none removed from 10-2/0000000100000000"); //-------------------------------------------------------------------------------------------------------------------------- argList = strLstDup(argListAvoidWarn); @@ -665,20 +664,18 @@ testRun(void) strPtr(archiveExpectList(9, 10, "0000000200000000"))); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000100000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(2, 2, "0000000100000000")), + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000100000000")), sortOrderAsc), ", "), + archiveExpectList(2, 2, "0000000100000000"), " only 9.4-1/0000000100000000/000000010000000000000002 remains in major wal 1"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000200000000")), sortOrderAsc), ", ")), - strPtr(result), - " all in-between removed from 9.4-1/0000000200000000 major wal 2 - last backup able to play through PITR"); + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000200000000")), sortOrderAsc), ", "), + result, " all in-between removed from 9.4-1/0000000200000000 major wal 2 - last backup able to play through PITR"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "10-2", "0000000100000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(3, 10, "0000000100000000")), - " none removed from 10-2/0000000100000000"); + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "10-2", "0000000100000000")), sortOrderAsc), ", "), + archiveExpectList(3, 10, "0000000100000000"), " none removed from 10-2/0000000100000000"); //-------------------------------------------------------------------------------------------------------------------------- argList = strLstDup(argListAvoidWarn); @@ -700,20 +697,18 @@ testRun(void) strPtr(archiveExpectList(7, 10, "0000000200000000"))); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000100000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(2, 2, "0000000100000000")), + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000100000000")), sortOrderAsc), ", "), + archiveExpectList(2, 2, "0000000100000000"), " only 9.4-1/0000000100000000/000000010000000000000002 remains in major wal 1"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000200000000")), sortOrderAsc), ", ")), - strPtr(result), - " incremental and after remain in 9.4-1/0000000200000000 major wal 2"); + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000200000000")), sortOrderAsc), ", "), + result, " incremental and after remain in 9.4-1/0000000200000000 major wal 2"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "10-2", "0000000100000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(3, 10, "0000000100000000")), - " none removed from 10-2/0000000100000000"); + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "10-2", "0000000100000000")), sortOrderAsc), ", "), + archiveExpectList(3, 10, "0000000100000000"), " none removed from 10-2/0000000100000000"); //-------------------------------------------------------------------------------------------------------------------------- argList = strLstDup(argListBase); @@ -775,8 +770,8 @@ testRun(void) TEST_ASSIGN(infoBackup, infoBackupLoadFile(storageTest, backupInfoFileName, cipherTypeNone, NULL), " get backup.info"); TEST_RESULT_UINT(infoBackupDataTotal(infoBackup), 2, " backup.info updated on disk"); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(infoBackupDataLabelList(infoBackup, NULL), sortOrderAsc), ", ")), + TEST_RESULT_STR_Z( + strLstJoin(strLstSort(infoBackupDataLabelList(infoBackup, NULL), sortOrderAsc), ", "), "20181119-152900F, 20181119-152900F_20181119-152500I", " remaining current backups correct"); //-------------------------------------------------------------------------------------------------------------------------- @@ -832,10 +827,9 @@ testRun(void) TEST_RESULT_VOID( removeExpiredArchive(infoBackup), "backup selected for retention does not have archive-start so do nothing"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000100000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(1, 5, "0000000100000000")), - " nothing removed from 9.4-1/0000000100000000"); + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000100000000")), sortOrderAsc), ", "), + archiveExpectList(1, 5, "0000000100000000"), " nothing removed from 9.4-1/0000000100000000"); argList = strLstDup(argListAvoidWarn); strLstAddZ(argList, "--repo1-retention-archive=4"); @@ -845,10 +839,9 @@ testRun(void) TEST_RESULT_VOID( removeExpiredArchive(infoBackup), "full count as incr but not enough backups, retention set to first full"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000100000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(2, 5, "0000000100000000")), - " only removed archive prior to first full"); + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "9.4-1", "0000000100000000")), sortOrderAsc), ", "), + archiveExpectList(2, 5, "0000000100000000"), " only removed archive prior to first full"); harnessLogResult( "P00 INFO: full backup total < 4 - using oldest full backup for 9.4-1 archive retention"); @@ -952,15 +945,13 @@ testRun(void) "P00 INFO: expire full backup 20181119-152138F\n" "P00 INFO: remove expired backup 20181119-152138F"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "10-1", "0000000100000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(1, 7, "0000000100000000")), - " none removed from 10-1/0000000100000000"); + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "10-1", "0000000100000000")), sortOrderAsc), ", "), + archiveExpectList(1, 7, "0000000100000000"), " none removed from 10-1/0000000100000000"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "10-2", "0000000100000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(1, 7, "0000000100000000")), - " none removed from 10-2/0000000100000000"); + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "10-2", "0000000100000000")), sortOrderAsc), ", "), + archiveExpectList(1, 7, "0000000100000000"), " none removed from 10-2/0000000100000000"); // archive.info old history db system id not the same as backup.info //-------------------------------------------------------------------------------------------------------------------------- @@ -1075,14 +1066,13 @@ testRun(void) "P00 INFO: remove expired backup 20181119-152800F\n" "P00 INFO: remove expired backup 20181119-152138F"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "10-1", "0000000100000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(1, 7, "0000000100000000")), - " none removed from 10-1/0000000100000000"); + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "10-1", "0000000100000000")), sortOrderAsc), ", "), + archiveExpectList(1, 7, "0000000100000000"), " none removed from 10-1/0000000100000000"); TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP( - storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "10-2", "0000000100000000")), sortOrderAsc), ", ")), - strPtr(archiveExpectList(6, 7, "0000000100000000")), + strLstJoin(strLstSort(storageListP( + storageTest, strNewFmt("%s/%s/%s", strPtr(archiveStanzaPath), "10-2", "0000000100000000")), sortOrderAsc), ", "), + archiveExpectList(6, 7, "0000000100000000"), " all prior to 000000010000000000000006 removed from 10-2/0000000100000000"); } @@ -1095,11 +1085,10 @@ testRun(void) strLstAddZ(list, "11-10"); strLstAddZ(list, "9.6-1"); - TEST_RESULT_STR(strPtr(strLstJoin(strLstSort(list, sortOrderAsc), ", ")), "9.6-1, 10-4, 11-10", "sort ascending"); + TEST_RESULT_STR_Z(strLstJoin(strLstSort(list, sortOrderAsc), ", "), "9.6-1, 10-4, 11-10", "sort ascending"); strLstAddZ(list, "9.4-2"); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(list, sortOrderDesc), ", ")), "11-10, 10-4, 9.4-2, 9.6-1", "sort descending"); + TEST_RESULT_STR_Z(strLstJoin(strLstSort(list, sortOrderDesc), ", "), "11-10, 10-4, 9.4-2, 9.6-1", "sort descending"); } FUNCTION_HARNESS_RESULT_VOID(); diff --git a/test/src/module/command/helpTest.c b/test/src/module/command/helpTest.c index 7e5e83763..a0b661f6e 100644 --- a/test/src/module/command/helpTest.c +++ b/test/src/module/command/helpTest.c @@ -46,18 +46,17 @@ testRun(void) // ***************************************************************************************************************************** if (testBegin("helpRenderText()")) { - TEST_RESULT_STR( - strPtr(helpRenderText(strNew("this is a short sentence"), 0, false, 80)), "this is a short sentence", "one line"); + TEST_RESULT_STR_Z(helpRenderText(strNew("this is a short sentence"), 0, false, 80), "this is a short sentence", "one line"); - TEST_RESULT_STR( - strPtr(helpRenderText(strNew("this is a short sentence"), 4, false, 14)), + TEST_RESULT_STR_Z( + helpRenderText(strNew("this is a short sentence"), 4, false, 14), "this is a\n" " short\n" " sentence", "three lines, no indent first"); - TEST_RESULT_STR( - strPtr(helpRenderText(strNew("This is a short paragraph.\n\nHere is another one."), 2, true, 16)), + TEST_RESULT_STR_Z( + helpRenderText(strNew("This is a short paragraph.\n\nHere is another one."), 2, true, 16), " This is a\n" " short\n" " paragraph.\n" @@ -70,11 +69,11 @@ testRun(void) // ***************************************************************************************************************************** if (testBegin("helpRenderValue()")) { - TEST_RESULT_STR(strPtr(helpRenderValue(varNewBool(true))), "y", "boolean y"); - TEST_RESULT_STR(strPtr(helpRenderValue(varNewBool(false))), "n", "boolean n"); - TEST_RESULT_STR(strPtr(helpRenderValue(varNewStrZ("test-string"))), "test-string", "string"); - TEST_RESULT_STR(strPtr(helpRenderValue(varNewDbl(1.234))), "1.234", "double"); - TEST_RESULT_STR(strPtr(helpRenderValue(varNewInt(1234))), "1234", "int"); + TEST_RESULT_STR_Z(helpRenderValue(varNewBool(true)), "y", "boolean y"); + TEST_RESULT_STR_Z(helpRenderValue(varNewBool(false)), "n", "boolean n"); + TEST_RESULT_STR_Z(helpRenderValue(varNewStrZ("test-string")), "test-string", "string"); + TEST_RESULT_STR_Z(helpRenderValue(varNewDbl(1.234)), "1.234", "double"); + TEST_RESULT_STR_Z(helpRenderValue(varNewInt(1234)), "1234", "int"); } // ***************************************************************************************************************************** @@ -86,13 +85,13 @@ testRun(void) argList = strLstNew(); strLstAddZ(argList, "/path/to/pgbackrest"); TEST_RESULT_VOID(configParse(strLstSize(argList), strLstPtr(argList), false), "help from empty command line"); - TEST_RESULT_STR(strPtr(helpRender()), generalHelp, " check text"); + TEST_RESULT_STR_Z(helpRender(), generalHelp, " check text"); argList = strLstNew(); strLstAddZ(argList, "/path/to/pgbackrest"); strLstAddZ(argList, "help"); TEST_RESULT_VOID(configParse(strLstSize(argList), strLstPtr(argList), false), "help from help command"); - TEST_RESULT_STR(strPtr(helpRender()), generalHelp, " check text"); + TEST_RESULT_STR_Z(helpRender(), generalHelp, " check text"); // ------------------------------------------------------------------------------------------------------------------------- const char *commandHelp = strPtr(strNewFmt( @@ -109,7 +108,7 @@ testRun(void) strLstAddZ(argList, "help"); strLstAddZ(argList, "version"); TEST_RESULT_VOID(configParse(strLstSize(argList), strLstPtr(argList), false), "help for version command"); - TEST_RESULT_STR(strPtr(helpRender()), commandHelp, " check text"); + TEST_RESULT_STR_Z(helpRender(), commandHelp, " check text"); // This test is broken up into multiple strings because C99 does not require compilers to support const strings > 4095 bytes // ------------------------------------------------------------------------------------------------------------------------- @@ -235,7 +234,7 @@ testRun(void) strLstAddZ(argList, "--db-include=db2"); TEST_RESULT_VOID(configParse(strLstSize(argList), strLstPtr(argList), false), "help for restore command"); unsetenv("PGBACKREST_REPO1_CIPHER_PASS"); - TEST_RESULT_STR(strPtr(helpRender()), commandHelp, " check text"); + TEST_RESULT_STR_Z(helpRender(), commandHelp, " check text"); // ------------------------------------------------------------------------------------------------------------------------- argList = strLstNew(); @@ -280,13 +279,12 @@ testRun(void) strLstAddZ(argList, "buffer-size"); TEST_RESULT_VOID( configParse(strLstSize(argList), strLstPtr(argList), false), "help for archive-push command, buffer-size option"); - TEST_RESULT_STR(strPtr(helpRender()), strPtr(strNewFmt("%s\ndefault: 4194304\n", optionHelp)), " check text"); + TEST_RESULT_STR(helpRender(), strNewFmt("%s\ndefault: 4194304\n", optionHelp), " check text"); strLstAddZ(argList, "--buffer-size=32768"); TEST_RESULT_VOID( configParse(strLstSize(argList), strLstPtr(argList), false), "help for archive-push command, buffer-size option"); - TEST_RESULT_STR( - strPtr(helpRender()), strPtr(strNewFmt("%s\ncurrent: 32768\ndefault: 4194304\n", optionHelp)), " check text"); + TEST_RESULT_STR(helpRender(), strNewFmt("%s\ncurrent: 32768\ndefault: 4194304\n", optionHelp), " check text"); // ------------------------------------------------------------------------------------------------------------------------- optionHelp = strPtr(strNewFmt( @@ -304,14 +302,13 @@ testRun(void) strLstAddZ(argList, "repo1-s3-host"); TEST_RESULT_VOID( configParse(strLstSize(argList), strLstPtr(argList), false), "help for archive-push command, repo1-s3-host option"); - TEST_RESULT_STR(strPtr(helpRender()), optionHelp, " check text"); + TEST_RESULT_STR_Z(helpRender(), optionHelp, " check text"); strLstAddZ(argList, "--repo1-type=s3"); strLstAddZ(argList, "--repo1-s3-host=s3-host"); TEST_RESULT_VOID( configParse(strLstSize(argList), strLstPtr(argList), false), "help for archive-push command, repo1-s3-host option"); - TEST_RESULT_STR( - strPtr(helpRender()), strPtr(strNewFmt("%s\ncurrent: s3-host\n", optionHelp)), " check text"); + TEST_RESULT_STR(helpRender(), strNewFmt("%s\ncurrent: s3-host\n", optionHelp), " check text"); // ------------------------------------------------------------------------------------------------------------------------- optionHelp = strPtr(strNewFmt( @@ -334,7 +331,7 @@ testRun(void) TEST_RESULT_VOID( configParse(strLstSize(argList), strLstPtr(argList), false), "help for archive-push command, repo1-s3-host option"); unsetenv("PGBACKREST_REPO1_CIPHER_PASS"); - TEST_RESULT_STR(strPtr(helpRender()), optionHelp, " check text"); + TEST_RESULT_STR_Z(helpRender(), optionHelp, " check text"); // ------------------------------------------------------------------------------------------------------------------------- optionHelp = strPtr(strNewFmt( @@ -359,7 +356,7 @@ testRun(void) strLstAddZ(argList, "repo-hardlink"); TEST_RESULT_VOID( configParse(strLstSize(argList), strLstPtr(argList), false), "help for backup command, repo-hardlink option"); - TEST_RESULT_STR(strPtr(helpRender()), optionHelp, " check text"); + TEST_RESULT_STR_Z(helpRender(), optionHelp, " check text"); // Check admonition // ------------------------------------------------------------------------------------------------------------------------- @@ -392,7 +389,7 @@ testRun(void) strLstAddZ(argList, "repo-retention-archive"); TEST_RESULT_VOID( configParse(strLstSize(argList), strLstPtr(argList), false), "help for backup command, repo-retention-archive option"); - TEST_RESULT_STR(strPtr(helpRender()), optionHelp, " check admonition text"); + TEST_RESULT_STR_Z(helpRender(), optionHelp, " check admonition text"); } // ***************************************************************************************************************************** @@ -416,7 +413,7 @@ testRun(void) Storage *storage = storagePosixNew( strNew(testPath()), STORAGE_MODE_FILE_DEFAULT, STORAGE_MODE_PATH_DEFAULT, false, NULL); - TEST_RESULT_STR(strPtr(strNewBuf(storageGetP(storageNewReadP(storage, stdoutFile)))), generalHelp, " check text"); + TEST_RESULT_STR_Z(strNewBuf(storageGetP(storageNewReadP(storage, stdoutFile))), generalHelp, " check text"); } FUNCTION_HARNESS_RESULT_VOID(); diff --git a/test/src/module/command/infoTest.c b/test/src/module/command/infoTest.c index 6b93e38e7..908de10ed 100644 --- a/test/src/module/command/infoTest.c +++ b/test/src/module/command/infoTest.c @@ -36,10 +36,10 @@ testRun(void) // No stanzas have been created //-------------------------------------------------------------------------------------------------------------------------- - TEST_RESULT_STR(strPtr(infoRender()), "[]", "json - repo but no stanzas"); + TEST_RESULT_STR_Z(infoRender(), "[]", "json - repo but no stanzas"); harnessCfgLoad(cfgCmdInfo, argListText); - TEST_RESULT_STR(strPtr(infoRender()), "No stanzas exist in the repository.\n", "text - no stanzas"); + TEST_RESULT_STR_Z(infoRender(), "No stanzas exist in the repository.\n", "text - no stanzas"); storagePathCreateP(storageLocalWrite(), archivePath); storagePathCreateP(storageLocalWrite(), backupPath); @@ -48,13 +48,16 @@ testRun(void) //-------------------------------------------------------------------------------------------------------------------------- TEST_RESULT_VOID(storagePathCreateP(storageLocalWrite(), backupStanza1Path), "backup stanza1 directory"); TEST_RESULT_VOID(storagePathCreateP(storageLocalWrite(), archiveStanza1Path), "archive stanza1 directory"); - TEST_RESULT_STR(strPtr(infoRender()), + TEST_RESULT_STR_Z( + infoRender(), "stanza: stanza1\n" " status: error (missing stanza data)\n" - " cipher: none\n", "text - missing stanza data"); + " cipher: none\n", + "text - missing stanza data"); harnessCfgLoad(cfgCmdInfo, argList); - TEST_RESULT_STR(strPtr(infoRender()), + TEST_RESULT_STR_Z( + infoRender(), "[" "{" "\"archive\":[]," @@ -67,7 +70,8 @@ testRun(void) "\"message\":\"missing stanza data\"" "}" "}" - "]", "json - missing stanza data"); + "]", + "json - missing stanza data"); // backup.info file exists, but archive.info does not //-------------------------------------------------------------------------------------------------------------------------- @@ -128,7 +132,8 @@ testRun(void) // archive section will cross reference backup db-id 2 to archive db-id 3 but db section will only use the db-ids from // backup.info - TEST_RESULT_STR(strPtr(infoRender()), + TEST_RESULT_STR_Z( + infoRender(), "[" "{" "\"archive\":[" @@ -161,10 +166,12 @@ testRun(void) "\"message\":\"no valid backups\"" "}" "}" - "]", "json - single stanza, no valid backups"); + "]", + "json - single stanza, no valid backups"); harnessCfgLoad(cfgCmdInfo, argListText); - TEST_RESULT_STR(strPtr(infoRender()), + TEST_RESULT_STR_Z( + infoRender(), "stanza: stanza1\n" " status: error (no valid backups)\n" " cipher: aes-256-cbc\n" @@ -186,7 +193,8 @@ testRun(void) strLstAddZ(argList2, "--stanza=stanza1"); harnessCfgLoad(cfgCmdInfo, argList2); - TEST_RESULT_STR(strPtr(infoRender()), + TEST_RESULT_STR_Z( + infoRender(), "stanza: stanza1\n" " status: error (no valid backups)\n" " cipher: aes-256-cbc\n" @@ -249,7 +257,8 @@ testRun(void) storagePutP(storageNewWriteP(storageLocalWrite(), strNewFmt("%s/backup.info", strPtr(backupStanza1Path))), harnessInfoChecksum(content)), "put backup info to file"); - TEST_RESULT_STR(strPtr(infoRender()), + TEST_RESULT_STR_Z( + infoRender(), "[" "{" "\"archive\":[" @@ -325,10 +334,12 @@ testRun(void) "\"message\":\"ok\"" "}" "}" - "]", "json - single stanza, valid backup, no priors, no archives in latest DB"); + "]", + "json - single stanza, valid backup, no priors, no archives in latest DB"); harnessCfgLoad(cfgCmdInfo, argListText); - TEST_RESULT_STR(strPtr(infoRender()), + TEST_RESULT_STR_Z( + infoRender(), "stanza: stanza1\n" " status: ok\n" " cipher: none\n" @@ -343,8 +354,8 @@ testRun(void) " repository size: 3MB, repository backup size: 3KB\n" "\n" " db (current)\n" - " wal archive min/max (9.4-3): none present\n" - ,"text - single stanza, valid backup, no priors, no archives in latest DB"); + " wal archive min/max (9.4-3): none present\n", + "text - single stanza, valid backup, no priors, no archives in latest DB"); // backup.info/archive.info files exist, backups exist, archives exist //-------------------------------------------------------------------------------------------------------------------------- @@ -574,7 +585,8 @@ testRun(void) harnessInfoChecksum(content)), "put backup info to file - stanza2"); harnessCfgLoad(cfgCmdInfo, argList); - TEST_RESULT_STR(strPtr(infoRender()), + TEST_RESULT_STR_Z( + infoRender(), "[" "{" "\"archive\":[" @@ -734,10 +746,12 @@ testRun(void) "\"message\":\"no valid backups\"" "}" "}" - "]", "json - multiple stanzas, one with valid backups, archives in latest DB"); + "]", + "json - multiple stanzas, one with valid backups, archives in latest DB"); harnessCfgLoad(cfgCmdInfo, argListText); - TEST_RESULT_STR(strPtr(infoRender()), + TEST_RESULT_STR_Z( + infoRender(), "stanza: stanza1\n" " status: ok\n" " cipher: none\n" @@ -773,8 +787,8 @@ testRun(void) " cipher: none\n" "\n" " db (current)\n" - " wal archive min/max (9.4-1): none present\n" - , "text - multiple stanzas, one with valid backups, archives in latest DB"); + " wal archive min/max (9.4-1): none present\n", + "text - multiple stanzas, one with valid backups, archives in latest DB"); // Backup set requested //-------------------------------------------------------------------------------------------------------------------------- @@ -783,8 +797,8 @@ testRun(void) strLstAddZ(argList2, "--set=20181119-152138F_20181119-152152I"); harnessCfgLoad(cfgCmdInfo, argList2); - TEST_RESULT_STR(strPtr(infoRender()), - + TEST_RESULT_STR_Z( + infoRender(), "stanza: stanza1\n" " status: ok\n" " cipher: none\n" @@ -804,8 +818,8 @@ testRun(void) " pg_stat => ../pg_stat\n" " tablespaces:\n" " ts1 (1) => /tblspc/ts1\n" - " ts12 (12) => /tblspc/ts12\n" - , "text - backup set requested"); + " ts12 (12) => /tblspc/ts12\n", + "text - backup set requested"); strLstAddZ(argList2, "--output=json"); harnessCfgLoad(cfgCmdInfo, argList2); @@ -844,7 +858,8 @@ testRun(void) contentLoad), "write manifest"); - TEST_RESULT_STR(strPtr(infoRender()), + TEST_RESULT_STR_Z( + infoRender(), "stanza: stanza1\n" " status: ok\n" " cipher: none\n" @@ -858,9 +873,8 @@ testRun(void) " database size: 19.2MB, backup size: 8.2KB\n" " repository size: 2.3MB, repository backup size: 346B\n" " backup reference list: 20181119-152138F, 20181119-152138F_20181119-152152D\n" - " database list: mail (16456), postgres (12173)\n" - , "text - backup set requested, no links"); - + " database list: mail (16456), postgres (12173)\n", + "text - backup set requested, no links"); // Backup set requested but no databases //-------------------------------------------------------------------------------------------------------------------------- @@ -895,7 +909,8 @@ testRun(void) contentLoad), "write manifest"); - TEST_RESULT_STR(strPtr(infoRender()), + TEST_RESULT_STR_Z( + infoRender(), "stanza: stanza1\n" " status: ok\n" " cipher: none\n" @@ -909,15 +924,16 @@ testRun(void) " database size: 19.2MB, backup size: 8.2KB\n" " repository size: 2.3MB, repository backup size: 346B\n" " backup reference list: 20181119-152138F, 20181119-152138F_20181119-152152D\n" - " database list: none\n" - , "text - backup set requested, no db"); + " database list: none\n", + "text - backup set requested, no db"); // Stanza not found //-------------------------------------------------------------------------------------------------------------------------- argList2 = strLstDup(argList); strLstAddZ(argList2, "--stanza=silly"); harnessCfgLoad(cfgCmdInfo, argList2); - TEST_RESULT_STR(strPtr(infoRender()), + TEST_RESULT_STR_Z( + infoRender(), "[" "{" "\"backup\":[]," @@ -928,21 +944,24 @@ testRun(void) "\"message\":\"missing stanza path\"" "}" "}" - "]", "json - missing stanza path"); + "]", + "json - missing stanza path"); StringList *argListText2 = strLstDup(argListText); strLstAddZ(argListText2, "--stanza=silly"); harnessCfgLoad(cfgCmdInfo, argListText2); - TEST_RESULT_STR(strPtr(infoRender()), - "stanza: silly\n" - " status: error (missing stanza path)\n" - , "text - missing stanza path"); + TEST_RESULT_STR_Z( + infoRender(), + "stanza: silly\n" + " status: error (missing stanza path)\n", + "text - missing stanza path"); // Stanza found //-------------------------------------------------------------------------------------------------------------------------- strLstAddZ(argList, "--stanza=stanza2"); harnessCfgLoad(cfgCmdInfo, argList); - TEST_RESULT_STR(strPtr(infoRender()), + TEST_RESULT_STR_Z( + infoRender(), "[" "{" "\"archive\":[" @@ -970,18 +989,20 @@ testRun(void) "\"message\":\"no valid backups\"" "}" "}" - "]", "json - multiple stanzas - selected found"); + "]", + "json - multiple stanzas - selected found"); strLstAddZ(argListText, "--stanza=stanza2"); harnessCfgLoad(cfgCmdInfo, argListText); - TEST_RESULT_STR(strPtr(infoRender()), + TEST_RESULT_STR_Z( + infoRender(), "stanza: stanza2\n" " status: error (no valid backups)\n" " cipher: none\n" "\n" " db (current)\n" - " wal archive min/max (9.4-1): none present\n" - ,"text - multiple stanzas - selected found"); + " wal archive min/max (9.4-1): none present\n", + "text - multiple stanzas - selected found"); // Crypto error //-------------------------------------------------------------------------------------------------------------------------- @@ -1052,15 +1073,16 @@ testRun(void) String *result = strNew(""); formatTextDb(stanzaInfo, result, NULL); - TEST_RESULT_STR(strPtr(result), + TEST_RESULT_STR_Z( + result, "\n" " db (current)\n" " full backup: 20181119-152138F\n" " timestamp start/stop: 2018-11-16 15:47:56 / 2018-11-16 15:48:09\n" " wal start/stop: n/a\n" " database size: 0B, backup size: 0B\n" - " repository size: 0B, repository backup size: 0B\n" - ,"formatTextDb only backup section (code coverage only)"); + " repository size: 0B, repository backup size: 0B\n", + "formatTextDb only backup section (code coverage only)"); } //****************************************************************************************************************************** @@ -1087,8 +1109,8 @@ testRun(void) Storage *storage = storagePosixNew( strNew(testPath()), STORAGE_MODE_FILE_DEFAULT, STORAGE_MODE_PATH_DEFAULT, false, NULL); - TEST_RESULT_STR( - strPtr(strNewBuf(storageGetP(storageNewReadP(storage, stdoutFile)))), "No stanzas exist in the repository.\n", + TEST_RESULT_STR_Z( + strNewBuf(storageGetP(storageNewReadP(storage, stdoutFile))), "No stanzas exist in the repository.\n", " check text"); //-------------------------------------------------------------------------------------------------------------------------- diff --git a/test/src/module/command/restoreTest.c b/test/src/module/command/restoreTest.c index 0524e74ae..ddf7a7886 100644 --- a/test/src/module/command/restoreTest.c +++ b/test/src/module/command/restoreTest.c @@ -215,10 +215,9 @@ testRun(void) TEST_RESULT_UINT(info.size, 7, " check size"); TEST_RESULT_UINT(info.mode, 0600, " check mode"); TEST_RESULT_UINT(info.timeModified, 1557432154, " check time"); - TEST_RESULT_STR(strPtr(info.user), testUser(), " check user"); - TEST_RESULT_STR(strPtr(info.group), testGroup(), " check group"); - TEST_RESULT_STR( - strPtr(strNewBuf(storageGetP(storageNewReadP(storagePg(), strNew("normal"))))), "acefile", " check contents"); + TEST_RESULT_STR_Z(info.user, testUser(), " check user"); + TEST_RESULT_STR_Z(info.group, testGroup(), " check group"); + TEST_RESULT_STR_Z(strNewBuf(storageGetP(storageNewReadP(storagePg(), strNew("normal")))), "acefile", " check contents"); // ------------------------------------------------------------------------------------------------------------------------- // Create a repo file @@ -232,8 +231,8 @@ testRun(void) repoFile1, repoFileReferenceFull, false, strNew("delta"), strNew("9bc8ab2dda60ef4beed07d1e19ce0676d5edde67"), false, 9, 1557432154, 0600, strNew(testUser()), strNew(testGroup()), 0, true, false, NULL), true, "sha1 delta missing"); - TEST_RESULT_STR( - strPtr(strNewBuf(storageGetP(storageNewReadP(storagePg(), strNew("delta"))))), "atestfile", " check contents"); + TEST_RESULT_STR_Z( + strNewBuf(storageGetP(storageNewReadP(storagePg(), strNew("delta")))), "atestfile", " check contents"); size_t oldBufferSize = ioBufferSize(); ioBufferSizeSet(4); @@ -260,8 +259,8 @@ testRun(void) repoFile1, repoFileReferenceFull, false, strNew("delta"), strNew("9bc8ab2dda60ef4beed07d1e19ce0676d5edde67"), false, 9, 1557432154, 0600, strNew(testUser()), strNew(testGroup()), 0, true, false, NULL), true, "sha1 delta existing, size differs"); - TEST_RESULT_STR( - strPtr(strNewBuf(storageGetP(storageNewReadP(storagePg(), strNew("delta"))))), "atestfile", " check contents"); + TEST_RESULT_STR_Z( + strNewBuf(storageGetP(storageNewReadP(storagePg(), strNew("delta")))), "atestfile", " check contents"); storagePutP(storageNewWriteP(storagePgWrite(), strNew("delta")), BUFSTRDEF("atestfile2")); @@ -270,8 +269,8 @@ testRun(void) repoFile1, repoFileReferenceFull, false, strNew("delta"), strNew("9bc8ab2dda60ef4beed07d1e19ce0676d5edde67"), false, 9, 1557432154, 0600, strNew(testUser()), strNew(testGroup()), 1557432155, true, true, NULL), true, "delta force existing, size differs"); - TEST_RESULT_STR( - strPtr(strNewBuf(storageGetP(storageNewReadP(storagePg(), strNew("delta"))))), "atestfile", " check contents"); + TEST_RESULT_STR_Z( + strNewBuf(storageGetP(storageNewReadP(storagePg(), strNew("delta")))), "atestfile", " check contents"); // Change the existing file so it no longer matches by content storagePutP(storageNewWriteP(storagePgWrite(), strNew("delta")), BUFSTRDEF("btestfile")); @@ -281,8 +280,8 @@ testRun(void) repoFile1, repoFileReferenceFull, false, strNew("delta"), strNew("9bc8ab2dda60ef4beed07d1e19ce0676d5edde67"), false, 9, 1557432154, 0600, strNew(testUser()), strNew(testGroup()), 0, true, false, NULL), true, "sha1 delta existing, content differs"); - TEST_RESULT_STR( - strPtr(strNewBuf(storageGetP(storageNewReadP(storagePg(), strNew("delta"))))), "atestfile", " check contents"); + TEST_RESULT_STR_Z( + strNewBuf(storageGetP(storageNewReadP(storagePg(), strNew("delta")))), "atestfile", " check contents"); storagePutP(storageNewWriteP(storagePgWrite(), strNew("delta")), BUFSTRDEF("btestfile")); @@ -327,7 +326,7 @@ testRun(void) varLstAdd(paramList, NULL); TEST_RESULT_BOOL(restoreProtocol(PROTOCOL_COMMAND_RESTORE_FILE_STR, paramList, server), true, "protocol restore file"); - TEST_RESULT_STR(strPtr(strNewBuf(serverWrite)), "{\"out\":true}\n", " check result"); + TEST_RESULT_STR_Z(strNewBuf(serverWrite), "{\"out\":true}\n", " check result"); bufUsedSet(serverWrite, 0); info = storageInfoP(storagePg(), strNew("protocol")); @@ -335,10 +334,10 @@ testRun(void) TEST_RESULT_UINT(info.size, 9, " check size"); TEST_RESULT_UINT(info.mode, 0677, " check mode"); TEST_RESULT_UINT(info.timeModified, 1557432100, " check time"); - TEST_RESULT_STR(strPtr(info.user), testUser(), " check user"); - TEST_RESULT_STR(strPtr(info.group), testGroup(), " check group"); - TEST_RESULT_STR( - strPtr(strNewBuf(storageGetP(storageNewReadP(storagePg(), strNew("protocol"))))), "atestfile", " check contents"); + TEST_RESULT_STR_Z(info.user, testUser(), " check user"); + TEST_RESULT_STR_Z(info.group, testGroup(), " check group"); + TEST_RESULT_STR_Z( + strNewBuf(storageGetP(storageNewReadP(storagePg(), strNew("protocol")))), "atestfile", " check contents"); paramList = varLstNew(); varLstAdd(paramList, varNewStr(repoFile1)); @@ -358,7 +357,7 @@ testRun(void) varLstAdd(paramList, NULL); TEST_RESULT_BOOL(restoreProtocol(PROTOCOL_COMMAND_RESTORE_FILE_STR, paramList, server), true, "protocol restore file"); - TEST_RESULT_STR(strPtr(strNewBuf(serverWrite)), "{\"out\":false}\n", " check result"); + TEST_RESULT_STR_Z(strNewBuf(serverWrite), "{\"out\":false}\n", " check result"); bufUsedSet(serverWrite, 0); // Check invalid protocol function @@ -507,8 +506,7 @@ testRun(void) harnessCfgLoad(cfgCmdRestore, argList); TEST_RESULT_VOID(restoreManifestMap(manifest), "base directory is not remapped"); - TEST_RESULT_STR_STR( - manifestTargetFind(manifest, MANIFEST_TARGET_PGDATA_STR)->path, pgPath, "base directory is not remapped"); + TEST_RESULT_STR(manifestTargetFind(manifest, MANIFEST_TARGET_PGDATA_STR)->path, pgPath, "base directory is not remapped"); // Now change pg1-path so the data directory gets remapped pgPath = strNewFmt("%s/pg2", testPath()); @@ -520,7 +518,7 @@ testRun(void) harnessCfgLoad(cfgCmdRestore, argList); TEST_RESULT_VOID(restoreManifestMap(manifest), "base directory is remapped"); - TEST_RESULT_STR_STR(manifestTargetFind(manifest, MANIFEST_TARGET_PGDATA_STR)->path, pgPath, "base directory is remapped"); + TEST_RESULT_STR(manifestTargetFind(manifest, MANIFEST_TARGET_PGDATA_STR)->path, pgPath, "base directory is remapped"); TEST_RESULT_LOG("P00 INFO: remap data directory to '{[path]}/pg2'"); // ------------------------------------------------------------------------------------------------------------------------- diff --git a/test/src/module/command/storageTest.c b/test/src/module/command/storageTest.c index 073b3afa8..94eab3876 100644 --- a/test/src/module/command/storageTest.c +++ b/test/src/module/command/storageTest.c @@ -32,12 +32,12 @@ testRun(void) Buffer *output = bufNew(0); cfgOptionSet(cfgOptOutput, cfgSourceParam, VARSTRDEF("text")); TEST_RESULT_VOID(storageListRender(ioBufferWriteNew(output)), "missing directory (text)"); - TEST_RESULT_STR(strNewBuf(output), "", " check output"); + TEST_RESULT_STR_Z(strNewBuf(output), "", " check output"); output = bufNew(0); cfgOptionSet(cfgOptOutput, cfgSourceParam, VARSTRDEF("json")); TEST_RESULT_VOID(storageListRender(ioBufferWriteNew(output)), "missing directory (json)"); - TEST_RESULT_STR(strPtr(strNewBuf(output)), "{}", " check output"); + TEST_RESULT_STR_Z(strNewBuf(output), "{}", " check output"); // Empty directory // ------------------------------------------------------------------------------------------------------------------------- @@ -46,7 +46,7 @@ testRun(void) output = bufNew(0); cfgOptionSet(cfgOptOutput, cfgSourceParam, VARSTRDEF("text")); TEST_RESULT_VOID(storageListRender(ioBufferWriteNew(output)), "empty directory (text)"); - TEST_RESULT_STR(strPtr(strNewBuf(output)), "", " check output"); + TEST_RESULT_STR_Z(strNewBuf(output), "", " check output"); output = bufNew(0); cfgOptionSet(cfgOptOutput, cfgSourceParam, VARSTRDEF("json")); @@ -72,7 +72,7 @@ testRun(void) output = bufNew(0); cfgOptionSet(cfgOptOutput, cfgSourceParam, VARSTRDEF("text")); TEST_RESULT_VOID(storageListRender(ioBufferWriteNew(output)), "path and file (text)"); - TEST_RESULT_STR(strPtr(strNewBuf(output)), "aaa\nbbb\nlink\npipe", " check output"); + TEST_RESULT_STR_Z(strNewBuf(output), "aaa\nbbb\nlink\npipe", " check output"); output = bufNew(0); cfgOptionSet(cfgOptOutput, cfgSourceParam, VARSTRDEF("json")); @@ -95,7 +95,7 @@ testRun(void) output = bufNew(0); cfgOptionSet(cfgOptOutput, cfgSourceParam, VARSTRDEF("text")); TEST_RESULT_VOID(storageListRender(ioBufferWriteNew(output)), "path and file (text)"); - TEST_RESULT_STR(strPtr(strNewBuf(output)), "pipe\nlink\nbbb\naaa", " check output"); + TEST_RESULT_STR_Z(strNewBuf(output), "pipe\nlink\nbbb\naaa", " check output"); // Recurse // ------------------------------------------------------------------------------------------------------------------------- @@ -105,7 +105,7 @@ testRun(void) output = bufNew(0); cfgOptionSet(cfgOptOutput, cfgSourceParam, VARSTRDEF("text")); TEST_RESULT_VOID(storageListRender(ioBufferWriteNew(output)), "filter"); - TEST_RESULT_STR(strPtr(strNewBuf(output)), "pipe\nlink\nbbb/ccc\nbbb\naaa", " check output"); + TEST_RESULT_STR_Z(strNewBuf(output), "pipe\nlink\nbbb/ccc\nbbb\naaa", " check output"); // Filter // ------------------------------------------------------------------------------------------------------------------------- @@ -115,7 +115,7 @@ testRun(void) output = bufNew(0); cfgOptionSet(cfgOptOutput, cfgSourceParam, VARSTRDEF("text")); TEST_RESULT_VOID(storageListRender(ioBufferWriteNew(output)), "filter"); - TEST_RESULT_STR(strPtr(strNewBuf(output)), "aaa", " check output"); + TEST_RESULT_STR_Z(strNewBuf(output), "aaa", " check output"); // Subdirectory // ------------------------------------------------------------------------------------------------------------------------- @@ -126,7 +126,7 @@ testRun(void) output = bufNew(0); cfgOptionSet(cfgOptOutput, cfgSourceParam, VARSTRDEF("text")); TEST_RESULT_VOID(storageListRender(ioBufferWriteNew(output)), "subdirectory"); - TEST_RESULT_STR(strPtr(strNewBuf(output)), "ccc", " check output"); + TEST_RESULT_STR_Z(strNewBuf(output), "ccc", " check output"); // ------------------------------------------------------------------------------------------------------------------------- // Redirect stdout to a file @@ -141,7 +141,7 @@ testRun(void) // Restore normal stdout dup2(stdoutSave, STDOUT_FILENO); - TEST_RESULT_STR(strPtr(strNewBuf(storageGetP(storageNewReadP(storageTest, stdoutFile)))), "ccc\n", " check text"); + TEST_RESULT_STR_Z(strNewBuf(storageGetP(storageNewReadP(storageTest, stdoutFile))), "ccc\n", " check text"); // Too many paths // ------------------------------------------------------------------------------------------------------------------------- diff --git a/test/src/module/common/compressGzipTest.c b/test/src/module/common/compressGzipTest.c index e9b1635ef..93c5e4c57 100644 --- a/test/src/module/common/compressGzipTest.c +++ b/test/src/module/common/compressGzipTest.c @@ -179,11 +179,11 @@ testRun(void) { GzipDecompress *decompress = (GzipDecompress *)ioFilterDriver(gzipDecompressNew(false)); - TEST_RESULT_STR(strPtr(gzipDecompressToLog(decompress)), "{inputSame: false, done: false, availIn: 0}", "format object"); + TEST_RESULT_STR_Z(gzipDecompressToLog(decompress), "{inputSame: false, done: false, availIn: 0}", "format object"); decompress->inputSame = true; decompress->done = true; - TEST_RESULT_STR(strPtr(gzipDecompressToLog(decompress)), "{inputSame: true, done: true, availIn: 0}", "format object"); + TEST_RESULT_STR_Z(gzipDecompressToLog(decompress), "{inputSame: true, done: true, availIn: 0}", "format object"); } FUNCTION_HARNESS_RESULT_VOID(); diff --git a/test/src/module/common/cryptoTest.c b/test/src/module/common/cryptoTest.c index f9dc27942..2620b5f98 100644 --- a/test/src/module/common/cryptoTest.c +++ b/test/src/module/common/cryptoTest.c @@ -51,8 +51,8 @@ testRun(void) TEST_RESULT_UINT(cipherType(strNew("aes-256-cbc")), cipherTypeAes256Cbc, "aes-256-cbc type"); TEST_ERROR(cipherTypeName((CipherType)2), AssertError, "invalid cipher type 2"); - TEST_RESULT_STR(strPtr(cipherTypeName(cipherTypeNone)), "none", "none name"); - TEST_RESULT_STR(strPtr(cipherTypeName(cipherTypeAes256Cbc)), "aes-256-cbc", "aes-256-cbc name"); + TEST_RESULT_STR_Z(cipherTypeName(cipherTypeNone), "none", "none name"); + TEST_RESULT_STR_Z(cipherTypeName(cipherTypeAes256Cbc), "aes-256-cbc", "aes-256-cbc name"); // Test if the buffer was overrun // ------------------------------------------------------------------------------------------------------------------------- @@ -90,7 +90,7 @@ testRun(void) // ------------------------------------------------------------------------------------------------------------------------- CipherBlock *cipherBlock = (CipherBlock *)ioFilterDriver( cipherBlockNew(cipherModeEncrypt, cipherTypeAes256Cbc, BUFSTRZ(TEST_PASS), NULL)); - TEST_RESULT_STR(memContextName(cipherBlock->memContext), "CipherBlock", "mem context name is valid"); + TEST_RESULT_Z(memContextName(cipherBlock->memContext), "CipherBlock", "mem context name is valid"); TEST_RESULT_INT(cipherBlock->mode, cipherModeEncrypt, "mode is valid"); TEST_RESULT_INT(cipherBlock->passSize, strlen(TEST_PASS), "passphrase size is valid"); TEST_RESULT_BOOL(memcmp(cipherBlock->pass, TEST_PASS, strlen(TEST_PASS)) == 0, true, "passphrase is valid"); @@ -170,7 +170,7 @@ testRun(void) ioFilterProcessInOut(blockDecryptFilter, NULL, decryptBuffer); TEST_RESULT_INT(bufUsed(decryptBuffer), strlen(TEST_PLAINTEXT) * 2, "check final decrypt size"); - TEST_RESULT_STR(strPtr(strNewBuf(decryptBuffer)), TEST_PLAINTEXT TEST_PLAINTEXT, "check final decrypt buffer"); + TEST_RESULT_STR_Z(strNewBuf(decryptBuffer), TEST_PLAINTEXT TEST_PLAINTEXT, "check final decrypt buffer"); ioFilterFree(blockDecryptFilter); @@ -210,7 +210,7 @@ testRun(void) ioFilterProcessInOut(blockDecryptFilter, NULL, decryptBuffer); TEST_RESULT_INT(bufUsed(decryptBuffer), strlen(TEST_PLAINTEXT) * 2, "check final decrypt size"); - TEST_RESULT_STR(strPtr(strNewBuf(decryptBuffer)), TEST_PLAINTEXT TEST_PLAINTEXT, "check final decrypt buffer"); + TEST_RESULT_STR_Z(strNewBuf(decryptBuffer), TEST_PLAINTEXT TEST_PLAINTEXT, "check final decrypt buffer"); ioFilterFree(blockDecryptFilter); @@ -312,10 +312,9 @@ testRun(void) // ------------------------------------------------------------------------------------------------------------------------- TEST_ASSIGN(hash, cryptoHashNewVar(varVarLst(jsonToVar(strNewFmt("[\"%s\"]", HASH_TYPE_SHA1)))), "create sha1 hash"); - TEST_RESULT_STR( - strPtr(bufHex(cryptoHash((CryptoHash *)ioFilterDriver(hash)))), HASH_TYPE_SHA1_ZERO, " check empty hash"); - TEST_RESULT_STR( - strPtr(bufHex(cryptoHash((CryptoHash *)ioFilterDriver(hash)))), HASH_TYPE_SHA1_ZERO, " check empty hash again"); + TEST_RESULT_STR_Z(bufHex(cryptoHash((CryptoHash *)ioFilterDriver(hash))), HASH_TYPE_SHA1_ZERO, " check empty hash"); + TEST_RESULT_STR_Z( + bufHex(cryptoHash((CryptoHash *)ioFilterDriver(hash))), HASH_TYPE_SHA1_ZERO, " check empty hash again"); TEST_RESULT_VOID(ioFilterFree(hash), " free hash"); // ------------------------------------------------------------------------------------------------------------------------- @@ -326,35 +325,31 @@ testRun(void) TEST_RESULT_VOID(ioFilterProcessIn(hash, BUFSTRDEF("4")), " add 4"); TEST_RESULT_VOID(ioFilterProcessIn(hash, BUFSTRDEF("5")), " add 5"); - TEST_RESULT_STR( - strPtr(varStr(ioFilterResult(hash))), "8cb2237d0679ca88db6464eac60da96345513964", " check small hash"); + TEST_RESULT_STR_Z(varStr(ioFilterResult(hash)), "8cb2237d0679ca88db6464eac60da96345513964", " check small hash"); TEST_RESULT_VOID(ioFilterFree(hash), " free hash"); // ------------------------------------------------------------------------------------------------------------------------- TEST_ASSIGN(hash, cryptoHashNew(strNew(HASH_TYPE_MD5)), "create md5 hash"); - TEST_RESULT_STR(strPtr(varStr(ioFilterResult(hash))), HASH_TYPE_MD5_ZERO, " check empty hash"); + TEST_RESULT_STR_Z(varStr(ioFilterResult(hash)), HASH_TYPE_MD5_ZERO, " check empty hash"); // ------------------------------------------------------------------------------------------------------------------------- TEST_ASSIGN(hash, cryptoHashNew(strNew(HASH_TYPE_SHA256)), "create sha256 hash"); - TEST_RESULT_STR( - strPtr(varStr(ioFilterResult(hash))), HASH_TYPE_SHA256_ZERO, - " check empty hash"); + TEST_RESULT_STR_Z(varStr(ioFilterResult(hash)), HASH_TYPE_SHA256_ZERO, " check empty hash"); // ------------------------------------------------------------------------------------------------------------------------- - TEST_RESULT_STR( - strPtr(bufHex(cryptoHashOne(strNew(HASH_TYPE_SHA1), BUFSTRDEF("12345")))), "8cb2237d0679ca88db6464eac60da96345513964", + TEST_RESULT_STR_Z( + bufHex(cryptoHashOne(strNew(HASH_TYPE_SHA1), BUFSTRDEF("12345"))), "8cb2237d0679ca88db6464eac60da96345513964", " check small hash"); - TEST_RESULT_STR( - strPtr(bufHex(cryptoHashOne(strNew(HASH_TYPE_SHA1), BUFSTRDEF("")))), HASH_TYPE_SHA1_ZERO, " check empty hash"); + TEST_RESULT_STR_Z( + bufHex(cryptoHashOne(strNew(HASH_TYPE_SHA1), BUFSTRDEF(""))), HASH_TYPE_SHA1_ZERO, " check empty hash"); // ------------------------------------------------------------------------------------------------------------------------- - TEST_RESULT_STR( - strPtr( - bufHex( - cryptoHmacOne( - strNew(HASH_TYPE_SHA256), - BUFSTRDEF("AWS4wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"), - BUFSTRDEF("20170412")))), + TEST_RESULT_STR_Z( + bufHex( + cryptoHmacOne( + strNew(HASH_TYPE_SHA256), + BUFSTRDEF("AWS4wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"), + BUFSTRDEF("20170412"))), "8b05c497afe9e1f42c8ada4cb88392e118649db1e5c98f0f0fb0a158bdd2dd76", " check hmac"); } diff --git a/test/src/module/common/debugOffTest.c b/test/src/module/common/debugOffTest.c index 0f3a6b4a6..b28e8252f 100644 --- a/test/src/module/common/debugOffTest.c +++ b/test/src/module/common/debugOffTest.c @@ -27,7 +27,7 @@ testRun(void) if (testBegin("DEBUG_UNIT_EXTERN")) { const char *debugUnitExtern = STRINGIFY(DEBUG_UNIT_EXTERN); - TEST_RESULT_STR(debugUnitExtern, "static", "DEBUG_UNIT_EXTERN is static"); + TEST_RESULT_Z(debugUnitExtern, "static", "DEBUG_UNIT_EXTERN is static"); } FUNCTION_HARNESS_RESULT_VOID(); diff --git a/test/src/module/common/debugOnTest.c b/test/src/module/common/debugOnTest.c index 1fe01c873..f59d5b297 100644 --- a/test/src/module/common/debugOnTest.c +++ b/test/src/module/common/debugOnTest.c @@ -56,42 +56,42 @@ testRun(void) char buffer[STACK_TRACE_PARAM_MAX]; TEST_RESULT_INT(objToLog(NULL, "Object", buffer, 4), 4, "truncated null"); - TEST_RESULT_STR(buffer, "nul", " check truncated null"); + TEST_RESULT_Z(buffer, "nul", " check truncated null"); TEST_RESULT_INT(objToLog(NULL, "Object", buffer, sizeof(buffer)), 4, "full null"); - TEST_RESULT_STR(buffer, "null", " check full null"); + TEST_RESULT_Z(buffer, "null", " check full null"); TEST_RESULT_INT(objToLog((void *)1, "Object", buffer, 4), 8, "truncated object"); - TEST_RESULT_STR(buffer, "{Ob", " check truncated object"); + TEST_RESULT_Z(buffer, "{Ob", " check truncated object"); TEST_RESULT_INT(objToLog((void *)1, "Object", buffer, sizeof(buffer)), 8, "full object"); - TEST_RESULT_STR(buffer, "{Object}", " check full object"); + TEST_RESULT_Z(buffer, "{Object}", " check full object"); // ------------------------------------------------------------------------------------------------------------------------- TEST_RESULT_INT(ptrToLog(NULL, "char *", buffer, 4), 4, "truncated null"); - TEST_RESULT_STR(buffer, "nul", " check truncated null"); + TEST_RESULT_Z(buffer, "nul", " check truncated null"); TEST_RESULT_INT(ptrToLog(NULL, "char *", buffer, sizeof(buffer)), 4, "full null"); - TEST_RESULT_STR(buffer, "null", " check full null"); + TEST_RESULT_Z(buffer, "null", " check full null"); TEST_RESULT_INT(ptrToLog((void *)1, "char *", buffer, 4), 8, "truncated pointer"); - TEST_RESULT_STR(buffer, "(ch", " check truncated pointer"); + TEST_RESULT_Z(buffer, "(ch", " check truncated pointer"); TEST_RESULT_INT(ptrToLog((void *)1, "char *", buffer, sizeof(buffer)), 8, "full pointer"); - TEST_RESULT_STR(buffer, "(char *)", " check full pointer"); + TEST_RESULT_Z(buffer, "(char *)", " check full pointer"); // ------------------------------------------------------------------------------------------------------------------------- TEST_RESULT_INT(strzToLog(NULL, buffer, 4), 4, "truncated null"); - TEST_RESULT_STR(buffer, "nul", " check truncated null"); + TEST_RESULT_Z(buffer, "nul", " check truncated null"); TEST_RESULT_INT(strzToLog(NULL, buffer, sizeof(buffer)), 4, "full null"); - TEST_RESULT_STR(buffer, "null", " check full null"); + TEST_RESULT_Z(buffer, "null", " check full null"); TEST_RESULT_INT(strzToLog("test", buffer, 4), 6, "truncated string"); - TEST_RESULT_STR(buffer, "\"te", " check truncated string"); + TEST_RESULT_Z(buffer, "\"te", " check truncated string"); TEST_RESULT_INT(strzToLog("test2", buffer, sizeof(buffer)), 7, "full string"); - TEST_RESULT_STR(buffer, "\"test2\"", " check full string"); + TEST_RESULT_Z(buffer, "\"test2\"", " check full string"); } // ***************************************************************************************************************************** @@ -110,7 +110,7 @@ testRun(void) if (testBegin("DEBUG_UNIT_EXTERN")) { const char *debugUnitExtern = STRINGIFY(DEBUG_UNIT_EXTERN); - TEST_RESULT_STR(debugUnitExtern, "", "DEBUG_UNIT_EXTERN is blank (extern)"); + TEST_RESULT_Z(debugUnitExtern, "", "DEBUG_UNIT_EXTERN is blank (extern)"); } // ***************************************************************************************************************************** diff --git a/test/src/module/common/encodeTest.c b/test/src/module/common/encodeTest.c index 9161747c3..24c6bb3c6 100644 --- a/test/src/module/common/encodeTest.c +++ b/test/src/module/common/encodeTest.c @@ -17,27 +17,27 @@ testRun(void) char destinationEncode[256]; encodeToStr(encodeBase64, encode, 1, destinationEncode); - TEST_RESULT_STR(destinationEncode, "cw==", "1 character encode"); + TEST_RESULT_Z(destinationEncode, "cw==", "1 character encode"); TEST_RESULT_INT(encodeToStrSize(encodeBase64, 1), strlen(destinationEncode), "check size"); encodeToStr(encodeBase64, encode, 2, destinationEncode); - TEST_RESULT_STR(destinationEncode, "c3Q=", "2 character encode"); + TEST_RESULT_Z(destinationEncode, "c3Q=", "2 character encode"); TEST_RESULT_INT(encodeToStrSize(encodeBase64, 2), strlen(destinationEncode), "check size"); encodeToStr(encodeBase64, encode, 3, destinationEncode); - TEST_RESULT_STR(destinationEncode, "c3Ry", "3 character encode"); + TEST_RESULT_Z(destinationEncode, "c3Ry", "3 character encode"); TEST_RESULT_INT(encodeToStrSize(encodeBase64, 3), strlen(destinationEncode), "check size"); encodeToStr(encodeBase64, encode, strlen((char *)encode) - 2, destinationEncode); - TEST_RESULT_STR(destinationEncode, "c3RyaW5nX3RvX2VuY29kZQ==", "encode full string"); + TEST_RESULT_Z(destinationEncode, "c3RyaW5nX3RvX2VuY29kZQ==", "encode full string"); TEST_RESULT_INT(encodeToStrSize(encodeBase64, strlen((char *)encode) - 2), strlen(destinationEncode), "check size"); encodeToStr(encodeBase64, encode, strlen((char *)encode), destinationEncode); - TEST_RESULT_STR(destinationEncode, "c3RyaW5nX3RvX2VuY29kZQ0K", "encode full string with \\r\\n"); + TEST_RESULT_Z(destinationEncode, "c3RyaW5nX3RvX2VuY29kZQ0K", "encode full string with \\r\\n"); TEST_RESULT_INT(encodeToStrSize(encodeBase64, strlen((char *)encode)), strlen(destinationEncode), "check size"); encodeToStr(encodeBase64, encode, strlen((char *)encode) + 1, destinationEncode); - TEST_RESULT_STR(destinationEncode, "c3RyaW5nX3RvX2VuY29kZQ0KAA==", "encode full string with \\r\\n and null"); + TEST_RESULT_Z(destinationEncode, "c3RyaW5nX3RvX2VuY29kZQ0KAA==", "encode full string with \\r\\n and null"); TEST_RESULT_INT(encodeToStrSize(encodeBase64, strlen((char *)encode) + 1), strlen(destinationEncode), "check size"); TEST_ERROR(encodeToStr(999, encode, strlen((char *)encode), destinationEncode), AssertError, "invalid encode type 999"); @@ -49,7 +49,7 @@ testRun(void) memset(destinationDecode, 0xFF, sizeof(destinationDecode)); const char *decode = "c3RyaW5nX3RvX2VuY29kZQ0KAA=="; decodeToBin(encodeBase64, decode, destinationDecode); - TEST_RESULT_STR(destinationDecode, encode, "full string with \\r\\n and null decode"); + TEST_RESULT_Z(destinationDecode, encode, "full string with \\r\\n and null decode"); TEST_RESULT_INT(destinationDecode[strlen((char *)encode) + 1], 0xFF, "check for overrun"); TEST_RESULT_INT(decodeToBinSize(encodeBase64, decode), strlen((char *)encode) + 1, "check size"); diff --git a/test/src/module/common/execTest.c b/test/src/module/common/execTest.c index ed4693840..884ad4177 100644 --- a/test/src/module/common/execTest.c +++ b/test/src/module/common/execTest.c @@ -34,7 +34,7 @@ testRun(void) String *message = strNew("ACKBYACK"); TEST_RESULT_VOID(ioWriteStrLine(execIoWrite(exec), message), "write cat exec"); ioWriteFlush(execIoWrite(exec)); - TEST_RESULT_STR(strPtr(ioReadLine(execIoRead(exec))), strPtr(message), "read cat exec"); + TEST_RESULT_STR(ioReadLine(execIoRead(exec)), message, "read cat exec"); TEST_RESULT_VOID(execFree(exec), "free exec"); // ------------------------------------------------------------------------------------------------------------------------- @@ -62,7 +62,7 @@ testRun(void) TEST_RESULT_VOID(ioWriteStrLine(execIoWrite(exec), message), "write cat exec"); ioWriteFlush(execIoWrite(exec)); - TEST_RESULT_STR(strPtr(ioReadLine(execIoRead(exec))), " 1\tACKBYACK", "read cat exec"); + TEST_RESULT_STR_Z(ioReadLine(execIoRead(exec)), " 1\tACKBYACK", "read cat exec"); TEST_RESULT_VOID(execFree(exec), "free exec"); // Run the same test as above but close all file descriptors first to ensure we don't accidentally close a required @@ -84,7 +84,7 @@ testRun(void) TEST_RESULT_VOID(ioWriteStrLine(execIoWrite(exec), message), "write cat exec"); ioWriteFlush(execIoWrite(exec)); - TEST_RESULT_STR(strPtr(ioReadLine(execIoRead(exec))), " 1\tACKBYACK", "read cat exec"); + TEST_RESULT_STR_Z(ioReadLine(execIoRead(exec)), " 1\tACKBYACK", "read cat exec"); TEST_RESULT_VOID(execFree(exec), "free exec"); } HARNESS_FORK_CHILD_END(); diff --git a/test/src/module/common/exitTest.c b/test/src/module/common/exitTest.c index 419ba9faf..9fe7c487f 100644 --- a/test/src/module/common/exitTest.c +++ b/test/src/module/common/exitTest.c @@ -18,9 +18,9 @@ testRun(void) // ***************************************************************************************************************************** if (testBegin("exitSignalName()")) { - TEST_RESULT_STR(exitSignalName(signalTypeHup), "HUP", "SIGHUP name"); - TEST_RESULT_STR(exitSignalName(signalTypeInt), "INT", "SIGINT name"); - TEST_RESULT_STR(exitSignalName(signalTypeTerm), "TERM", "SIGTERM name"); + TEST_RESULT_Z(exitSignalName(signalTypeHup), "HUP", "SIGHUP name"); + TEST_RESULT_Z(exitSignalName(signalTypeInt), "INT", "SIGINT name"); + TEST_RESULT_Z(exitSignalName(signalTypeTerm), "TERM", "SIGTERM name"); TEST_ERROR(exitSignalName(signalTypeNone), AssertError, "no name for signal none"); } diff --git a/test/src/module/common/forkTest.c b/test/src/module/common/forkTest.c index 5b61b4343..daf08fa1f 100644 --- a/test/src/module/common/forkTest.c +++ b/test/src/module/common/forkTest.c @@ -25,7 +25,7 @@ testRun(void) forkDetach(); TEST_RESULT_BOOL(getsid(0) != sessionId, true, "new session id has been created"); - TEST_RESULT_STR(getcwd(buffer, sizeof(buffer)), "/", "current working directory is '/'"); + TEST_RESULT_Z(getcwd(buffer, sizeof(buffer)), "/", "current working directory is '/'"); TEST_RESULT_INT(write(STDIN_FILENO, buffer, strlen(buffer)), -1, "write to stdin fails"); TEST_RESULT_INT(write(STDOUT_FILENO, buffer, strlen(buffer)), -1, "write to stdout fails"); TEST_RESULT_INT(write(STDERR_FILENO, buffer, strlen(buffer)), -1, "write to stderr fails"); diff --git a/test/src/module/common/iniTest.c b/test/src/module/common/iniTest.c index c80bf6f01..08468df2c 100644 --- a/test/src/module/common/iniTest.c +++ b/test/src/module/common/iniTest.c @@ -31,7 +31,7 @@ testRun(void) String *result = strNew(""); TEST_RESULT_VOID(iniLoad(ioBufferReadNew(iniBuf), testIniLoadCallback, result), "load ini"); - TEST_RESULT_STR(strPtr(result), "", " check ini"); + TEST_RESULT_STR_Z(result, "", " check ini"); // Invalid section // ------------------------------------------------------------------------------------------------------------------------- @@ -81,8 +81,8 @@ testRun(void) result = strNew(""); TEST_RESULT_VOID(iniLoad(ioBufferReadNew(iniBuf), testIniLoadCallback, result), "load ini"); - TEST_RESULT_STR( - strPtr(result), + TEST_RESULT_STR_Z( + result, "section1:key1:value1\n" "section1:key2:value2\n", " check ini"); @@ -102,8 +102,8 @@ testRun(void) result = strNew(""); TEST_RESULT_VOID(iniLoad(ioBufferReadNew(iniBuf), testIniLoadCallback, result), "load ini"); - TEST_RESULT_STR( - strPtr(result), + TEST_RESULT_STR_Z( + result, "section1:key1:value1\n" "section1:key2:value2\n" "section2:key1:\n" @@ -139,28 +139,27 @@ testRun(void) } MEM_CONTEXT_TEMP_END(); - TEST_RESULT_STR(strPtr(iniGet(ini, strNew("section1"), strNew("key1"))), "11", "get section, key"); - TEST_RESULT_STR(strPtr(iniGet(ini, strNew("section1"), strNew("key2"))), "1.234", "get section, key"); + TEST_RESULT_STR_Z(iniGet(ini, strNew("section1"), strNew("key1")), "11", "get section, key"); + TEST_RESULT_STR_Z(iniGet(ini, strNew("section1"), strNew("key2")), "1.234", "get section, key"); TEST_ERROR(iniGet(ini, strNew("section2"), strNew("key2")), FormatError, "section 'section2', key 'key2' does not exist"); - TEST_RESULT_STR(strPtr(iniGetDefault(ini, strNew("section1"), strNew("key1"), NULL)), "11", "get section, key, int"); + TEST_RESULT_STR_Z(iniGetDefault(ini, strNew("section1"), strNew("key1"), NULL), "11", "get section, key, int"); TEST_RESULT_PTR(iniGetDefault(ini, strNew("section2"), strNew("key2"), NULL), NULL, "get section, key, NULL"); - TEST_RESULT_STR( - strPtr(iniGetDefault(ini, strNew("section3"), strNew("key3"), strNew("true"))), "true", "get section, key, bool"); + TEST_RESULT_STR_Z(iniGetDefault(ini, strNew("section3"), strNew("key3"), strNew("true")), "true", "get section, key, bool"); TEST_RESULT_INT(strLstSize(iniSectionKeyList(ini, strNew("bogus"))), 0, "get keys for missing section"); - TEST_RESULT_STR(strPtr(strLstJoin(iniSectionKeyList(ini, strNew("section1")), "|")), "key1|key2", "get keys for section"); + TEST_RESULT_STR_Z(strLstJoin(iniSectionKeyList(ini, strNew("section1")), "|"), "key1|key2", "get keys for section"); TEST_RESULT_VOID(iniSet(ini, strNew("section2"), strNew("key2"), strNew("2")), "set section2, key"); TEST_RESULT_INT(strLstSize(iniSectionList(ini)), 2, "number of sections"); - TEST_RESULT_STR(strPtr(strLstJoin(iniSectionList(ini), "|")), "section1|section2", "get sections"); + TEST_RESULT_STR_Z(strLstJoin(iniSectionList(ini), "|"), "section1|section2", "get sections"); TEST_RESULT_BOOL(iniSectionKeyIsList(ini, strNew("section1"), strNew("key1")), false, "single value is not list"); TEST_RESULT_VOID(iniSet(ini, strNew("section2"), strNew("key2"), strNew("7")), "set section2, key"); TEST_RESULT_BOOL(iniSectionKeyIsList(ini, strNew("section2"), strNew("key2")), true, "section2, key2 is a list"); - TEST_RESULT_STR(strPtr(strLstJoin(iniGetList(ini, strNew("section2"), strNew("key2")), "|")), "2|7", "get list"); - TEST_RESULT_STR(iniGetList(ini, strNew("section2"), strNew("key-missing")), NULL, "get missing list"); + TEST_RESULT_STR_Z(strLstJoin(iniGetList(ini, strNew("section2"), strNew("key2")), "|"), "2|7", "get list"); + TEST_RESULT_PTR(iniGetList(ini, strNew("section2"), strNew("key-missing")), NULL, "get missing list"); TEST_RESULT_VOID(iniFree(ini), "free ini"); } @@ -194,8 +193,8 @@ testRun(void) TEST_RESULT_VOID(iniParse(ini, content), "load ini"); - TEST_RESULT_STR(strPtr(iniGet(ini, strNew("global"), strNew("compress"))), "y", "get compress"); - TEST_RESULT_STR(strPtr(iniGet(ini, strNew("db"), strNew("pg1-path"))), "/path/to/pg", "get pg1-path"); + TEST_RESULT_STR_Z(iniGet(ini, strNew("global"), strNew("compress")), "y", "get compress"); + TEST_RESULT_STR_Z(iniGet(ini, strNew("db"), strNew("pg1-path")), "/path/to/pg", "get pg1-path"); } FUNCTION_HARNESS_RESULT_VOID(); diff --git a/test/src/module/common/ioHttpTest.c b/test/src/module/common/ioHttpTest.c index 432990415..159ec613c 100644 --- a/test/src/module/common/ioHttpTest.c +++ b/test/src/module/common/ioHttpTest.c @@ -307,8 +307,8 @@ testRun(void) if (testBegin("httpUriEncode")) { TEST_RESULT_PTR(httpUriEncode(NULL, false), NULL, "null encodes to null"); - TEST_RESULT_STR(strPtr(httpUriEncode(strNew("0-9_~/A Z.az"), false)), "0-9_~%2FA%20Z.az", "non-path encoding"); - TEST_RESULT_STR(strPtr(httpUriEncode(strNew("0-9_~/A Z.az"), true)), "0-9_~/A%20Z.az", "path encoding"); + TEST_RESULT_STR_Z(httpUriEncode(strNew("0-9_~/A Z.az"), false), "0-9_~%2FA%20Z.az", "non-path encoding"); + TEST_RESULT_STR_Z(httpUriEncode(strNew("0-9_~/A Z.az"), true), "0-9_~/A%20Z.az", "path encoding"); } // ***************************************************************************************************************************** @@ -330,13 +330,13 @@ testRun(void) TEST_RESULT_PTR(httpHeaderAdd(header, strNew("key2"), strNew("value2b")), header, "add header"); TEST_RESULT_PTR(httpHeaderAdd(header, strNew("key1"), strNew("value1")), header, "add header"); - TEST_RESULT_STR(strPtr(strLstJoin(httpHeaderList(header), ", ")), "key1, key2", "header list"); + TEST_RESULT_STR_Z(strLstJoin(httpHeaderList(header), ", "), "key1, key2", "header list"); - TEST_RESULT_STR(strPtr(httpHeaderGet(header, strNew("key1"))), "value1", "get value"); - TEST_RESULT_STR(strPtr(httpHeaderGet(header, strNew("key2"))), "value2a, value2b", "get value"); + TEST_RESULT_STR_Z(httpHeaderGet(header, strNew("key1")), "value1", "get value"); + TEST_RESULT_STR_Z(httpHeaderGet(header, strNew("key2")), "value2a, value2b", "get value"); TEST_RESULT_PTR(httpHeaderGet(header, strNew(BOGUS_STR)), NULL, "get missing value"); - TEST_RESULT_STR(strPtr(httpHeaderToLog(header)), "{key1: 'value1', key2: 'value2a, value2b'}", "log output"); + TEST_RESULT_STR_Z(httpHeaderToLog(header), "{key1: 'value1', key2: 'value2a, value2b'}", "log output"); TEST_RESULT_VOID(httpHeaderFree(header), "free header"); @@ -349,18 +349,18 @@ testRun(void) httpHeaderAdd(header, strNew("secret"), strNew("secret-value")); httpHeaderAdd(header, strNew("public"), strNew("public-value")); - TEST_RESULT_STR(strPtr(httpHeaderToLog(header)), "{public: 'public-value', secret: }", "log output"); + TEST_RESULT_STR_Z(httpHeaderToLog(header), "{public: 'public-value', secret: }", "log output"); // Duplicate // ------------------------------------------------------------------------------------------------------------------------- redact = strLstNew(); strLstAddZ(redact, "public"); - TEST_RESULT_STR( - strPtr(httpHeaderToLog(httpHeaderDup(header, NULL))), - "{public: 'public-value', secret: }", "dup and keep redactions"); - TEST_RESULT_STR( - strPtr(httpHeaderToLog(httpHeaderDup(header, redact))), "{public: , secret: 'secret-value'}", + TEST_RESULT_STR_Z( + httpHeaderToLog(httpHeaderDup(header, NULL)), "{public: 'public-value', secret: }", + "dup and keep redactions"); + TEST_RESULT_STR_Z( + httpHeaderToLog(httpHeaderDup(header, redact)), "{public: , secret: 'secret-value'}", "dup and change redactions"); TEST_RESULT_PTR(httpHeaderDup(NULL, NULL), NULL, "dup null http header"); } @@ -385,17 +385,17 @@ testRun(void) TEST_RESULT_PTR(httpQueryAdd(query, strNew("key2"), strNew("value2")), query, "add query"); TEST_ERROR(httpQueryAdd(query, strNew("key2"), strNew("value2")), AssertError, "key 'key2' already exists"); TEST_RESULT_PTR(httpQueryPut(query, strNew("key2"), strNew("value2a")), query, "put query"); - TEST_RESULT_STR(strPtr(httpQueryRender(query)), "key2=value2a", "render one query item"); + TEST_RESULT_STR_Z(httpQueryRender(query), "key2=value2a", "render one query item"); TEST_RESULT_PTR(httpQueryAdd(query, strNew("key1"), strNew("value 1?")), query, "add query"); - TEST_RESULT_STR(strPtr(strLstJoin(httpQueryList(query), ", ")), "key1, key2", "query list"); - TEST_RESULT_STR(strPtr(httpQueryRender(query)), "key1=value%201%3F&key2=value2a", "render two query items"); + TEST_RESULT_STR_Z(strLstJoin(httpQueryList(query), ", "), "key1, key2", "query list"); + TEST_RESULT_STR_Z(httpQueryRender(query), "key1=value%201%3F&key2=value2a", "render two query items"); - TEST_RESULT_STR(strPtr(httpQueryGet(query, strNew("key1"))), "value 1?", "get value"); - TEST_RESULT_STR(strPtr(httpQueryGet(query, strNew("key2"))), "value2a", "get value"); + TEST_RESULT_STR_Z(httpQueryGet(query, strNew("key1")), "value 1?", "get value"); + TEST_RESULT_STR_Z(httpQueryGet(query, strNew("key2")), "value2a", "get value"); TEST_RESULT_PTR(httpQueryGet(query, strNew(BOGUS_STR)), NULL, "get missing value"); - TEST_RESULT_STR(strPtr(httpQueryToLog(query)), "{key1: 'value 1?', key2: 'value2a'}", "log output"); + TEST_RESULT_STR_Z(httpQueryToLog(query), "{key1: 'value 1?', key2: 'value2a'}", "log output"); TEST_RESULT_VOID(httpQueryFree(query), "free query"); } @@ -408,7 +408,7 @@ testRun(void) // Reset statistics httpClientStatLocal = (HttpClientStat){0}; - TEST_RESULT_STR(httpClientStatStr(), NULL, "no stats yet"); + TEST_RESULT_PTR(httpClientStatStr(), NULL, "no stats yet"); TEST_ASSIGN( client, httpClientNew(strNew("localhost"), harnessTlsTestPort(), 500, testContainer(), NULL, NULL), "new client"); @@ -475,10 +475,10 @@ testRun(void) TEST_RESULT_VOID( httpClientRequest(client, strNew("GET"), strNew("/"), query, headerRequest, NULL, false), "request with no content"); TEST_RESULT_UINT(httpClientResponseCode(client), 200, " check response code"); - TEST_RESULT_STR(strPtr(httpClientResponseMessage(client)), "OK", " check response message"); + TEST_RESULT_STR_Z(httpClientResponseMessage(client), "OK", " check response message"); TEST_RESULT_UINT(httpClientEof(client), true, " io is eof"); - TEST_RESULT_STR( - strPtr(httpHeaderToLog(httpClientResponseHeader(client))), "{connection: 'ack', key1: '0', key2: 'value2'}", + TEST_RESULT_STR_Z( + httpHeaderToLog(httpClientResponseHeader(client)), "{connection: 'ack', key1: '0', key2: 'value2'}", " check response headers"); // Head request with content-length but no content @@ -486,31 +486,30 @@ testRun(void) httpClientRequest(client, strNew("HEAD"), strNew("/"), NULL, httpHeaderNew(NULL), NULL, true), "head request with content-length"); TEST_RESULT_UINT(httpClientResponseCode(client), 200, " check response code"); - TEST_RESULT_STR(strPtr(httpClientResponseMessage(client)), "OK", " check response message"); + TEST_RESULT_STR_Z(httpClientResponseMessage(client), "OK", " check response message"); TEST_RESULT_BOOL(httpClientEof(client), true, " io is eof"); TEST_RESULT_BOOL(httpClientBusy(client), false, " client is not busy"); - TEST_RESULT_STR( - strPtr(httpHeaderToLog(httpClientResponseHeader(client))), "{content-length: '380'}", " check response headers"); + TEST_RESULT_STR_Z( + httpHeaderToLog(httpClientResponseHeader(client)), "{content-length: '380'}", " check response headers"); // Head request with transfer encoding but no content TEST_RESULT_VOID( httpClientRequest(client, strNew("HEAD"), strNew("/"), NULL, httpHeaderNew(NULL), NULL, true), "head request with transfer encoding"); TEST_RESULT_UINT(httpClientResponseCode(client), 200, " check response code"); - TEST_RESULT_STR(strPtr(httpClientResponseMessage(client)), "OK", " check response message"); + TEST_RESULT_STR_Z(httpClientResponseMessage(client), "OK", " check response message"); TEST_RESULT_BOOL(httpClientEof(client), true, " io is eof"); TEST_RESULT_BOOL(httpClientBusy(client), false, " client is not busy"); - TEST_RESULT_STR( - strPtr(httpHeaderToLog(httpClientResponseHeader(client))), "{transfer-encoding: 'chunked'}", - " check response headers"); + TEST_RESULT_STR_Z( + httpHeaderToLog(httpClientResponseHeader(client)), "{transfer-encoding: 'chunked'}", " check response headers"); // Error with content length 0 TEST_RESULT_VOID( httpClientRequest(client, strNew("GET"), strNew("/"), NULL, NULL, NULL, false), "error with content length 0"); TEST_RESULT_UINT(httpClientResponseCode(client), 404, " check response code"); - TEST_RESULT_STR(strPtr(httpClientResponseMessage(client)), "Not Found", " check response message"); - TEST_RESULT_STR( - strPtr(httpHeaderToLog(httpClientResponseHeader(client))), "{content-length: '0'}", " check response headers"); + TEST_RESULT_STR_Z(httpClientResponseMessage(client), "Not Found", " check response message"); + TEST_RESULT_STR_Z( + httpHeaderToLog(httpClientResponseHeader(client)), "{content-length: '0'}", " check response headers"); // Error with content Buffer *buffer = NULL; @@ -518,10 +517,10 @@ testRun(void) TEST_ASSIGN( buffer, httpClientRequest(client, strNew("GET"), strNew("/"), NULL, NULL, NULL, false), "error with content length"); TEST_RESULT_UINT(httpClientResponseCode(client), 403, " check response code"); - TEST_RESULT_STR(strPtr(httpClientResponseMessage(client)), "Auth Error", " check response message"); - TEST_RESULT_STR( - strPtr(httpHeaderToLog(httpClientResponseHeader(client))), "{content-length: '7'}", " check response headers"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "CONTENT", " check response"); + TEST_RESULT_STR_Z(httpClientResponseMessage(client), "Auth Error", " check response message"); + TEST_RESULT_STR_Z( + httpHeaderToLog(httpClientResponseHeader(client)), "{content-length: '7'}", " check response headers"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "CONTENT", " check response"); // Request with content using content-length ioBufferSizeSet(30); @@ -533,17 +532,17 @@ testRun(void) httpHeaderAdd(httpHeaderNew(NULL), strNew("content-length"), strNew("30")), BUFSTRDEF("012345678901234567890123456789"), true), "request with content length"); - TEST_RESULT_STR( - strPtr(httpHeaderToLog(httpClientResponseHeader(client))), "{connection: 'close', content-length: '32'}", + TEST_RESULT_STR_Z( + httpHeaderToLog(httpClientResponseHeader(client)), "{connection: 'close', content-length: '32'}", " check response headers"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "01234567890123456789012345678901", " check response"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "01234567890123456789012345678901", " check response"); TEST_RESULT_UINT(httpClientRead(client, bufNew(1), true), 0, " call internal read to check eof"); // Request with eof before content complete with retry TEST_ASSIGN( buffer, httpClientRequest(client, strNew("GET"), strNew("/path/file 1.txt"), NULL, NULL, NULL, true), "request with content length retry"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "01234567890123456789012345678901", " check response"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "01234567890123456789012345678901", " check response"); TEST_RESULT_UINT(httpClientRead(client, bufNew(1), true), 0, " call internal read to check eof"); // Request with eof before content and error @@ -558,13 +557,12 @@ testRun(void) // Request with content using chunked encoding TEST_RESULT_VOID( httpClientRequest(client, strNew("GET"), strNew("/"), NULL, NULL, NULL, false), "request with chunked encoding"); - TEST_RESULT_STR( - strPtr(httpHeaderToLog(httpClientResponseHeader(client))), "{transfer-encoding: 'chunked'}", - " check response headers"); + TEST_RESULT_STR_Z( + httpHeaderToLog(httpClientResponseHeader(client)), "{transfer-encoding: 'chunked'}", " check response headers"); buffer = bufNew(35); TEST_RESULT_VOID(ioRead(httpClientIoRead(client), buffer), " read response"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "01234567890123456789012345678901012", " check response"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "01234567890123456789012345678901012", " check response"); TEST_RESULT_BOOL(httpClientStatStr() != NULL, true, "check statistics exist"); diff --git a/test/src/module/common/ioTest.c b/test/src/module/common/ioTest.c index 6dd304c48..b2fbb8f9e 100644 --- a/test/src/module/common/ioTest.c +++ b/test/src/module/common/ioTest.c @@ -308,8 +308,8 @@ testRun(void) IoFilter *bufferFilter = ioBufferNew(); TEST_RESULT_VOID(ioFilterGroupAdd(ioReadFilterGroup(bufferRead), bufferFilter), " add filter to filter group"); TEST_RESULT_PTR(ioFilterMove(NULL, memContextTop()), NULL, " move NULL filter to top context"); - TEST_RESULT_STR( - strPtr(jsonFromVar(ioFilterGroupParamAll(ioReadFilterGroup(bufferRead)))), + TEST_RESULT_STR_Z( + jsonFromVar(ioFilterGroupParamAll(ioReadFilterGroup(bufferRead))), "[{\"size\":null},{\"double\":[\"double\",2,3]},{\"size\":null},{\"buffer\":null}]", " check filter params"); TEST_RESULT_BOOL(ioReadOpen(bufferRead), true, " open"); @@ -317,27 +317,27 @@ testRun(void) TEST_RESULT_BOOL(ioReadEof(bufferRead), false, " not eof"); TEST_RESULT_SIZE(ioRead(bufferRead, buffer), 2, " read 2 bytes"); TEST_RESULT_SIZE(ioRead(bufferRead, buffer), 0, " read 0 bytes (full buffer)"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "11", " check read"); - TEST_RESULT_STR(strPtr(ioFilterType(sizeFilter)), "size", "check filter type"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "11", " check read"); + TEST_RESULT_STR_Z(ioFilterType(sizeFilter), "size", "check filter type"); TEST_RESULT_BOOL(ioReadEof(bufferRead), false, " not eof"); TEST_RESULT_VOID(bufUsedZero(buffer), " zero buffer"); TEST_RESULT_SIZE(ioRead(bufferRead, buffer), 2, " read 2 bytes"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "22", " check read"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "22", " check read"); TEST_ASSIGN(buffer, bufNew(3), "change output buffer size to 3"); TEST_RESULT_SIZE(ioRead(bufferRead, buffer), 3, " read 3 bytes"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "33X", " check read"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "33X", " check read"); TEST_RESULT_VOID(bufUsedZero(buffer), " zero buffer"); TEST_RESULT_SIZE(ioRead(bufferRead, buffer), 2, " read 2 bytes"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "XX", " check read"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "XX", " check read"); TEST_RESULT_BOOL(ioReadEof(bufferRead), true, " eof"); TEST_RESULT_BOOL(ioBufferRead(ioReadDriver(bufferRead), buffer, true), 0, " eof from driver"); TEST_RESULT_SIZE(ioRead(bufferRead, buffer), 0, " read 0 bytes"); TEST_RESULT_VOID(ioReadClose(bufferRead), " close buffer read object"); - TEST_RESULT_STR( - strPtr(jsonFromVar(ioFilterGroupResultAll(ioReadFilterGroup(bufferRead)))), + TEST_RESULT_STR_Z( + jsonFromVar(ioFilterGroupResultAll(ioReadFilterGroup(bufferRead))), "{\"buffer\":null,\"double\":null,\"size\":[3,9]}", " check filter result all"); @@ -379,7 +379,7 @@ testRun(void) " add filter that produces output with no input"); TEST_RESULT_BOOL(ioReadOpen(bufferRead), true, " open read"); TEST_RESULT_UINT(ioRead(bufferRead, buffer), 5, " read 5 chars"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "YYYYY", " check buffer"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "YYYYY", " check buffer"); // Mixed line and buffer read // ------------------------------------------------------------------------------------------------------------------------- @@ -390,24 +390,24 @@ testRun(void) // Start with a buffer read TEST_RESULT_INT(ioRead(read, buffer), 3, "read buffer"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "AAA", " check buffer"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "AAA", " check buffer"); // Do line reads of various lengths - TEST_RESULT_STR(strPtr(ioReadLine(read)), "123", "read line"); - TEST_RESULT_STR(strPtr(ioReadLine(read)), "1234", "read line"); - TEST_RESULT_STR(strPtr(ioReadLine(read)), "", "read line"); - TEST_RESULT_STR(strPtr(ioReadLine(read)), "12", "read line"); + TEST_RESULT_STR_Z(ioReadLine(read), "123", "read line"); + TEST_RESULT_STR_Z(ioReadLine(read), "1234", "read line"); + TEST_RESULT_STR_Z(ioReadLine(read), "", "read line"); + TEST_RESULT_STR_Z(ioReadLine(read), "12", "read line"); // Read what was left in the line buffer TEST_RESULT_INT(ioRead(read, buffer), 0, "read buffer"); bufUsedSet(buffer, 2); TEST_RESULT_INT(ioRead(read, buffer), 1, "read buffer"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "AAB", " check buffer"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "AAB", " check buffer"); bufUsedSet(buffer, 0); // Now do a full buffer read from the input TEST_RESULT_INT(ioRead(read, buffer), 3, "read buffer"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "DDD", " check buffer"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "DDD", " check buffer"); // Read line doesn't work without a linefeed TEST_ERROR(ioReadLine(read), FileReadError, "unexpected eof while reading line"); @@ -415,11 +415,11 @@ testRun(void) // But those bytes can be picked up by a buffer read buffer = bufNew(2); TEST_RESULT_INT(ioRead(read, buffer), 2, "read buffer"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "EF", " check buffer"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "EF", " check buffer"); buffer = bufNew(1); TEST_RESULT_INT(ioRead(read, buffer), 1, "read buffer"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "F", " check buffer"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "F", " check buffer"); // Nothing left to read TEST_ERROR(ioReadLine(read), FileReadError, "unexpected eof while reading line"); @@ -434,7 +434,7 @@ testRun(void) // Read line without eof read = ioBufferReadNew(BUFSTRDEF("1234")); ioReadOpen(read); - TEST_RESULT_STR(strPtr(ioReadLineParam(read, true)), "1234", "read line without eof"); + TEST_RESULT_STR_Z(ioReadLineParam(read, true), "1234", "read line without eof"); // Read IO into a buffer // ------------------------------------------------------------------------------------------------------------------------- @@ -443,7 +443,7 @@ testRun(void) bufferRead = ioBufferReadNew(BUFSTRDEF("a test string")); ioReadOpen(bufferRead); - TEST_RESULT_STR(strPtr(strNewBuf(ioReadBuf(bufferRead))), "a test string", "read into buffer"); + TEST_RESULT_STR_Z(strNewBuf(ioReadBuf(bufferRead)), "a test string", "read into buffer"); // Drain read IO // ------------------------------------------------------------------------------------------------------------------------- @@ -499,15 +499,15 @@ testRun(void) TEST_RESULT_VOID(ioWriteLine(bufferWrite, BUFSTRDEF("AB")), " write line"); TEST_RESULT_VOID(ioWrite(bufferWrite, bufNew(0)), " write 0 bytes"); TEST_RESULT_VOID(ioWrite(bufferWrite, NULL), " write 0 bytes"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "AABB\n\n", " check write"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "AABB\n\n", " check write"); TEST_RESULT_VOID(ioWriteStr(bufferWrite, STRDEF("Z")), " write string"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "AABB\n\n", " no change because output buffer is not full"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "AABB\n\n", " no change because output buffer is not full"); TEST_RESULT_VOID(ioWriteStr(bufferWrite, STRDEF("12345")), " write bytes"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "AABB\n\nZZ1122334455", " check write"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "AABB\n\nZZ1122334455", " check write"); TEST_RESULT_VOID(ioWriteClose(bufferWrite), " close buffer write object"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "AABB\n\nZZ1122334455XXXY", " check write after close"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "AABB\n\nZZ1122334455XXXY", " check write after close"); TEST_RESULT_PTR(ioWriteFilterGroup(bufferWrite), filterGroup, " check filter group"); TEST_RESULT_UINT( @@ -561,7 +561,7 @@ testRun(void) TEST_RESULT_PTR(ioReadDriver(read), read->driver, "check driver"); // Read a string - TEST_RESULT_STR(strPtr(ioReadLine(read)), "test string 1", "read test string"); + TEST_RESULT_STR_Z(ioReadLine(read), "test string 1", "read test string"); // Only part of the buffer is written before timeout Buffer *buffer = bufNew(16); @@ -576,7 +576,7 @@ testRun(void) TEST_RESULT_UINT(ioRead(read, buffer), 12, "read buffer"); bufLimitClear(buffer); TEST_RESULT_UINT(ioRead(read, buffer), 4, "read buffer"); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "1234567812345678", "check buffer"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "1234567812345678", "check buffer"); // Check EOF buffer = bufNew(16); diff --git a/test/src/module/common/ioTlsTest.c b/test/src/module/common/ioTlsTest.c index fe151cd6b..7e933f955 100644 --- a/test/src/module/common/ioTlsTest.c +++ b/test/src/module/common/ioTlsTest.c @@ -208,7 +208,7 @@ testRun(void) // Reset statistics tlsClientStatLocal = (TlsClientStat){0}; - TEST_RESULT_STR(tlsClientStatStr(), NULL, "no stats yet"); + TEST_RESULT_PTR(tlsClientStatStr(), NULL, "no stats yet"); testTlsServer(); ioBufferSizeSet(12); @@ -221,17 +221,17 @@ testRun(void) TEST_RESULT_VOID(ioWrite(tlsClientIoWrite(client), input), "write input"); ioWriteFlush(tlsClientIoWrite(client)); - TEST_RESULT_STR(strPtr(ioReadLine(tlsClientIoRead(client))), "something:0", "read line"); + TEST_RESULT_STR_Z(ioReadLine(tlsClientIoRead(client)), "something:0", "read line"); TEST_RESULT_BOOL(ioReadEof(tlsClientIoRead(client)), false, " check eof = false"); Buffer *output = bufNew(12); TEST_RESULT_INT(ioRead(tlsClientIoRead(client), output), 12, "read output"); - TEST_RESULT_STR(strPtr(strNewBuf(output)), "some content", " check output"); + TEST_RESULT_STR_Z(strNewBuf(output), "some content", " check output"); TEST_RESULT_BOOL(ioReadEof(tlsClientIoRead(client)), false, " check eof = false"); output = bufNew(8); TEST_RESULT_INT(ioRead(tlsClientIoRead(client), output), 8, "read output"); - TEST_RESULT_STR(strPtr(strNewBuf(output)), "AND MORE", " check output"); + TEST_RESULT_STR_Z(strNewBuf(output), "AND MORE", " check output"); TEST_RESULT_BOOL(ioReadEof(tlsClientIoRead(client)), false, " check eof = false"); output = bufNew(12); @@ -247,7 +247,7 @@ testRun(void) output = bufNew(12); TEST_RESULT_INT(ioRead(tlsClientIoRead(client), output), 12, "read output"); - TEST_RESULT_STR(strPtr(strNewBuf(output)), "0123456789AB", " check output"); + TEST_RESULT_STR_Z(strNewBuf(output), "0123456789AB", " check output"); TEST_RESULT_BOOL(ioReadEof(tlsClientIoRead(client)), false, " check eof = false"); output = bufNew(12); diff --git a/test/src/module/common/logTest.c b/test/src/module/common/logTest.c index ebfec8147..31c7c410e 100644 --- a/test/src/module/common/logTest.c +++ b/test/src/module/common/logTest.c @@ -108,9 +108,9 @@ testRun(void) TEST_RESULT_INT(logLevelEnum("TRACE"), logLevelTrace, "log level 'TRACE' found"); TEST_ERROR(logLevelStr(999), AssertError, "assertion 'logLevel <= LOG_LEVEL_MAX' failed"); - TEST_RESULT_STR(logLevelStr(logLevelOff), "OFF", "log level 'OFF' found"); - TEST_RESULT_STR(logLevelStr(logLevelInfo), "INFO", "log level 'INFO' found"); - TEST_RESULT_STR(logLevelStr(logLevelTrace), "TRACE", "log level 'TRACE' found"); + TEST_RESULT_Z(logLevelStr(logLevelOff), "OFF", "log level 'OFF' found"); + TEST_RESULT_Z(logLevelStr(logLevelInfo), "INFO", "log level 'INFO' found"); + TEST_RESULT_Z(logLevelStr(logLevelTrace), "TRACE", "log level 'TRACE' found"); } // ***************************************************************************************************************************** @@ -196,7 +196,7 @@ testRun(void) logBuffer[0] = 0; TEST_RESULT_VOID( logInternalFmt(logLevelWarn, LOG_LEVEL_MIN, LOG_LEVEL_MAX, 0, "file", "function", 0, "format %d", 99), "log warn"); - TEST_RESULT_STR(logBuffer, "P00 WARN: format 99\n", " check log"); + TEST_RESULT_Z(logBuffer, "P00 WARN: format 99\n", " check log"); // This won't be logged due to the range TEST_RESULT_VOID( @@ -205,13 +205,13 @@ testRun(void) logBuffer[0] = 0; TEST_RESULT_VOID( logInternal(logLevelError, LOG_LEVEL_MIN, LOG_LEVEL_MAX, 0, "file", "function", 26, "message"), "log error"); - TEST_RESULT_STR(logBuffer, "P00 ERROR: [026]: message\n", " check log"); + TEST_RESULT_Z(logBuffer, "P00 ERROR: [026]: message\n", " check log"); logBuffer[0] = 0; TEST_RESULT_VOID( logInternal(logLevelError, LOG_LEVEL_MIN, LOG_LEVEL_MAX, 0, "file", "function", 26, "message1\nmessage2"), "log error with multiple lines"); - TEST_RESULT_STR(logBuffer, "P00 ERROR: [026]: message1\nmessage2\n", " check log"); + TEST_RESULT_Z(logBuffer, "P00 ERROR: [026]: message1\nmessage2\n", " check log"); TEST_RESULT_VOID(logInit(logLevelDebug, logLevelDebug, logLevelDebug, false, 999), "init logging to debug"); @@ -224,7 +224,7 @@ testRun(void) TEST_RESULT_VOID( logInternal( logLevelDebug, LOG_LEVEL_MIN, LOG_LEVEL_MAX, 999, "test.c", "test_func", 0, "message\nmessage2"), "log debug"); - TEST_RESULT_STR(logBuffer, "P999 DEBUG: test::test_func: message\nmessage2\n", " check log"); + TEST_RESULT_Z(logBuffer, "P999 DEBUG: test::test_func: message\nmessage2\n", " check log"); // This won't be logged due to the range TEST_RESULT_VOID( @@ -233,7 +233,7 @@ testRun(void) logBuffer[0] = 0; TEST_RESULT_VOID( logInternal(logLevelTrace, LOG_LEVEL_MIN, LOG_LEVEL_MAX, 0, "test.c", "test_func", 0, "message"), "log debug"); - TEST_RESULT_STR(logBuffer, "P000 TRACE: test::test_func: message\n", " check log"); + TEST_RESULT_Z(logBuffer, "P000 TRACE: test::test_func: message\n", " check log"); // Reopen the log file TEST_RESULT_VOID(logInit(logLevelDebug, logLevelDebug, logLevelDebug, false, 99), "reduce log size"); @@ -242,10 +242,10 @@ testRun(void) logBuffer[0] = 0; TEST_RESULT_VOID( logInternal(logLevelInfo, LOG_LEVEL_MIN, LOG_LEVEL_MAX, 1, "test.c", "test_func", 0, "info message"), "log info"); - TEST_RESULT_STR(logBuffer, "P01 INFO: info message\n", " check log"); + TEST_RESULT_Z(logBuffer, "P01 INFO: info message\n", " check log"); TEST_RESULT_VOID( logInternal(logLevelInfo, LOG_LEVEL_MIN, LOG_LEVEL_MAX, 99, "test.c", "test_func", 0, "info message 2"), "log info"); - TEST_RESULT_STR(logBuffer, "P99 INFO: info message 2\n", " check log"); + TEST_RESULT_Z(logBuffer, "P99 INFO: info message 2\n", " check log"); // Reopen invalid log file TEST_RESULT_BOOL(logFileSet("/" BOGUS_STR), false, "attempt to open bogus file"); diff --git a/test/src/module/common/memContextTest.c b/test/src/module/common/memContextTest.c index 64efaf405..1c9bb5732 100644 --- a/test/src/module/common/memContextTest.c +++ b/test/src/module/common/memContextTest.c @@ -93,7 +93,7 @@ testRun(void) if (testBegin("memContextNew() and memContextFree()")) { // Make sure top context was created - TEST_RESULT_STR(memContextName(memContextTop()), "TOP", "top context should exist"); + TEST_RESULT_Z(memContextName(memContextTop()), "TOP", "top context should exist"); TEST_RESULT_INT(memContextTop()->contextChildListSize, 0, "top context should init with zero children"); TEST_RESULT_PTR(memContextTop()->contextChildList, NULL, "top context child list empty"); @@ -104,7 +104,7 @@ testRun(void) TEST_ERROR(memContextNew(""), AssertError, "assertion 'name[0] != '\\0'' failed"); MemContext *memContext = memContextNew("test1"); - TEST_RESULT_STR(memContextName(memContext), "test1", "test1 context name"); + TEST_RESULT_Z(memContextName(memContext), "test1", "test1 context name"); TEST_RESULT_PTR(memContext->contextParent, memContextTop(), "test1 context parent is top"); TEST_RESULT_INT(memContextTop()->contextChildListSize, MEM_CONTEXT_INITIAL_SIZE, "initial top context child list size"); @@ -118,7 +118,7 @@ testRun(void) memContextNew("test-filler"); TEST_RESULT_BOOL( memContextTop()->contextChildList[contextIdx]->state == memContextStateActive, true, "new context is active"); - TEST_RESULT_STR(memContextName(memContextTop()->contextChildList[contextIdx]), "test-filler", "new context name"); + TEST_RESULT_Z(memContextName(memContextTop()->contextChildList[contextIdx]), "test-filler", "new context name"); } // This forces the child context array to grow @@ -138,7 +138,7 @@ testRun(void) TEST_RESULT_BOOL( memContextTop()->contextChildList[1]->state == memContextStateActive, true, "new context in same index as freed context is active"); - TEST_RESULT_STR(memContextName(memContextTop()->contextChildList[1]), "test-reuse", "new context name"); + TEST_RESULT_Z(memContextName(memContextTop()->contextChildList[1]), "test-reuse", "new context name"); TEST_RESULT_UINT(memContextTop()->contextChildFreeIdx, 2, "check context free idx"); // Next context will be at the end @@ -276,23 +276,23 @@ testRun(void) // Check normal block MEM_CONTEXT_BEGIN(memContext) { - TEST_RESULT_STR(memContextName(memContextCurrent()), "test-block", "context is now test-block"); + TEST_RESULT_Z(memContextName(memContextCurrent()), "test-block", "context is now test-block"); } MEM_CONTEXT_END(); - TEST_RESULT_STR(memContextName(memContextCurrent()), "TOP", "context is now top"); + TEST_RESULT_Z(memContextName(memContextCurrent()), "TOP", "context is now top"); // Check block that errors TEST_ERROR( MEM_CONTEXT_BEGIN(memContext) { - TEST_RESULT_STR(memContextName(memContextCurrent()), "test-block", "context is now test-block"); + TEST_RESULT_Z(memContextName(memContextCurrent()), "test-block", "context is now test-block"); THROW(AssertError, "error in test block"); } MEM_CONTEXT_END(), AssertError, "error in test block"); - TEST_RESULT_STR(memContextName(memContextCurrent()), "TOP", "context is now top"); + TEST_RESULT_Z(memContextName(memContextCurrent()), "TOP", "context is now top"); // Reset temp mem context after a single interaction // ------------------------------------------------------------------------------------------------------------------------- @@ -320,7 +320,7 @@ testRun(void) { memContext = MEM_CONTEXT_NEW(); TEST_RESULT_PTR(memContext, memContextCurrent(), "new mem context is current"); - TEST_RESULT_STR(memContextName(memContext), memContextTestName, "context is now '%s'", memContextTestName); + TEST_RESULT_Z(memContextName(memContext), memContextTestName, "context is now '%s'", memContextTestName); } MEM_CONTEXT_NEW_END(); @@ -338,7 +338,7 @@ testRun(void) MEM_CONTEXT_NEW_BEGIN(memContextTestName) { memContext = MEM_CONTEXT_NEW(); - TEST_RESULT_STR(memContextName(memContext), memContextTestName, "context is now '%s'", memContextTestName); + TEST_RESULT_Z(memContextName(memContext), memContextTestName, "context is now '%s'", memContextTestName); THROW(AssertError, "create failed"); } MEM_CONTEXT_NEW_END(); diff --git a/test/src/module/common/regExpTest.c b/test/src/module/common/regExpTest.c index 06494dfb0..e8f397ab6 100644 --- a/test/src/module/common/regExpTest.c +++ b/test/src/module/common/regExpTest.c @@ -61,20 +61,20 @@ testRun(void) TEST_RESULT_PTR(regExpPrefix(strNew("ABC")), NULL, "expression without begin anchor has no prefix"); TEST_RESULT_PTR(regExpPrefix(strNew("^.")), NULL, "expression with no regular character has no prefix"); - TEST_RESULT_STR(strPtr(regExpPrefix(strNew("^ABC^"))), "ABC", "prefix stops at special character"); - TEST_RESULT_STR(strPtr(regExpPrefix(strNew("^ABC$"))), "ABC", "prefix stops at special character"); - TEST_RESULT_STR(strPtr(regExpPrefix(strNew("^ABC*"))), "ABC", "prefix stops at special character"); - TEST_RESULT_STR(strPtr(regExpPrefix(strNew("^ABC+"))), "ABC", "prefix stops at special character"); - TEST_RESULT_STR(strPtr(regExpPrefix(strNew("^ABC-"))), "ABC", "prefix stops at special character"); - TEST_RESULT_STR(strPtr(regExpPrefix(strNew("^ABC?"))), "ABC", "prefix stops at special character"); - TEST_RESULT_STR(strPtr(regExpPrefix(strNew("^ABC("))), "ABC", "prefix stops at special character"); - TEST_RESULT_STR(strPtr(regExpPrefix(strNew("^ABC["))), "ABC", "prefix stops at special character"); - TEST_RESULT_STR(strPtr(regExpPrefix(strNew("^ABC{"))), "ABC", "prefix stops at special character"); - TEST_RESULT_STR(strPtr(regExpPrefix(strNew("^ABC "))), "ABC", "prefix stops at special character"); - TEST_RESULT_STR(strPtr(regExpPrefix(strNew("^ABC|"))), "ABC", "prefix stops at special character"); - TEST_RESULT_STR(strPtr(regExpPrefix(strNew("^ABC\\"))), "ABC", "prefix stops at special character"); + TEST_RESULT_STR_Z(regExpPrefix(strNew("^ABC^")), "ABC", "prefix stops at special character"); + TEST_RESULT_STR_Z(regExpPrefix(strNew("^ABC$")), "ABC", "prefix stops at special character"); + TEST_RESULT_STR_Z(regExpPrefix(strNew("^ABC*")), "ABC", "prefix stops at special character"); + TEST_RESULT_STR_Z(regExpPrefix(strNew("^ABC+")), "ABC", "prefix stops at special character"); + TEST_RESULT_STR_Z(regExpPrefix(strNew("^ABC-")), "ABC", "prefix stops at special character"); + TEST_RESULT_STR_Z(regExpPrefix(strNew("^ABC?")), "ABC", "prefix stops at special character"); + TEST_RESULT_STR_Z(regExpPrefix(strNew("^ABC(")), "ABC", "prefix stops at special character"); + TEST_RESULT_STR_Z(regExpPrefix(strNew("^ABC[")), "ABC", "prefix stops at special character"); + TEST_RESULT_STR_Z(regExpPrefix(strNew("^ABC{")), "ABC", "prefix stops at special character"); + TEST_RESULT_STR_Z(regExpPrefix(strNew("^ABC ")), "ABC", "prefix stops at special character"); + TEST_RESULT_STR_Z(regExpPrefix(strNew("^ABC|")), "ABC", "prefix stops at special character"); + TEST_RESULT_STR_Z(regExpPrefix(strNew("^ABC\\")), "ABC", "prefix stops at special character"); - TEST_RESULT_STR(strPtr(regExpPrefix(strNew("^ABCDEF"))), "ABCDEF", "prefix is entire expression"); + TEST_RESULT_STR_Z(regExpPrefix(strNew("^ABCDEF")), "ABCDEF", "prefix is entire expression"); } // ***************************************************************************************************************************** diff --git a/test/src/module/common/stackTraceTest.c b/test/src/module/common/stackTraceTest.c index b9857456e..d8752ccad 100644 --- a/test/src/module/common/stackTraceTest.c +++ b/test/src/module/common/stackTraceTest.c @@ -17,11 +17,11 @@ testRun(void) char buffer[8]; TEST_RESULT_INT(stackTraceFmt(buffer, 8, 0, "%s", "1234567"), 7, "fill buffer"); - TEST_RESULT_STR(buffer, "1234567", " check buffer"); + TEST_RESULT_Z(buffer, "1234567", " check buffer"); TEST_RESULT_INT(stackTraceFmt(buffer, 8, 7, "%s", "1234567"), 7, "try to fill buffer - at end"); - TEST_RESULT_STR(buffer, "1234567", " check buffer is unmodified"); + TEST_RESULT_Z(buffer, "1234567", " check buffer is unmodified"); TEST_RESULT_INT(stackTraceFmt(buffer, 8, 8, "%s", "1234567"), 7, "try to fill buffer - past end"); - TEST_RESULT_STR(buffer, "1234567", " check buffer is unmodified"); + TEST_RESULT_Z(buffer, "1234567", " check buffer is unmodified"); } // ***************************************************************************************************************************** @@ -88,14 +88,14 @@ testRun(void) stackTraceToZ(buffer, sizeof(buffer), "file1.c", "function2", 99); #ifdef WITH_BACKTRACE - TEST_RESULT_STR( + TEST_RESULT_Z( buffer, "file1:function2:99:(test build required for parameters)\n" " ... function(s) omitted ...\n" "file1:function1:0:(void)", " check stack trace"); #else - TEST_RESULT_STR( + TEST_RESULT_Z( buffer, "file1:function2:99:(test build required for parameters)\n" " ... function(s) omitted ...\n" @@ -153,7 +153,7 @@ testRun(void) stackTraceToZ(buffer, sizeof(buffer), "file4.c", "function4", 99); #ifdef WITH_BACKTRACE - TEST_RESULT_STR( + TEST_RESULT_Z( buffer, "file4:function4:99:(buffer full - parameters not available)\n" "file3:function3:7777:(param1: value1, param2: value2)\n" @@ -162,7 +162,7 @@ testRun(void) "file1:function1:7777:(void)", "stack trace"); #else - TEST_RESULT_STR( + TEST_RESULT_Z( buffer, "file4:function4:99:(buffer full - parameters not available)\n" "file3:function3:(param1: value1, param2: value2)\n" diff --git a/test/src/module/common/typeBufferTest.c b/test/src/module/common/typeBufferTest.c index b65db0276..2711fd333 100644 --- a/test/src/module/common/typeBufferTest.c +++ b/test/src/module/common/typeBufferTest.c @@ -126,33 +126,33 @@ testRun(void) // ***************************************************************************************************************************** if (testBegin("bufHex()")) { - TEST_RESULT_STR(strPtr(bufHex(BUFSTRDEF("ABC-CBA"))), "4142432d434241", "buffer to hex"); + TEST_RESULT_STR_Z(bufHex(BUFSTRDEF("ABC-CBA")), "4142432d434241", "buffer to hex"); } // ***************************************************************************************************************************** if (testBegin("bufCat*()")) { - TEST_RESULT_STR(strPtr(strNewBuf(bufCat(bufNewC("123", 3), NULL))), "123", "cat null buffer"); - TEST_RESULT_STR(strPtr(strNewBuf(bufCat(bufNewC("123", 3), bufNew(0)))), "123", "cat empty buffer"); - TEST_RESULT_STR(strPtr(strNewBuf(bufCat(bufNewC("123", 3), BUFSTRDEF("ABC")))), "123ABC", "cat buffer"); + TEST_RESULT_STR_Z(strNewBuf(bufCat(bufNewC("123", 3), NULL)), "123", "cat null buffer"); + TEST_RESULT_STR_Z(strNewBuf(bufCat(bufNewC("123", 3), bufNew(0))), "123", "cat empty buffer"); + TEST_RESULT_STR_Z(strNewBuf(bufCat(bufNewC("123", 3), BUFSTRDEF("ABC"))), "123ABC", "cat buffer"); - TEST_RESULT_STR(strPtr(strNewBuf(bufCatSub(bufNewC("123", 3), NULL, 0, 0))), "123", "cat sub null buffer"); - TEST_RESULT_STR(strPtr(strNewBuf(bufCatSub(bufNewC("123", 3), bufNew(0), 0, 0))), "123", "cat sub empty buffer"); - TEST_RESULT_STR(strPtr(strNewBuf(bufCatSub(bufNewC("123", 3), BUFSTRDEF("ABC"), 1, 2))), "123BC", "cat sub buffer"); + TEST_RESULT_STR_Z(strNewBuf(bufCatSub(bufNewC("123", 3), NULL, 0, 0)), "123", "cat sub null buffer"); + TEST_RESULT_STR_Z(strNewBuf(bufCatSub(bufNewC("123", 3), bufNew(0), 0, 0)), "123", "cat sub empty buffer"); + TEST_RESULT_STR_Z(strNewBuf(bufCatSub(bufNewC("123", 3), BUFSTRDEF("ABC"), 1, 2)), "123BC", "cat sub buffer"); Buffer *buffer = NULL; TEST_ASSIGN(buffer, bufNew(2), "new buffer with space"); - TEST_RESULT_STR(strPtr(strNewBuf(bufCat(buffer, BUFSTRDEF("AB")))), "AB", "cat buffer with space"); + TEST_RESULT_STR_Z(strNewBuf(bufCat(buffer, BUFSTRDEF("AB"))), "AB", "cat buffer with space"); } // ***************************************************************************************************************************** if (testBegin("bufToLog()")) { Buffer *buffer = bufNew(100); - TEST_RESULT_STR(strPtr(bufToLog(buffer)), "{used: 0, size: 100, limit: }", "buf to log"); + TEST_RESULT_STR_Z(bufToLog(buffer), "{used: 0, size: 100, limit: }", "buf to log"); bufLimitSet(buffer, 50); - TEST_RESULT_STR(strPtr(bufToLog(buffer)), "{used: 0, size: 100, limit: 50}", "buf to log"); + TEST_RESULT_STR_Z(bufToLog(buffer), "{used: 0, size: 100, limit: 50}", "buf to log"); } FUNCTION_HARNESS_RESULT_VOID(); diff --git a/test/src/module/common/typeConvertTest.c b/test/src/module/common/typeConvertTest.c index a5a140110..a0e08220d 100644 --- a/test/src/module/common/typeConvertTest.c +++ b/test/src/module/common/typeConvertTest.c @@ -19,9 +19,9 @@ testRun(void) TEST_ERROR(cvtBoolToZ(true, buffer, 4), AssertError, "buffer overflow"); TEST_RESULT_INT(cvtBoolToZ(true, buffer, STACK_TRACE_PARAM_MAX), 4, "convert true bool to string"); - TEST_RESULT_STR(buffer, "true", " check buffer"); + TEST_RESULT_Z(buffer, "true", " check buffer"); TEST_RESULT_INT(cvtBoolToZ(false, buffer, STACK_TRACE_PARAM_MAX), 5, "convert false bool to string"); - TEST_RESULT_STR(buffer, "false", " check buffer"); + TEST_RESULT_Z(buffer, "false", " check buffer"); } // ***************************************************************************************************************************** @@ -32,7 +32,7 @@ testRun(void) TEST_ERROR(cvtCharToZ('A', buffer, 1), AssertError, "buffer overflow"); TEST_RESULT_INT(cvtCharToZ('C', buffer, STACK_TRACE_PARAM_MAX), 1, "convert char to string"); - TEST_RESULT_STR(buffer, "C", " check buffer"); + TEST_RESULT_Z(buffer, "C", " check buffer"); } // ***************************************************************************************************************************** @@ -43,13 +43,13 @@ testRun(void) TEST_ERROR(cvtDoubleToZ(999.1234, buffer, 4), AssertError, "buffer overflow"); TEST_RESULT_INT(cvtDoubleToZ(999.1234, buffer, STACK_TRACE_PARAM_MAX), 8, "convert double to string"); - TEST_RESULT_STR(buffer, "999.1234", " check buffer"); + TEST_RESULT_Z(buffer, "999.1234", " check buffer"); TEST_RESULT_INT(cvtDoubleToZ(999999999.123456, buffer, STACK_TRACE_PARAM_MAX), 16, "convert double to string"); - TEST_RESULT_STR(buffer, "999999999.123456", " check buffer"); + TEST_RESULT_Z(buffer, "999999999.123456", " check buffer"); TEST_RESULT_INT(cvtDoubleToZ(999.0, buffer, STACK_TRACE_PARAM_MAX), 3, "convert double to string"); - TEST_RESULT_STR(buffer, "999", " check buffer"); + TEST_RESULT_Z(buffer, "999", " check buffer"); TEST_ERROR(cvtZToDouble("AAA"), FormatError, "unable to convert string 'AAA' to double"); TEST_RESULT_DOUBLE(cvtZToDouble("0"), 0, "convert string to double"); @@ -65,7 +65,7 @@ testRun(void) TEST_ERROR(cvtIntToZ(9999, buffer, 4), AssertError, "buffer overflow"); TEST_RESULT_INT(cvtIntToZ(1234567890, buffer, STACK_TRACE_PARAM_MAX), 10, "convert int to string"); - TEST_RESULT_STR(buffer, "1234567890", " check buffer"); + TEST_RESULT_Z(buffer, "1234567890", " check buffer"); TEST_ERROR(cvtZToInt("FEF"), FormatError, "unable to convert base 10 string 'FEF' to int"); TEST_ERROR(cvtZToInt("9223372036854775807"), FormatError, "unable to convert base 10 string '9223372036854775807' to int"); @@ -86,7 +86,7 @@ testRun(void) TEST_ERROR(cvtModeToZ(0750, buffer, 4), AssertError, "buffer overflow"); TEST_RESULT_INT(cvtModeToZ(0777, buffer, STACK_TRACE_PARAM_MAX), 4, "convert mode to string"); - TEST_RESULT_STR(buffer, "0777", " check buffer"); + TEST_RESULT_Z(buffer, "0777", " check buffer"); TEST_RESULT_UINT(cvtZToMode("0700"), 0700, "convert string to mode"); } @@ -99,13 +99,13 @@ testRun(void) TEST_ERROR(cvtSizeToZ(9999, buffer, 4), AssertError, "buffer overflow"); TEST_RESULT_UINT(cvtSizeToZ(4294967295, buffer, STACK_TRACE_PARAM_MAX), 10, "convert size to string"); - TEST_RESULT_STR(buffer, "4294967295", " check buffer"); + TEST_RESULT_Z(buffer, "4294967295", " check buffer"); // ------------------------------------------------------------------------------------------------------------------------ TEST_ERROR(cvtSSizeToZ(-9999, buffer, 4), AssertError, "buffer overflow"); TEST_RESULT_INT(cvtSSizeToZ(-9999, buffer, STACK_TRACE_PARAM_MAX), 5, "convert ssize to string"); - TEST_RESULT_STR(buffer, "-9999", " check buffer"); + TEST_RESULT_Z(buffer, "-9999", " check buffer"); } // ***************************************************************************************************************************** @@ -116,7 +116,7 @@ testRun(void) TEST_ERROR(cvtTimeToZ(9999, buffer, 4), AssertError, "buffer overflow"); TEST_RESULT_UINT(cvtTimeToZ(1573222014, buffer, STACK_TRACE_PARAM_MAX), 10, "convert time to string"); - TEST_RESULT_STR(buffer, "1573222014", " check buffer"); + TEST_RESULT_Z(buffer, "1573222014", " check buffer"); } // ***************************************************************************************************************************** @@ -127,7 +127,7 @@ testRun(void) TEST_ERROR(cvtUIntToZ(9999, buffer, 4), AssertError, "buffer overflow"); TEST_RESULT_INT(cvtUIntToZ(4294967295, buffer, STACK_TRACE_PARAM_MAX), 10, "convert unsigned int to string"); - TEST_RESULT_STR(buffer, "4294967295", " check buffer"); + TEST_RESULT_Z(buffer, "4294967295", " check buffer"); TEST_ERROR(cvtZToUInt("-1"), FormatError, "unable to convert base 10 string '-1' to unsigned int"); TEST_ERROR(cvtZToUInt("5000000000"), FormatError, "unable to convert base 10 string '5000000000' to unsigned int"); @@ -144,7 +144,7 @@ testRun(void) TEST_ERROR(cvtInt64ToZ(9999, buffer, 4), AssertError, "buffer overflow"); TEST_RESULT_INT(cvtInt64ToZ(9223372036854775807, buffer, STACK_TRACE_PARAM_MAX), 19, "convert int64 to string"); - TEST_RESULT_STR(buffer, "9223372036854775807", " check buffer"); + TEST_RESULT_Z(buffer, "9223372036854775807", " check buffer"); TEST_ERROR(cvtZToInt64("123INV"), FormatError, "unable to convert base 10 string '123INV' to int64"); TEST_ERROR(cvtZToInt64("FEF"), FormatError, "unable to convert base 10 string 'FEF' to int64"); @@ -169,7 +169,7 @@ testRun(void) TEST_ERROR(cvtUInt64ToZ(9999, buffer, 4), AssertError, "buffer overflow"); TEST_RESULT_INT(cvtUInt64ToZ(0xFFFFFFFFFFFFFFFF, buffer, STACK_TRACE_PARAM_MAX), 20, "convert uint64 to string"); - TEST_RESULT_STR(buffer, "18446744073709551615", " check buffer"); + TEST_RESULT_Z(buffer, "18446744073709551615", " check buffer"); TEST_ERROR(cvtZToUInt64("FEF"), FormatError, "unable to convert base 10 string 'FEF' to uint64"); TEST_ERROR(cvtZToUInt64(" 10"), FormatError, "unable to convert base 10 string ' 10' to uint64"); diff --git a/test/src/module/common/typeJsonTest.c b/test/src/module/common/typeJsonTest.c index c9ce4e7da..755edeff0 100644 --- a/test/src/module/common/typeJsonTest.c +++ b/test/src/module/common/typeJsonTest.c @@ -41,9 +41,9 @@ testRun(void) TEST_ERROR(jsonToStr(strNew("nullz")), JsonFormatError, "unexpected characters after string at 'z'"); TEST_RESULT_PTR(jsonToStr(strNew("null")), NULL, "null string"); - TEST_RESULT_STR(strPtr(jsonToStr(strNew(" \"test\""))), "test", "simple string"); - TEST_RESULT_STR(strPtr(jsonToStr(strNew("\"te\\\"st\" "))), "te\"st", "string with quote"); - TEST_RESULT_STR(strPtr(jsonToStr(strNew("\"\\\"\\\\\\/\\b\\n\\r\\t\\f\""))), "\"\\/\b\n\r\t\f", "string with escapes"); + TEST_RESULT_STR_Z(jsonToStr(strNew(" \"test\"")), "test", "simple string"); + TEST_RESULT_STR_Z(jsonToStr(strNew("\"te\\\"st\" ")), "te\"st", "string with quote"); + TEST_RESULT_STR_Z(jsonToStr(strNew("\"\\\"\\\\\\/\\b\\n\\r\\t\\f\"")), "\"\\/\b\n\r\t\f", "string with escapes"); } // ***************************************************************************************************************************** @@ -59,7 +59,7 @@ testRun(void) TEST_ASSIGN(kv, jsonToKv(strNew("{\"key1\": 747, \"key2\":\"value2\",\"key3\"\t:\t[\t] }")), "object"); TEST_RESULT_UINT(varLstSize(kvKeyList(kv)), 3, "check key total"); TEST_RESULT_UINT(varUInt64(kvGet(kv, varNewStr(strNew("key1")))), 747, "check object uint"); - TEST_RESULT_STR(strPtr(varStr(kvGet(kv, varNewStr(strNew("key2"))))), "value2", "check object str"); + TEST_RESULT_STR_Z(varStr(kvGet(kv, varNewStr(strNew("key2")))), "value2", "check object str"); TEST_RESULT_UINT(varLstSize(varVarLst(kvGet(kv, varNewStr(strNew("key3"))))), 0, "check empty array"); TEST_ASSIGN(kv, jsonToKv(strNew("\t{\n} ")), "empty object"); @@ -74,10 +74,9 @@ testRun(void) TEST_ERROR(jsonToVar(strNew("z")), JsonFormatError, "invalid type at 'z'"); // ------------------------------------------------------------------------------------------------------------------------- - TEST_RESULT_STR(strPtr(varStr(jsonToVar(strNew(" \"test\"")))), "test", "simple string"); - TEST_RESULT_STR(strPtr(varStr(jsonToVar(strNew("\"te\\\"st\" ")))), "te\"st", "string with quote"); - TEST_RESULT_STR( - strPtr(varStr(jsonToVar(strNew("\"\\\"\\\\\\/\\b\\n\\r\\t\\f\"")))), "\"\\/\b\n\r\t\f", "string with escapes"); + TEST_RESULT_STR_Z(varStr(jsonToVar(strNew(" \"test\""))), "test", "simple string"); + TEST_RESULT_STR_Z(varStr(jsonToVar(strNew("\"te\\\"st\" "))), "te\"st", "string with quote"); + TEST_RESULT_STR_Z(varStr(jsonToVar(strNew("\"\\\"\\\\\\/\\b\\n\\r\\t\\f\""))), "\"\\/\b\n\r\t\f", "string with escapes"); // ------------------------------------------------------------------------------------------------------------------------- TEST_ERROR(jsonToVar(strNew("ton")), JsonFormatError, "expected boolean at 'ton'"); @@ -95,7 +94,7 @@ testRun(void) TEST_ASSIGN(valueList, varVarLst(jsonToVar(strNew("[1, \"test\", false]"))), "array"); TEST_RESULT_UINT(varLstSize(valueList), 3, "check array size"); TEST_RESULT_INT(varUInt64(varLstGet(valueList, 0)), 1, "check array int"); - TEST_RESULT_STR(strPtr(varStr(varLstGet(valueList, 1))), "test", "check array str"); + TEST_RESULT_STR_Z(varStr(varLstGet(valueList, 1)), "test", "check array str"); TEST_RESULT_BOOL(varBool(varLstGet(valueList, 2)), false, "check array bool"); TEST_ASSIGN(valueList, varVarLst(jsonToVar(strNew("[ ]"))), "empty array"); @@ -114,32 +113,31 @@ testRun(void) TEST_ERROR(jsonToVarLst(strNew("[")), JsonFormatError, "expected data"); TEST_ERROR(jsonToVarLst(strNew(" [] ZZZ")), JsonFormatError, "unexpected characters after array at 'ZZZ'"); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstNewVarLst(jsonToVarLst(strNew("[\"e1\", \"e2\"]"))), "|")), "e1|e2", "json list"); + TEST_RESULT_STR_Z(strLstJoin(strLstNewVarLst(jsonToVarLst(strNew("[\"e1\", \"e2\"]"))), "|"), "e1|e2", "json list"); } // ***************************************************************************************************************************** if (testBegin("jsonFromBool()")) { - TEST_RESULT_STR(strPtr(jsonFromBool(true)), "true", "json bool true"); - TEST_RESULT_STR(strPtr(jsonFromBool(false)), "false", "json bool true"); + TEST_RESULT_STR_Z(jsonFromBool(true), "true", "json bool true"); + TEST_RESULT_STR_Z(jsonFromBool(false), "false", "json bool true"); } // ***************************************************************************************************************************** if (testBegin("jsonFromInt(), jsonFromInt64(), jsonFromUInt() and jsonFromUInt64()")) { - TEST_RESULT_STR(strPtr(jsonFromInt(-2147483648)), "-2147483648", "json int"); - TEST_RESULT_STR(strPtr(jsonFromInt64(-9223372036854775807L)), "-9223372036854775807", "json int64"); - TEST_RESULT_STR(strPtr(jsonFromUInt(4294967295)), "4294967295", "json uint"); - TEST_RESULT_STR(strPtr(jsonFromUInt64(18446744073709551615UL)), "18446744073709551615", "json uint64"); + TEST_RESULT_STR_Z(jsonFromInt(-2147483648), "-2147483648", "json int"); + TEST_RESULT_STR_Z(jsonFromInt64(-9223372036854775807L), "-9223372036854775807", "json int64"); + TEST_RESULT_STR_Z(jsonFromUInt(4294967295), "4294967295", "json uint"); + TEST_RESULT_STR_Z(jsonFromUInt64(18446744073709551615UL), "18446744073709551615", "json uint64"); } // ***************************************************************************************************************************** if (testBegin("jsonFromStr() and jsonFromStrInternal()")) { - TEST_RESULT_STR(strPtr(jsonFromStr(NULL)), "null", "null string"); - TEST_RESULT_STR(strPtr(jsonFromStr(strNew("simple string"))), "\"simple string\"", "simple string"); - TEST_RESULT_STR(strPtr(jsonFromStr(strNew("\"\\/\b\n\r\t\f"))), "\"\\\"\\\\/\\b\\n\\r\\t\\f\"", "string escapes"); + TEST_RESULT_STR_Z(jsonFromStr(NULL), "null", "null string"); + TEST_RESULT_STR_Z(jsonFromStr(strNew("simple string")), "\"simple string\"", "simple string"); + TEST_RESULT_STR_Z(jsonFromStr(strNew("\"\\/\b\n\r\t\f")), "\"\\\"\\\\/\\b\\n\\r\\t\\f\"", "string escapes"); } // ***************************************************************************************************************************** @@ -149,11 +147,11 @@ testRun(void) String *json = NULL; TEST_ASSIGN(json, jsonFromKv(keyValue), "kvToJson - empty"); - TEST_RESULT_STR(strPtr(json), "{}", " empty curly brackets"); + TEST_RESULT_STR_Z(json, "{}", " empty curly brackets"); kvPut(keyValue, varNewStrZ("backup"), varNewVarLst(varLstNew())); TEST_ASSIGN(json, jsonFromKv(keyValue), "kvToJson - kv with empty array"); - TEST_RESULT_STR(strPtr(json), "{\"backup\":[]}", " kv with empty array brackets"); + TEST_RESULT_STR_Z(json, "{\"backup\":[]}", " kv with empty array brackets"); kvPutKv(keyValue, varNewStr(strNew("archive"))); kvPutKv(keyValue, varNewStr(strNew("empty"))); @@ -172,8 +170,8 @@ testRun(void) kvPut(keyValue, varNewStrZ("null-list"), varNewVarLst(NULL)); TEST_ASSIGN(json, jsonFromKv(keyValue), "kvToJson - kv with empty array, kv, varList with values"); - TEST_RESULT_STR( - strPtr(json), + TEST_RESULT_STR_Z( + json, "{" "\"archive\":{}," "\"backup\":[]," @@ -190,7 +188,8 @@ testRun(void) "\"empty\":{}," "\"null-list\":null," "\"null-str\":null" - "}", " kv with empty array, kv, varList with values"); + "}", + " kv with empty array, kv, varList with values"); TEST_ASSIGN( keyValue, @@ -202,7 +201,8 @@ testRun(void) "\"checksum-page-error\":[1,[4,6]],\"backup-timestamp-start\":1482182951}"))), "multiple values with array"); TEST_ASSIGN(json, jsonFromKv(keyValue), " kvToJson - sorted"); - TEST_RESULT_STR(strPtr(json), + TEST_RESULT_STR_Z( + json, "{\"backup-info-size-delta\":1982702,\"backup-prior\":\"20161219-212741F_20161219-212803I\"," "\"backup-reference\":[\"20161219-212741F\",\"20161219-212741F_20161219-212803I\"]," "\"backup-timestamp-start\":1482182951,\"checksum-page-error\":[1,[4,6]]}", @@ -243,7 +243,8 @@ testRun(void) kvAdd(sectionKv, varNewStr(strNew("escape")), varNewStr(strNew("\"\\/\b\n\r\t\f"))); TEST_ASSIGN(json, jsonFromVar(keyValue), "KeyValue"); - TEST_RESULT_STR(strPtr(json), + TEST_RESULT_STR_Z( + json, "{\"backup-info-size-delta\":1982702,\"backup-prior\":\"20161219-212741F_20161219-212803I\"," "\"backup-reference\":[\"20161219-212741F\",\"20161219-212741F_20161219-212803I\",null]," "\"backup-timestamp-start\":1482182951,\"checksum-page-error\":[1]," @@ -254,7 +255,7 @@ testRun(void) Variant *varListOuter = NULL; TEST_ASSIGN(json, jsonFromVar(varNewVarLst(varLstNew())), "VariantList"); - TEST_RESULT_STR(strPtr(json), "[]", " empty list no pretty print"); + TEST_RESULT_STR_Z(json, "[]", " empty list no pretty print"); TEST_ASSIGN(varListOuter, varNewVarLst(varLstNew()), "new variant list with keyValues"); varLstAdd(varVarLst(varListOuter), varNewStrZ("ASTRING")); @@ -266,7 +267,8 @@ testRun(void) varLstAdd(varVarLst(varListOuter), keyValue); TEST_ASSIGN(json, jsonFromVar(varListOuter), "VariantList"); - TEST_RESULT_STR(strPtr(json), + TEST_RESULT_STR_Z( + json, "[\"ASTRING\",9223372036854775807,2147483647,true,[],null,{\"backup-info-size-delta\":1982702," "\"backup-prior\":\"20161219-212741F_20161219-212803I\"," "\"backup-reference\":[\"20161219-212741F\",\"20161219-212741F_20161219-212803I\",null]," @@ -278,7 +280,8 @@ testRun(void) varLstAdd(varVarLst(varListOuter), keyValue2); TEST_ASSIGN(json, jsonFromVar(varListOuter), "VariantList - multiple elements"); - TEST_RESULT_STR(strPtr(json), + TEST_RESULT_STR_Z( + json, "[\"ASTRING\",9223372036854775807,2147483647,true,[],null,{\"backup-info-size-delta\":1982702," "\"backup-prior\":\"20161219-212741F_20161219-212803I\"," "\"backup-reference\":[\"20161219-212741F\",\"20161219-212741F_20161219-212803I\",null]," @@ -294,14 +297,14 @@ testRun(void) varLstAdd(varList, varNewUInt(32)); varLstAdd(varList, varNewUInt64(10000000000)); - TEST_RESULT_STR(strPtr(jsonFromVar(varNewVarLst(varList))), "[32,10000000000]", "list various types"); + TEST_RESULT_STR_Z(jsonFromVar(varNewVarLst(varList)), "[32,10000000000]", "list various types"); //-------------------------------------------------------------------------------------------------------------------------- - TEST_RESULT_STR(strPtr(jsonFromVar(NULL)), "null", "null variant"); - TEST_RESULT_STR(strPtr(jsonFromVar(varNewBool(true))), "true", "bool variant"); - TEST_RESULT_STR(strPtr(jsonFromVar(varNewUInt(66))), "66", "uint variant"); - TEST_RESULT_STR(strPtr(jsonFromVar(varNewUInt64(10000000001))), "10000000001", "uint64 variant"); - TEST_RESULT_STR(strPtr(jsonFromVar(varNewStrZ("test \" string"))), "\"test \\\" string\"", "string variant"); + TEST_RESULT_STR_Z(jsonFromVar(NULL), "null", "null variant"); + TEST_RESULT_STR_Z(jsonFromVar(varNewBool(true)), "true", "bool variant"); + TEST_RESULT_STR_Z(jsonFromVar(varNewUInt(66)), "66", "uint variant"); + TEST_RESULT_STR_Z(jsonFromVar(varNewUInt64(10000000001)), "10000000001", "uint64 variant"); + TEST_RESULT_STR_Z(jsonFromVar(varNewStrZ("test \" string")), "\"test \\\" string\"", "string variant"); } FUNCTION_HARNESS_RESULT_VOID(); diff --git a/test/src/module/common/typeKeyValueTest.c b/test/src/module/common/typeKeyValueTest.c index 0620d4336..f2b00928f 100644 --- a/test/src/module/common/typeKeyValueTest.c +++ b/test/src/module/common/typeKeyValueTest.c @@ -45,7 +45,7 @@ testRun(void) // Get the types and make sure they have the correct value // ------------------------------------------------------------------------------------------------------------------------- - TEST_RESULT_STR(strPtr(varStr(kvGet(store, varNewStr(strNew("str-key"))))), "str-value", "get string/string"); + TEST_RESULT_STR_Z(varStr(kvGet(store, varNewStr(strNew("str-key")))), "str-value", "get string/string"); TEST_RESULT_INT(varInt(kvGet(store, varNewInt(42))), 57, "get int/int"); TEST_RESULT_INT(varInt(varLstGet(kvGetList(store, varNewInt(42)), 0)), 57, "get int/int"); TEST_RESULT_INT(varInt(kvGet(store, varNewStr(strNew("str-key-int")))), 99, "get string/int"); @@ -92,8 +92,8 @@ testRun(void) KeyValue *storeSub = kvPutKv(store, varNewStr(strNew("kv-key"))); kvPut(storeSub, varNewStr(strNew("str-sub-key")), varNewStr(strNew("str-sub-value"))); - TEST_RESULT_STR( - strPtr(varStr(kvGet(varKv(kvGet(store, varNewStr(strNew("kv-key")))), varNewStr(strNew("str-sub-key"))))), + TEST_RESULT_STR_Z( + varStr(kvGet(varKv(kvGet(store, varNewStr(strNew("kv-key")))), varNewStr(strNew("str-sub-key")))), "str-sub-value", "get string/kv"); // Duplicate the kv @@ -102,8 +102,8 @@ testRun(void) TEST_RESULT_INT(varBool(kvGet(store, varNewInt(78))), false, "get int/bool"); TEST_RESULT_INT(varInt(varLstGet(varVarLst(kvGet(store, varNewInt(99))), 2)), 3, "get int/int"); - TEST_RESULT_STR( - strPtr(varStr(kvGet(varKv(kvGet(storeDup, varNewStr(strNew("kv-key")))), varNewStr(strNew("str-sub-key"))))), + TEST_RESULT_STR_Z( + varStr(kvGet(varKv(kvGet(storeDup, varNewStr(strNew("kv-key")))), varNewStr(strNew("str-sub-key")))), "str-sub-value", "get string/kv"); TEST_RESULT_VOID(kvFree(storeDup), "free dup store"); diff --git a/test/src/module/common/typeListTest.c b/test/src/module/common/typeListTest.c index 371132b73..0a1e79b06 100644 --- a/test/src/module/common/typeListTest.c +++ b/test/src/module/common/typeListTest.c @@ -42,10 +42,10 @@ testRun(void) void *ptr = NULL; TEST_RESULT_VOID(lstAdd(list, &ptr), "add item"); - TEST_RESULT_STR(strPtr(lstToLog(list)), "{size: 1}", "check log"); + TEST_RESULT_STR_Z(lstToLog(list), "{size: 1}", "check log"); TEST_RESULT_VOID(lstClear(list), "clear list"); - TEST_RESULT_STR(strPtr(lstToLog(list)), "{size: 0}", "check log after clear"); + TEST_RESULT_STR_Z(lstToLog(list), "{size: 0}", "check log after clear"); TEST_RESULT_VOID(lstFree(list), "free list"); TEST_RESULT_VOID(lstFree(lstNew(1)), "free empty list"); @@ -61,8 +61,8 @@ testRun(void) String *string3 = strNew("string3"); TEST_RESULT_PTR(lstFindDefault(list, &string3, (void *)1), (void *)1, " find string3 returns default"); TEST_RESULT_BOOL(lstExists(list, &string3), false, " string3 does not exist"); - TEST_RESULT_STR(strPtr(*(String **)lstFind(list, &string2)), "string2", " find string2"); - TEST_RESULT_STR(strPtr(*(String **)lstFindDefault(list, &string2, NULL)), "string2", " find string2 no default"); + TEST_RESULT_STR_Z(*(String **)lstFind(list, &string2), "string2", " find string2"); + TEST_RESULT_STR_Z(*(String **)lstFindDefault(list, &string2, NULL), "string2", " find string2 no default"); TEST_RESULT_BOOL(lstExists(list, &string2), true, " string2 exists"); TEST_RESULT_BOOL(lstRemove(list, &string2), true, " remove string2"); diff --git a/test/src/module/common/typeMcvTest.c b/test/src/module/common/typeMcvTest.c index 5a9abf612..1ef66d4fb 100644 --- a/test/src/module/common/typeMcvTest.c +++ b/test/src/module/common/typeMcvTest.c @@ -20,14 +20,14 @@ testRun(void) TEST_RESULT_PTR(mcvResult(mcv), NULL, "immediate result is null"); TEST_RESULT_VOID(mcvUpdate(mcv, varNewStrZ("string1")), "update string1"); - TEST_RESULT_STR(strPtr(varStr(mcvResult(mcv))), "string1", "result is string1"); + TEST_RESULT_STR_Z(varStr(mcvResult(mcv)), "string1", "result is string1"); TEST_RESULT_VOID(mcvUpdate(mcv, varNewStrZ("string2")), "update string2"); - TEST_RESULT_STR(strPtr(varStr(mcvResult(mcv))), "string1", "result is string1"); + TEST_RESULT_STR_Z(varStr(mcvResult(mcv)), "string1", "result is string1"); TEST_RESULT_VOID(mcvUpdate(mcv, varNewUInt(555)), "update 555"); TEST_RESULT_VOID(mcvUpdate(mcv, varNewStrZ("string2")), "update string2"); - TEST_RESULT_STR(strPtr(varStr(mcvResult(mcv))), "string2", "result is string2"); + TEST_RESULT_STR_Z(varStr(mcvResult(mcv)), "string2", "result is string2"); TEST_RESULT_VOID(mcvFree(mcv), "free mcv"); diff --git a/test/src/module/common/typeStringTest.c b/test/src/module/common/typeStringTest.c index 62bca208f..a842c2804 100644 --- a/test/src/module/common/typeStringTest.c +++ b/test/src/module/common/typeStringTest.c @@ -26,7 +26,7 @@ testRun(void) TEST_ERROR(CHECK_SIZE(STRING_SIZE_MAX + 1), AssertError, "string size must be <= 1073741824 bytes"); String *string = strNew("static string"); - TEST_RESULT_STR(strPtr(string), "static string", "new with static string"); + TEST_RESULT_STR_Z(string, "static string", "new with static string"); TEST_RESULT_INT(strSize(string), 13, "check size"); TEST_RESULT_BOOL(strEmpty(string), false, "is not empty"); TEST_RESULT_INT(strlen(strPtr(string)), 13, "check size with strlen()"); @@ -35,18 +35,18 @@ testRun(void) TEST_RESULT_VOID(strFree(string), "free string"); // ------------------------------------------------------------------------------------------------------------------------- - TEST_RESULT_STR(strPtr(strNewN("testmorestring", 4)), "test", "new string with size limit"); + TEST_RESULT_STR_Z(strNewN("testmorestring", 4), "test", "new string with size limit"); // ------------------------------------------------------------------------------------------------------------------------- Buffer *buffer = bufNew(8); memcpy(bufPtr(buffer), "12345678", 8); bufUsedSet(buffer, 8); - TEST_RESULT_STR(strPtr(strNewBuf(buffer)), "12345678", "new string from buffer"); + TEST_RESULT_STR_Z(strNewBuf(buffer), "12345678", "new string from buffer"); // ------------------------------------------------------------------------------------------------------------------------- string = strNewFmt("formatted %s %04d", "string", 1); - TEST_RESULT_STR(strPtr(string), "formatted string 0001", "new with formatted string"); + TEST_RESULT_STR_Z(string, "formatted string 0001", "new with formatted string"); TEST_RESULT_PTR(strPtr(NULL), NULL, "null string pointer"); TEST_RESULT_VOID(strFree(string), "free string"); @@ -56,22 +56,22 @@ testRun(void) // ***************************************************************************************************************************** if (testBegin("STRING_STATIC()")) { - TEST_RESULT_STR(strPtr(TEST_STRING), "a very interesting string!", "check static string"); - TEST_RESULT_STR(strPtr(strSubN(TEST_STRING, 0, 6)), "a very", "read-only strSub() works"); + TEST_RESULT_STR_Z(TEST_STRING, "a very interesting string!", "check static string"); + TEST_RESULT_STR_Z(strSubN(TEST_STRING, 0, 6), "a very", "read-only strSub() works"); } // ***************************************************************************************************************************** if (testBegin("strBase(), strPath(), and strPathAbsolute()")) { - TEST_RESULT_STR(strPtr(strBase(STRDEF(""))), "", "empty string"); - TEST_RESULT_STR(strPtr(strBase(STRDEF("/"))), "", "/ only"); - TEST_RESULT_STR(strPtr(strBase(STRDEF("/file"))), "file", "root file"); - TEST_RESULT_STR(strPtr(strBase(STRDEF("/dir1/dir2/file"))), "file", "subdirectory file"); + TEST_RESULT_STR_Z(strBase(STRDEF("")), "", "empty string"); + TEST_RESULT_STR_Z(strBase(STRDEF("/")), "", "/ only"); + TEST_RESULT_STR_Z(strBase(STRDEF("/file")), "file", "root file"); + TEST_RESULT_STR_Z(strBase(STRDEF("/dir1/dir2/file")), "file", "subdirectory file"); - TEST_RESULT_STR(strPtr(strPath(STRDEF(""))), "", "empty string"); - TEST_RESULT_STR(strPtr(strPath(STRDEF("/"))), "/", "/ only"); - TEST_RESULT_STR(strPtr(strPath(STRDEF("/file"))), "/", "root path"); - TEST_RESULT_STR(strPtr(strPath(STRDEF("/dir1/dir2/file"))), "/dir1/dir2", "subdirectory file"); + TEST_RESULT_STR_Z(strPath(STRDEF("")), "", "empty string"); + TEST_RESULT_STR_Z(strPath(STRDEF("/")), "/", "/ only"); + TEST_RESULT_STR_Z(strPath(STRDEF("/file")), "/", "root path"); + TEST_RESULT_STR_Z(strPath(STRDEF("/dir1/dir2/file")), "/dir1/dir2", "subdirectory file"); TEST_ERROR(strPathAbsolute(STRDEF("/.."), NULL), AssertError, "result path '/..' is not absolute"); TEST_ERROR(strPathAbsolute(STRDEF("//"), NULL), AssertError, "result path '//' is not absolute"); @@ -92,14 +92,14 @@ testRun(void) String *string = strNew("XXXX"); String *string2 = strNew("ZZZZ"); - TEST_RESULT_STR(strPtr(strCat(string, "YYYY")), "XXXXYYYY", "cat string"); + TEST_RESULT_STR_Z(strCat(string, "YYYY"), "XXXXYYYY", "cat string"); TEST_RESULT_SIZE(string->extra, 4, "check extra"); - TEST_RESULT_STR(strPtr(strCatFmt(string, "%05d", 777)), "XXXXYYYY00777", "cat formatted string"); + TEST_RESULT_STR_Z(strCatFmt(string, "%05d", 777), "XXXXYYYY00777", "cat formatted string"); TEST_RESULT_SIZE(string->extra, 6, "check extra"); - TEST_RESULT_STR(strPtr(strCatChr(string, '!')), "XXXXYYYY00777!", "cat chr"); + TEST_RESULT_STR_Z(strCatChr(string, '!'), "XXXXYYYY00777!", "cat chr"); TEST_RESULT_SIZE(string->extra, 5, "check extra"); - TEST_RESULT_STR(strPtr(string2), "ZZZZ", "check unaltered string"); + TEST_RESULT_STR_Z(string2, "ZZZZ", "check unaltered string"); } // ***************************************************************************************************************************** @@ -107,7 +107,7 @@ testRun(void) { const String *string = STRDEF("duplicated string"); String *stringDup = strDup(string); - TEST_RESULT_STR(strPtr(stringDup), strPtr(string), "duplicated strings match"); + TEST_RESULT_STR(stringDup, string, "duplicated strings match"); TEST_RESULT_PTR(strDup(NULL), NULL, "duplicate null string"); } @@ -160,57 +160,57 @@ testRun(void) // ***************************************************************************************************************************** if (testBegin("strFirstUpper(), strFirstLower(), strUpper(), strLower()")) { - TEST_RESULT_STR(strPtr(strFirstUpper(strNew(""))), "", "empty first upper"); - TEST_RESULT_STR(strPtr(strFirstUpper(strNew("aaa"))), "Aaa", "first upper"); - TEST_RESULT_STR(strPtr(strFirstUpper(strNew("Aaa"))), "Aaa", "first already upper"); + TEST_RESULT_STR_Z(strFirstUpper(strNew("")), "", "empty first upper"); + TEST_RESULT_STR_Z(strFirstUpper(strNew("aaa")), "Aaa", "first upper"); + TEST_RESULT_STR_Z(strFirstUpper(strNew("Aaa")), "Aaa", "first already upper"); - TEST_RESULT_STR(strPtr(strFirstLower(strNew(""))), "", "empty first lower"); - TEST_RESULT_STR(strPtr(strFirstLower(strNew("AAA"))), "aAA", "first lower"); - TEST_RESULT_STR(strPtr(strFirstLower(strNew("aAA"))), "aAA", "first already lower"); + TEST_RESULT_STR_Z(strFirstLower(strNew("")), "", "empty first lower"); + TEST_RESULT_STR_Z(strFirstLower(strNew("AAA")), "aAA", "first lower"); + TEST_RESULT_STR_Z(strFirstLower(strNew("aAA")), "aAA", "first already lower"); - TEST_RESULT_STR(strPtr(strLower(strNew("K123aBc"))), "k123abc", "all lower"); - TEST_RESULT_STR(strPtr(strLower(strNew("k123abc"))), "k123abc", "already lower"); - TEST_RESULT_STR(strPtr(strLower(strNew("C"))), "c", "char lower"); - TEST_RESULT_STR(strPtr(strLower(strNew(""))), "", "empty lower"); + TEST_RESULT_STR_Z(strLower(strNew("K123aBc")), "k123abc", "all lower"); + TEST_RESULT_STR_Z(strLower(strNew("k123abc")), "k123abc", "already lower"); + TEST_RESULT_STR_Z(strLower(strNew("C")), "c", "char lower"); + TEST_RESULT_STR_Z(strLower(strNew("")), "", "empty lower"); - TEST_RESULT_STR(strPtr(strUpper(strNew("K123aBc"))), "K123ABC", "all upper"); - TEST_RESULT_STR(strPtr(strUpper(strNew("K123ABC"))), "K123ABC", "already upper"); - TEST_RESULT_STR(strPtr(strUpper(strNew("c"))), "C", "char upper"); - TEST_RESULT_STR(strPtr(strUpper(strNew(""))), "", "empty upper"); + TEST_RESULT_STR_Z(strUpper(strNew("K123aBc")), "K123ABC", "all upper"); + TEST_RESULT_STR_Z(strUpper(strNew("K123ABC")), "K123ABC", "already upper"); + TEST_RESULT_STR_Z(strUpper(strNew("c")), "C", "char upper"); + TEST_RESULT_STR_Z(strUpper(strNew("")), "", "empty upper"); } // ***************************************************************************************************************************** if (testBegin("strQuote()")) { - TEST_RESULT_STR(strPtr(strQuote(STRDEF("abcd"), STRDEF("'"))), "'abcd'", "quote string"); + TEST_RESULT_STR_Z(strQuote(STRDEF("abcd"), STRDEF("'")), "'abcd'", "quote string"); } // ***************************************************************************************************************************** if (testBegin("strReplaceChr()")) { - TEST_RESULT_STR(strPtr(strReplaceChr(strNew("ABCD"), 'B', 'R')), "ARCD", "replace chr"); + TEST_RESULT_STR_Z(strReplaceChr(strNew("ABCD"), 'B', 'R'), "ARCD", "replace chr"); } // ***************************************************************************************************************************** if (testBegin("strSub() and strSubN()")) { - TEST_RESULT_STR(strPtr(strSub(STRDEF("ABCD"), 2)), "CD", "sub string"); + TEST_RESULT_STR_Z(strSub(STRDEF("ABCD"), 2), "CD", "sub string"); TEST_RESULT_STR_Z(strSub(STRDEF("AB"), 2), "", "zero sub string"); - TEST_RESULT_STR(strPtr(strSubN(STRDEF("ABCD"), 1, 2)), "BC", "sub string with length"); + TEST_RESULT_STR_Z(strSubN(STRDEF("ABCD"), 1, 2), "BC", "sub string with length"); TEST_RESULT_STR_Z(strSubN(STRDEF("D"), 1, 0), "", "zero sub string with length"); } // ***************************************************************************************************************************** if (testBegin("strTrim()")) { - TEST_RESULT_STR(strPtr(strTrim(strNew(""))), "", "trim empty"); - TEST_RESULT_STR(strPtr(strTrim(strNew("X"))), "X", "no trim (one char)"); - TEST_RESULT_STR(strPtr(strTrim(strNew("no-trim"))), "no-trim", "no trim (string)"); - TEST_RESULT_STR(strPtr(strTrim(strNew(" \t\r\n"))), "", "all whitespace"); - TEST_RESULT_STR(strPtr(strTrim(strNew(" \tbegin-only"))), "begin-only", "trim begin"); - TEST_RESULT_STR(strPtr(strTrim(strNew("end-only\t "))), "end-only", "trim end"); - TEST_RESULT_STR(strPtr(strTrim(strNew("\n\rboth\r\n"))), "both", "trim both"); - TEST_RESULT_STR(strPtr(strTrim(strNew("begin \r\n\tend"))), "begin \r\n\tend", "ignore whitespace in middle"); + TEST_RESULT_STR_Z(strTrim(strNew("")), "", "trim empty"); + TEST_RESULT_STR_Z(strTrim(strNew("X")), "X", "no trim (one char)"); + TEST_RESULT_STR_Z(strTrim(strNew("no-trim")), "no-trim", "no trim (string)"); + TEST_RESULT_STR_Z(strTrim(strNew(" \t\r\n")), "", "all whitespace"); + TEST_RESULT_STR_Z(strTrim(strNew(" \tbegin-only")), "begin-only", "trim begin"); + TEST_RESULT_STR_Z(strTrim(strNew("end-only\t ")), "end-only", "trim end"); + TEST_RESULT_STR_Z(strTrim(strNew("\n\rboth\r\n")), "both", "trim both"); + TEST_RESULT_STR_Z(strTrim(strNew("begin \r\n\tend")), "begin \r\n\tend", "ignore whitespace in middle"); } // ***************************************************************************************************************************** @@ -227,41 +227,41 @@ testRun(void) "assertion 'idx >= 0 && (size_t)idx <= this->size' failed"); TEST_ERROR(strTrunc(val, -1), AssertError, "assertion 'idx >= 0 && (size_t)idx <= this->size' failed"); - TEST_RESULT_STR(strPtr(strTrunc(val, strChr(val, 'd'))), "abc", "simple string truncated"); + TEST_RESULT_STR_Z(strTrunc(val, strChr(val, 'd')), "abc", "simple string truncated"); strCat(val, "\r\n to end"); - TEST_RESULT_STR(strPtr(strTrunc(val, strChr(val, 'n'))), "abc\r\n to e", "complex string truncated"); - TEST_RESULT_STR(strPtr(strTrunc(val, strChr(val, 'a'))), "", "complete string truncated - empty string"); + TEST_RESULT_STR_Z(strTrunc(val, strChr(val, 'n')), "abc\r\n to e", "complex string truncated"); + TEST_RESULT_STR_Z(strTrunc(val, strChr(val, 'a')), "", "complete string truncated - empty string"); TEST_RESULT_INT(strSize(val), 0, "0 size"); - TEST_RESULT_STR(strPtr(strTrunc(val, 0)), "", "test coverage of empty string - no error thrown for index 0"); + TEST_RESULT_STR_Z(strTrunc(val, 0), "", "test coverage of empty string - no error thrown for index 0"); } // ***************************************************************************************************************************** if (testBegin("strToLog() and strObjToLog()")) { - TEST_RESULT_STR(strPtr(strToLog(STRDEF("test"))), "{\"test\"}", "format string"); - TEST_RESULT_STR(strPtr(strToLog(NULL)), "null", "format null string"); + TEST_RESULT_STR_Z(strToLog(STRDEF("test")), "{\"test\"}", "format string"); + TEST_RESULT_STR_Z(strToLog(NULL), "null", "format null string"); char buffer[256]; TEST_RESULT_UINT(strObjToLog(NULL, (StrObjToLogFormat)strToLog, buffer, sizeof(buffer)), 4, "format null string"); - TEST_RESULT_STR(buffer, "null", "check null string"); + TEST_RESULT_Z(buffer, "null", "check null string"); TEST_RESULT_UINT(strObjToLog(STRDEF("teststr"), (StrObjToLogFormat)strToLog, buffer, sizeof(buffer)), 11, "format string"); - TEST_RESULT_STR(buffer, "{\"teststr\"}", "check string"); + TEST_RESULT_Z(buffer, "{\"teststr\"}", "check string"); } // ***************************************************************************************************************************** if (testBegin("strSizeFormat()")) { - TEST_RESULT_STR(strPtr(strSizeFormat(0)), "0B", "zero bytes"); - TEST_RESULT_STR(strPtr(strSizeFormat(1023)), "1023B", "1023 bytes"); - TEST_RESULT_STR(strPtr(strSizeFormat(1024)), "1KB", "1 KB"); - TEST_RESULT_STR(strPtr(strSizeFormat(2200)), "2.1KB", "2.1 KB"); - TEST_RESULT_STR(strPtr(strSizeFormat(1048576)), "1MB", "1 MB"); - TEST_RESULT_STR(strPtr(strSizeFormat(20162900)), "19.2MB", "19.2 MB"); - TEST_RESULT_STR(strPtr(strSizeFormat(1073741824)), "1GB", "1 GB"); - TEST_RESULT_STR(strPtr(strSizeFormat(1073741824 + 107374183)), "1.1GB", "1.1 GB"); - TEST_RESULT_STR(strPtr(strSizeFormat(UINT64_MAX)), "17179869183GB", "uint64 max"); + TEST_RESULT_STR_Z(strSizeFormat(0), "0B", "zero bytes"); + TEST_RESULT_STR_Z(strSizeFormat(1023), "1023B", "1023 bytes"); + TEST_RESULT_STR_Z(strSizeFormat(1024), "1KB", "1 KB"); + TEST_RESULT_STR_Z(strSizeFormat(2200), "2.1KB", "2.1 KB"); + TEST_RESULT_STR_Z(strSizeFormat(1048576), "1MB", "1 MB"); + TEST_RESULT_STR_Z(strSizeFormat(20162900), "19.2MB", "19.2 MB"); + TEST_RESULT_STR_Z(strSizeFormat(1073741824), "1GB", "1 GB"); + TEST_RESULT_STR_Z(strSizeFormat(1073741824 + 107374183), "1.1GB", "1.1 GB"); + TEST_RESULT_STR_Z(strSizeFormat(UINT64_MAX), "17179869183GB", "uint64 max"); } // ***************************************************************************************************************************** @@ -283,7 +283,7 @@ testRun(void) } else { - TEST_RESULT_STR_STR( + TEST_RESULT_STR( strLstAdd(list, strNewFmt("STR%02d", listIdx)), strNewFmt("STR%02d", listIdx), "add item %d", listIdx); } } @@ -303,7 +303,9 @@ testRun(void) TEST_RESULT_PTR(strLstGet(list, listIdx), NULL, "check null item"); } else - TEST_RESULT_STR(strPtr(strLstGet(list, listIdx)), strPtr(strNewFmt("STR%02u", listIdx)), "check item %u", listIdx); + { + TEST_RESULT_STR(strLstGet(list, listIdx), strNewFmt("STR%02u", listIdx), "check item %u", listIdx); + } } TEST_RESULT_VOID(strLstFree(list), "free string list"); @@ -327,24 +329,23 @@ testRun(void) // ***************************************************************************************************************************** if (testBegin("strLstNewSplit()")) { - TEST_RESULT_STR(strPtr(strLstJoin(strLstNewSplit(STRDEF(""), STRDEF(", ")), ", ")), "", "empty list"); - TEST_RESULT_STR(strPtr(strLstJoin(strLstNewSplit(STRDEF("item1"), STRDEF(", ")), ", ")), "item1", "one item"); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstNewSplit(STRDEF("item1, item2"), STRDEF(", ")), ", ")), "item1, item2", "two items"); + TEST_RESULT_STR_Z(strLstJoin(strLstNewSplit(STRDEF(""), STRDEF(", ")), ", "), "", "empty list"); + TEST_RESULT_STR_Z(strLstJoin(strLstNewSplit(STRDEF("item1"), STRDEF(", ")), ", "), "item1", "one item"); + TEST_RESULT_STR_Z(strLstJoin(strLstNewSplit(STRDEF("item1, item2"), STRDEF(", ")), ", "), "item1, item2", "two items"); } // ***************************************************************************************************************************** if (testBegin("strLstNewSplitSize()")) { - TEST_RESULT_STR(strPtr(strLstJoin(strLstNewSplitSize(STRDEF(""), STRDEF(" "), 0), ", ")), "", "empty list"); - TEST_RESULT_STR(strPtr(strLstJoin(strLstNewSplitSizeZ(STRDEF("abc def"), " ", 3), "-")), "abc-def", "two items"); - TEST_RESULT_STR(strPtr(strLstJoin(strLstNewSplitSizeZ(STRDEF("abc def"), " ", 4), "-")), "abc-def", "one items"); - TEST_RESULT_STR(strPtr(strLstJoin(strLstNewSplitSizeZ(STRDEF("abc def ghi"), " ", 4), "-")), "abc-def-ghi", "three items"); - TEST_RESULT_STR(strPtr(strLstJoin(strLstNewSplitSizeZ(STRDEF("abc def ghi"), " ", 8), "-")), "abc def-ghi", "three items"); - TEST_RESULT_STR(strPtr(strLstJoin(strLstNewSplitSizeZ(STRDEF("abc def "), " ", 4), "-")), "abc-def ", "two items"); + TEST_RESULT_STR_Z(strLstJoin(strLstNewSplitSize(STRDEF(""), STRDEF(" "), 0), ", "), "", "empty list"); + TEST_RESULT_STR_Z(strLstJoin(strLstNewSplitSizeZ(STRDEF("abc def"), " ", 3), "-"), "abc-def", "two items"); + TEST_RESULT_STR_Z(strLstJoin(strLstNewSplitSizeZ(STRDEF("abc def"), " ", 4), "-"), "abc-def", "one items"); + TEST_RESULT_STR_Z(strLstJoin(strLstNewSplitSizeZ(STRDEF("abc def ghi"), " ", 4), "-"), "abc-def-ghi", "three items"); + TEST_RESULT_STR_Z(strLstJoin(strLstNewSplitSizeZ(STRDEF("abc def ghi"), " ", 8), "-"), "abc def-ghi", "three items"); + TEST_RESULT_STR_Z(strLstJoin(strLstNewSplitSizeZ(STRDEF("abc def "), " ", 4), "-"), "abc-def ", "two items"); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstNewSplitSize(STRDEF("this is a short sentence"), STRDEF(" "), 10), "\n")), + TEST_RESULT_STR_Z( + strLstJoin(strLstNewSplitSize(STRDEF("this is a short sentence"), STRDEF(" "), 10), "\n"), "this is a\n" "short\n" "sentence", @@ -359,7 +360,7 @@ testRun(void) varLstAdd(varList, varNewStr(STRDEF("string1"))); varLstAdd(varList, varNewStr(STRDEF("string2"))); - TEST_RESULT_STR(strPtr(strLstJoin(strLstNewVarLst(varList), ", ")), "string1, string2", "string list from variant list"); + TEST_RESULT_STR_Z(strLstJoin(strLstNewVarLst(varList), ", "), "string1, string2", "string list from variant list"); TEST_RESULT_PTR(strLstNewVarLst(NULL), NULL, "null list from null var list"); varLstFree(varList); @@ -391,7 +392,9 @@ testRun(void) TEST_RESULT_PTR(szList[listIdx], NULL, "check null item"); } else - TEST_RESULT_STR(szList[listIdx], strPtr(strNewFmt("STR%02u", listIdx)), "check item %u", listIdx); + { + TEST_RESULT_Z_STR(szList[listIdx], strNewFmt("STR%02u", listIdx), "check item %u", listIdx); + } } TEST_RESULT_PTR(szList[strLstSize(list)], NULL, "check null terminator"); @@ -417,18 +420,18 @@ testRun(void) { StringList *list = strLstNew(); - TEST_RESULT_STR(strPtr(strLstJoin(list, ", ")), "", "empty list"); + TEST_RESULT_STR_Z(strLstJoin(list, ", "), "", "empty list"); strLstAdd(list, STRDEF("item1")); strLstAddZ(list, "item2"); - TEST_RESULT_STR(strPtr(strLstJoin(list, ", ")), "item1, item2", "list"); + TEST_RESULT_STR_Z(strLstJoin(list, ", "), "item1, item2", "list"); strLstAdd(list, NULL); - TEST_RESULT_STR(strPtr(strLstJoin(list, ", ")), "item1, item2, [NULL]", "list with NULL at end"); + TEST_RESULT_STR_Z(strLstJoin(list, ", "), "item1, item2, [NULL]", "list with NULL at end"); - TEST_RESULT_STR(strPtr(strLstJoin(strLstDup(list), ", ")), "item1, item2, [NULL]", "dup'd list with NULL at end"); + TEST_RESULT_STR_Z(strLstJoin(strLstDup(list), ", "), "item1, item2, [NULL]", "dup'd list with NULL at end"); TEST_RESULT_PTR(strLstDup(NULL), NULL, "dup NULL list"); strLstFree(list); @@ -440,20 +443,20 @@ testRun(void) StringList *list = strLstNew(); StringList *anti = strLstNew(); - TEST_RESULT_STR(strPtr(strLstJoin(strLstMergeAnti(list, anti), ", ")), "", "list and anti empty"); + TEST_RESULT_STR_Z(strLstJoin(strLstMergeAnti(list, anti), ", "), "", "list and anti empty"); strLstAddZ(anti, "item2"); strLstAddZ(anti, "item3"); - TEST_RESULT_STR(strPtr(strLstJoin(strLstMergeAnti(list, anti), ", ")), "", "list empty"); + TEST_RESULT_STR_Z(strLstJoin(strLstMergeAnti(list, anti), ", "), "", "list empty"); strLstAddZ(list, "item1"); strLstAddZ(list, "item3"); strLstAddZ(list, "item4"); strLstAddZ(list, "item5"); - TEST_RESULT_STR(strPtr(strLstJoin(strLstMergeAnti(list, anti), ", ")), "item1, item4, item5", "list results"); - TEST_RESULT_STR(strPtr(strLstJoin(strLstMergeAnti(list, strLstNew()), ", ")), "item1, item3, item4, item5", "anti empty"); + TEST_RESULT_STR_Z(strLstJoin(strLstMergeAnti(list, anti), ", "), "item1, item4, item5", "list results"); + TEST_RESULT_STR_Z(strLstJoin(strLstMergeAnti(list, strLstNew()), ", "), "item1, item3, item4, item5", "anti empty"); list = strLstNew(); strLstAddZ(list, "item2"); @@ -465,7 +468,7 @@ testRun(void) strLstAddZ(anti, "item4"); strLstAddZ(anti, "item7"); - TEST_RESULT_STR(strPtr(strLstJoin(strLstMergeAnti(list, anti), ", ")), "item2, item6", "list results"); + TEST_RESULT_STR_Z(strLstJoin(strLstMergeAnti(list, anti), ", "), "item2, item6", "list results"); list = strLstNew(); strLstAddZ(list, "item7"); @@ -475,7 +478,7 @@ testRun(void) strLstAddZ(anti, "item4"); strLstAddZ(anti, "item6"); - TEST_RESULT_STR(strPtr(strLstJoin(strLstMergeAnti(list, anti), ", ")), "item7", "list results"); + TEST_RESULT_STR_Z(strLstJoin(strLstMergeAnti(list, anti), ", "), "item7", "list results"); } // ***************************************************************************************************************************** @@ -487,11 +490,11 @@ testRun(void) strLstAddZ(list, "a"); strLstAddZ(list, "b"); - TEST_RESULT_STR(strPtr(strLstJoin(strLstSort(list, sortOrderAsc), ", ")), "a, b, c", "sort ascending"); - TEST_RESULT_STR(strPtr(strLstJoin(strLstSort(list, sortOrderDesc), ", ")), "c, b, a", "sort descending"); + TEST_RESULT_STR_Z(strLstJoin(strLstSort(list, sortOrderAsc), ", "), "a, b, c", "sort ascending"); + TEST_RESULT_STR_Z(strLstJoin(strLstSort(list, sortOrderDesc), ", "), "c, b, a", "sort descending"); strLstComparatorSet(list, lstComparatorStr); - TEST_RESULT_STR(strPtr(strLstJoin(strLstSort(list, sortOrderAsc), ", ")), "a, b, c", "sort ascending"); + TEST_RESULT_STR_Z(strLstJoin(strLstSort(list, sortOrderAsc), ", "), "a, b, c", "sort ascending"); } // ***************************************************************************************************************************** @@ -499,14 +502,14 @@ testRun(void) { StringList *list = strLstNew(); - TEST_RESULT_STR(strPtr(strLstToLog(list)), "{[]}", "format empty list"); + TEST_RESULT_STR_Z(strLstToLog(list), "{[]}", "format empty list"); strLstInsertZ(list, 0, "item3"); - TEST_RESULT_STR(strPtr(strLstToLog(list)), "{[\"item3\"]}", "format 1 item list"); + TEST_RESULT_STR_Z(strLstToLog(list), "{[\"item3\"]}", "format 1 item list"); strLstInsert(list, 0, STRDEF("item1")); strLstInsertZ(list, 1, "item2"); - TEST_RESULT_STR(strPtr(strLstToLog(list)), "{[\"item1\", \"item2\", \"item3\"]}", "format 3 item list"); + TEST_RESULT_STR_Z(strLstToLog(list), "{[\"item1\", \"item2\", \"item3\"]}", "format 3 item list"); } FUNCTION_HARNESS_RESULT_VOID(); diff --git a/test/src/module/common/typeVariantTest.c b/test/src/module/common/typeVariantTest.c index 40f107040..38ad96fde 100644 --- a/test/src/module/common/typeVariantTest.c +++ b/test/src/module/common/typeVariantTest.c @@ -298,7 +298,7 @@ testRun(void) // ------------------------------------------------------------------------------------------------------------------------- Variant *string = varNewStr(strNew("test-str")); - TEST_RESULT_STR(strPtr(varStr(string)), "test-str", "string pointer"); + TEST_RESULT_STR_Z(varStr(string), "test-str", "string pointer"); varFree(string); TEST_RESULT_PTR(varStr(NULL), NULL, "get null string variant"); @@ -321,13 +321,13 @@ testRun(void) TEST_ERROR(varBoolForce(VARSTRDEF(BOGUS_STR)), FormatError, "unable to convert str 'BOGUS' to bool"); // ------------------------------------------------------------------------------------------------------------------------- - TEST_RESULT_STR(strPtr(varStrForce(VARSTRDEF("teststring"))), "teststring", "force string to string"); - TEST_RESULT_STR(strPtr(varStrForce(VARINT(999))), "999", "force int to string"); - TEST_RESULT_STR(strPtr(varStrForce(VARINT64(9223372036854775807L))), "9223372036854775807", "force int64 to string"); - TEST_RESULT_STR(strPtr(varStrForce(VARDBL((double)999999999.123456))), "999999999.123456", "force double to string"); - TEST_RESULT_STR(strPtr(varStrForce(varNewBool(true))), "true", "force bool to string"); - TEST_RESULT_STR(strPtr(varStrForce(varNewBool(false))), "false", "force bool to string"); - TEST_RESULT_STR(strPtr(varStrForce(VARUINT64(18446744073709551615U))), "18446744073709551615", "force uint64 to string"); + TEST_RESULT_STR_Z(varStrForce(VARSTRDEF("teststring")), "teststring", "force string to string"); + TEST_RESULT_STR_Z(varStrForce(VARINT(999)), "999", "force int to string"); + TEST_RESULT_STR_Z(varStrForce(VARINT64(9223372036854775807L)), "9223372036854775807", "force int64 to string"); + TEST_RESULT_STR_Z(varStrForce(VARDBL((double)999999999.123456)), "999999999.123456", "force double to string"); + TEST_RESULT_STR_Z(varStrForce(varNewBool(true)), "true", "force bool to string"); + TEST_RESULT_STR_Z(varStrForce(varNewBool(false)), "false", "force bool to string"); + TEST_RESULT_STR_Z(varStrForce(VARUINT64(18446744073709551615U)), "18446744073709551615", "force uint64 to string"); TEST_ERROR(varStrForce(varNewKv(kvNew())), FormatError, "unable to force KeyValue to String"); @@ -337,12 +337,12 @@ testRun(void) varFree(string); // ------------------------------------------------------------------------------------------------------------------------- - TEST_RESULT_STR(strPtr(varStr(VARSTRDEF("test-z-str"))), "test-z-str", "new zero-terminated string"); + TEST_RESULT_STR_Z(varStr(VARSTRDEF("test-z-str")), "test-z-str", "new zero-terminated string"); TEST_RESULT_PTR(strPtr(varStr(VARSTR(NULL))), NULL, "new null strz"); TEST_RESULT_PTR(strPtr(varStr(varNewStrZ(NULL))), NULL, "new null strz"); // ------------------------------------------------------------------------------------------------------------------------- - TEST_RESULT_STR(strPtr(varStr(varDup(VARSTRDEF("yabba-dabba-doo")))), "yabba-dabba-doo", "dup string"); + TEST_RESULT_STR_Z(varStr(varDup(VARSTRDEF("yabba-dabba-doo"))), "yabba-dabba-doo", "dup string"); // ------------------------------------------------------------------------------------------------------------------------- TEST_RESULT_PTR(varDup(NULL), NULL, "dup NULL"); @@ -396,11 +396,11 @@ testRun(void) // ***************************************************************************************************************************** if (testBegin("varToLog")) { - TEST_RESULT_STR(strPtr(varToLog(varNewStrZ("testme"))), "{\"testme\"}", "format String"); - TEST_RESULT_STR(strPtr(varToLog(varNewBool(false))), "{false}", "format bool"); - TEST_RESULT_STR(strPtr(varToLog(varNewKv(kvNew()))), "{KeyValue}", "format KeyValue"); - TEST_RESULT_STR(strPtr(varToLog(varNewVarLst(varLstNew()))), "{VariantList}", "format VariantList"); - TEST_RESULT_STR(strPtr(varToLog(NULL)), "null", "format null"); + TEST_RESULT_STR_Z(varToLog(varNewStrZ("testme")), "{\"testme\"}", "format String"); + TEST_RESULT_STR_Z(varToLog(varNewBool(false)), "{false}", "format bool"); + TEST_RESULT_STR_Z(varToLog(varNewKv(kvNew())), "{KeyValue}", "format KeyValue"); + TEST_RESULT_STR_Z(varToLog(varNewVarLst(varLstNew())), "{VariantList}", "format VariantList"); + TEST_RESULT_STR_Z(varToLog(NULL), "null", "format null"); } // ***************************************************************************************************************************** @@ -422,7 +422,7 @@ testRun(void) TEST_RESULT_INT(varLstSize(list), 2, "list size"); TEST_RESULT_INT(varInt(varLstGet(list, 0)), 27, "check int"); - TEST_RESULT_STR(strPtr(varStr(varLstGet(list, 1))), "test-str", "check string"); + TEST_RESULT_STR_Z(varStr(varLstGet(list, 1)), "test-str", "check string"); TEST_RESULT_VOID(varLstFree(list), "free list"); TEST_RESULT_VOID(varLstFree(NULL), "free null list"); @@ -436,9 +436,7 @@ testRun(void) varLstAdd(list, varNewStrZ("string1")); varLstAdd(list, varNewStrZ("string2")); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstNewVarLst(varLstDup(list)), ", ")), - "string1, string2", "duplicate variant list"); + TEST_RESULT_STR_Z(strLstJoin(strLstNewVarLst(varLstDup(list)), ", "), "string1, string2", "duplicate variant list"); TEST_RESULT_PTR(varLstDup(NULL), NULL, "duplicate null list"); } @@ -451,9 +449,8 @@ testRun(void) strLstAdd(listStr, strNew("string1")); strLstAdd(listStr, strNew("string2")); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstNewVarLst(varLstNewStrLst(listStr)), ", ")), - "string1, string2", "variant list from string list"); + TEST_RESULT_STR_Z( + strLstJoin(strLstNewVarLst(varLstNewStrLst(listStr)), ", "), "string1, string2", "variant list from string list"); TEST_RESULT_PTR(varLstNewStrLst(NULL), NULL, "variant list from null string list"); } diff --git a/test/src/module/common/typeXmlTest.c b/test/src/module/common/typeXmlTest.c index 2eeb4784b..41924a6fe 100644 --- a/test/src/module/common/typeXmlTest.c +++ b/test/src/module/common/typeXmlTest.c @@ -48,7 +48,7 @@ testRun(void) XmlNode *nodeMaxKeys = NULL; TEST_ASSIGN(nodeMaxKeys, xmlNodeChild(rootNode, strNew("MaxKeys"), true), "get max keys"); - TEST_RESULT_STR(strPtr(xmlNodeContent(nodeMaxKeys)), "1000", " check MaxKeys content"); + TEST_RESULT_STR_Z(xmlNodeContent(nodeMaxKeys), "1000", " check MaxKeys content"); TEST_RESULT_PTR(xmlNodeContent(NULL), NULL, " get null content for null node"); @@ -56,21 +56,21 @@ testRun(void) TEST_RESULT_VOID(xmlNodeFree(NULL), "free null node"); TEST_RESULT_UINT(xmlNodeChildTotal(rootNode, strNew("Contents")), 2, "Contents child total"); - TEST_RESULT_STR( - strPtr(xmlNodeContent(xmlNodeChild(xmlNodeChildN(rootNode, strNew("Contents"), 0, true), strNew("Key"), true))), + TEST_RESULT_STR_Z( + xmlNodeContent(xmlNodeChild(xmlNodeChildN(rootNode, strNew("Contents"), 0, true), strNew("Key"), true)), "test1.txt", "Contents index 0 Key"); - TEST_RESULT_STR( - strPtr(xmlNodeContent(xmlNodeChild(xmlNodeChildN(rootNode, strNew("Contents"), 1, true), strNew("Key"), true))), + TEST_RESULT_STR_Z( + xmlNodeContent(xmlNodeChild(xmlNodeChildN(rootNode, strNew("Contents"), 1, true), strNew("Key"), true)), "test2.txt", "Contents index 1 Key"); XmlNodeList *list = NULL; TEST_ASSIGN(list, xmlNodeChildList(rootNode, strNew("Contents")), "create node list"); TEST_RESULT_UINT(xmlNodeLstSize(list), 2, " check size"); - TEST_RESULT_STR( - strPtr(xmlNodeContent(xmlNodeChild(xmlNodeLstGet(list, 0), strNew("Key"), true))), "test1.txt", + TEST_RESULT_STR_Z( + xmlNodeContent(xmlNodeChild(xmlNodeLstGet(list, 0), strNew("Key"), true)), "test1.txt", " check Contents index 0 Key"); - TEST_RESULT_STR( - strPtr(xmlNodeContent(xmlNodeChild(xmlNodeLstGet(list, 1), strNew("Key"), true))), "test2.txt", + TEST_RESULT_STR_Z( + xmlNodeContent(xmlNodeChild(xmlNodeLstGet(list, 1), strNew("Key"), true)), "test2.txt", " check Contents index 1 Key"); TEST_RESULT_VOID(xmlNodeLstFree(list), " free list"); @@ -80,8 +80,7 @@ testRun(void) TEST_RESULT_PTR(xmlNodeChildN(rootNode, strNew("Contents"), 2, false), NULL, "get missing child without error"); TEST_RESULT_PTR(xmlNodeAttribute(rootNode, strNew(BOGUS_STR)), NULL, "attempt to get missing attribute"); - TEST_RESULT_STR( - strPtr(xmlNodeAttribute(xmlNodeChild(rootNode, strNew("Name"), true), strNew("id"))), "test", "get attribute"); + TEST_RESULT_STR_Z(xmlNodeAttribute(xmlNodeChild(rootNode, strNew("Name"), true), strNew("id")), "test", "get attribute"); TEST_RESULT_VOID(xmlDocumentFree(xmlDocument), "free xmldoc"); @@ -98,8 +97,8 @@ testRun(void) TEST_RESULT_VOID(xmlNodeContentSet(xmlNodeAdd(partNode, strNew("PartNumber")), strNew("2")), "set part number 2"); TEST_RESULT_VOID(xmlNodeContentSet(xmlNodeAdd(partNode, strNew("ETag")), strNew("E2")), "set etag 2"); - TEST_RESULT_STR( - strPtr(strNewBuf(xmlDocumentBuf(xmlDocument))), + TEST_RESULT_STR_Z( + strNewBuf(xmlDocumentBuf(xmlDocument)), "\n" "" "1E1" diff --git a/test/src/module/config/configTest.c b/test/src/module/config/configTest.c index 52ebecf99..ee3028c5d 100644 --- a/test/src/module/config/configTest.c +++ b/test/src/module/config/configTest.c @@ -23,7 +23,7 @@ testRun(void) cfgCommandDefIdFromId(CFG_COMMAND_TOTAL), AssertError, "assertion 'commandId < cfgCmdNone' failed"); TEST_RESULT_INT(cfgCommandDefIdFromId(cfgCmdBackup), cfgDefCmdBackup, "command id to def id"); - TEST_RESULT_STR(cfgCommandName(cfgCmdBackup), "backup", "command name from id"); + TEST_RESULT_Z(cfgCommandName(cfgCmdBackup), "backup", "command name from id"); TEST_RESULT_INT(cfgOptionDefIdFromId(cfgOptPgHost + 6), cfgDefOptPgHost, "option id to def id"); @@ -45,7 +45,7 @@ testRun(void) TEST_RESULT_INT(cfgOptionIndexTotal(cfgOptPgPath), 8, "option index total"); TEST_RESULT_INT(cfgOptionIndexTotal(cfgOptLogLevelConsole), 1, "option index total"); - TEST_RESULT_STR(cfgOptionName(cfgOptBackupStandby), "backup-standby", "option id from name"); + TEST_RESULT_Z(cfgOptionName(cfgOptBackupStandby), "backup-standby", "option id from name"); } // ***************************************************************************************************************************** @@ -103,7 +103,7 @@ testRun(void) // ------------------------------------------------------------------------------------------------------------------------- TEST_RESULT_PTR(cfgExe(), NULL, "exe defaults to null"); TEST_RESULT_VOID(cfgExeSet(strNew("/path/to/exe")), "set exe"); - TEST_RESULT_STR(strPtr(cfgExe()), "/path/to/exe", "exe is set"); + TEST_RESULT_Z(strPtr(cfgExe()), "/path/to/exe", "exe is set"); // ------------------------------------------------------------------------------------------------------------------------- TEST_RESULT_BOOL(cfgOptionNegate(cfgOptConfig), false, "negate defaults to false"); @@ -190,7 +190,7 @@ testRun(void) cfgOptionSet(cfgOptStanza, cfgSourceParam, varNewDbl(1.1)), AssertError, "option 'stanza' must be set with String variant"); TEST_RESULT_VOID(cfgOptionSet(cfgOptStanza, cfgSourceConfig, varNewStrZ("db")), "set stanza"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptStanza)), "db", "stanza is set"); + TEST_RESULT_STR_Z(cfgOptionStr(cfgOptStanza), "db", "stanza is set"); TEST_ERROR( cfgOptionInt(cfgOptStanza), AssertError, "assertion 'varType(configOptionValue[optionId].value) == varTypeInt64' failed"); @@ -210,14 +210,14 @@ testRun(void) cfgOptionValidSet(cfgOptRepoS3Host, true); cfgOptionSet(cfgOptRepoS3Host, cfgSourceConfig, varNewStrZ("host.com")) ; - TEST_RESULT_STR(strPtr(cfgOptionHostPort(cfgOptRepoS3Host, &port)), "host.com", "check plain host"); + TEST_RESULT_STR_Z(cfgOptionHostPort(cfgOptRepoS3Host, &port), "host.com", "check plain host"); TEST_RESULT_UINT(port, 55555, "check that port was not updated"); cfgOptionSet(cfgOptRepoS3Host, cfgSourceConfig, varNewStrZ("myhost.com:777")) ; - TEST_RESULT_STR(strPtr(cfgOptionHostPort(cfgOptRepoS3Host, &port)), "myhost.com", "check host with port"); + TEST_RESULT_STR_Z(cfgOptionHostPort(cfgOptRepoS3Host, &port), "myhost.com", "check host with port"); TEST_RESULT_UINT(port, 777, "check that port was updated"); - TEST_RESULT_STR(strPtr(cfgOptionHostPort(cfgOptRepoS3Endpoint, &port)), NULL, "check null host"); + TEST_RESULT_STR_Z(cfgOptionHostPort(cfgOptRepoS3Endpoint, &port), NULL, "check null host"); TEST_RESULT_UINT(port, 777, "check that port was not updated"); cfgOptionSet(cfgOptRepoS3Host, cfgSourceConfig, varNewStrZ("myhost.com:777:888")) ; @@ -244,7 +244,7 @@ testRun(void) TEST_ERROR( strPtr(varStr(cfgOptionDefaultValue(cfgOptDbInclude))), AssertError, "default value not available for option type 4"); - TEST_RESULT_STR(strPtr(varStr(cfgOptionDefault(cfgOptType))), "incr", "backup type default"); + TEST_RESULT_STR_Z(varStr(cfgOptionDefault(cfgOptType)), "incr", "backup type default"); TEST_RESULT_BOOL(varBool(cfgOptionDefault(cfgOptCompress)), "true", "backup compress default"); TEST_RESULT_DOUBLE(varDbl(cfgOptionDefault(cfgOptProtocolTimeout)), 1830, "backup protocol-timeout default"); TEST_RESULT_INT(varIntForce(cfgOptionDefault(cfgOptCompressLevel)), 6, "backup compress-level default"); @@ -253,14 +253,14 @@ testRun(void) TEST_RESULT_VOID(cfgOptionSet(cfgOptPgHost, cfgSourceParam, varNewStrZ("backup")), "backup host set"); TEST_RESULT_VOID(cfgOptionDefaultSet(cfgOptPgHost, varNewStrZ("backup-default")), "backup host default"); TEST_RESULT_VOID(cfgOptionDefaultSet(cfgOptPgHost, varNewStrZ("backup-default2")), "reset backup host default"); - TEST_RESULT_STR(strPtr(varStr(cfgOption(cfgOptPgHost))), "backup", "backup host value"); - TEST_RESULT_STR(strPtr(varStr(cfgOptionDefault(cfgOptPgHost))), "backup-default2", "backup host default"); + TEST_RESULT_STR_Z(varStr(cfgOption(cfgOptPgHost)), "backup", "backup host value"); + TEST_RESULT_STR_Z(varStr(cfgOptionDefault(cfgOptPgHost)), "backup-default2", "backup host default"); TEST_RESULT_VOID(cfgOptionSet(cfgOptPgSocketPath, cfgSourceDefault, NULL), "backup pg-socket-path set"); TEST_RESULT_VOID(cfgOptionDefaultSet(cfgOptPgSocketPath, varNewStrZ("/to/socket")), "backup pg-socket-path default"); TEST_RESULT_VOID(cfgOptionDefaultSet(cfgOptPgSocketPath, varNewStrZ("/to/socket2")), "reset backup pg-socket-path default"); - TEST_RESULT_STR(strPtr(varStr(cfgOption(cfgOptPgSocketPath))), "/to/socket2", "backup pg-socket-path value"); - TEST_RESULT_STR(strPtr(varStr(cfgOptionDefault(cfgOptPgSocketPath))), "/to/socket2", "backup pg-socket-path value default"); + TEST_RESULT_STR_Z(varStr(cfgOption(cfgOptPgSocketPath)), "/to/socket2", "backup pg-socket-path value"); + TEST_RESULT_STR_Z(varStr(cfgOptionDefault(cfgOptPgSocketPath)), "/to/socket2", "backup pg-socket-path value default"); } FUNCTION_HARNESS_RESULT_VOID(); diff --git a/test/src/module/config/defineTest.c b/test/src/module/config/defineTest.c index fc74fdcd3..3359dbfee 100644 --- a/test/src/module/config/defineTest.c +++ b/test/src/module/config/defineTest.c @@ -16,7 +16,7 @@ testRun(void) // ***************************************************************************************************************************** if (testBegin("check known values")) { - TEST_RESULT_STR(cfgDefOptionName(cfgDefOptConfig), "config", "option name"); + TEST_RESULT_Z(cfgDefOptionName(cfgDefOptConfig), "config", "option name"); TEST_RESULT_INT(cfgDefOptionId("repo-host"), cfgDefOptRepoHost, "define id"); TEST_RESULT_INT(cfgDefOptionId(BOGUS_STR), -1, "invalid define id"); @@ -29,9 +29,9 @@ testRun(void) TEST_RESULT_INT(cfgDefOptionAllowListValueTotal(cfgDefCmdBackup, cfgDefOptType), 3, "allow list total"); - TEST_RESULT_STR(cfgDefOptionAllowListValue(cfgDefCmdBackup, cfgDefOptType, 0), "full", "allow list value 0"); - TEST_RESULT_STR(cfgDefOptionAllowListValue(cfgDefCmdBackup, cfgDefOptType, 1), "diff", "allow list value 1"); - TEST_RESULT_STR(cfgDefOptionAllowListValue(cfgDefCmdBackup, cfgDefOptType, 2), "incr", "allow list value 2"); + TEST_RESULT_Z(cfgDefOptionAllowListValue(cfgDefCmdBackup, cfgDefOptType, 0), "full", "allow list value 0"); + TEST_RESULT_Z(cfgDefOptionAllowListValue(cfgDefCmdBackup, cfgDefOptType, 1), "diff", "allow list value 1"); + TEST_RESULT_Z(cfgDefOptionAllowListValue(cfgDefCmdBackup, cfgDefOptType, 2), "incr", "allow list value 2"); TEST_ERROR( cfgDefOptionAllowListValue(cfgDefCmdBackup, cfgDefOptType, 3), AssertError, "assertion 'valueId < cfgDefOptionAllowListValueTotal(commandDefId, optionDefId)' failed"); @@ -56,10 +56,10 @@ testRun(void) TEST_ERROR(cfgDefOptionDefault( cfgDefCmdBackup, cfgDefOptionTotal()), AssertError, "assertion 'optionDefId < cfgDefOptionTotal()' failed"); - TEST_RESULT_STR(cfgDefOptionDefault(cfgDefCmdBackup, cfgDefOptCompressLevel), "6", "option default exists"); - TEST_RESULT_STR(cfgDefOptionDefault(cfgDefCmdRestore, cfgDefOptType), "default", "command default exists"); - TEST_RESULT_STR(cfgDefOptionDefault(cfgDefCmdLocal, cfgDefOptType), NULL, "command default does not exist"); - TEST_RESULT_STR(cfgDefOptionDefault(cfgDefCmdBackup, cfgDefOptRepoHost), NULL, "default does not exist"); + TEST_RESULT_Z(cfgDefOptionDefault(cfgDefCmdBackup, cfgDefOptCompressLevel), "6", "option default exists"); + TEST_RESULT_Z(cfgDefOptionDefault(cfgDefCmdRestore, cfgDefOptType), "default", "command default exists"); + TEST_RESULT_Z(cfgDefOptionDefault(cfgDefCmdLocal, cfgDefOptType), NULL, "command default does not exist"); + TEST_RESULT_Z(cfgDefOptionDefault(cfgDefCmdBackup, cfgDefOptRepoHost), NULL, "default does not exist"); TEST_RESULT_BOOL(cfgDefOptionDepend(cfgDefCmdRestore, cfgDefOptRepoS3Key), true, "has depend option"); TEST_RESULT_BOOL(cfgDefOptionDepend(cfgDefCmdRestore, cfgDefOptType), false, "does not have depend option"); @@ -68,9 +68,9 @@ testRun(void) TEST_RESULT_INT(cfgDefOptionDependOption(cfgDefCmdBackup, cfgDefOptRepoHostCmd), cfgDefOptRepoHost, "depend option id"); TEST_RESULT_INT(cfgDefOptionDependValueTotal(cfgDefCmdRestore, cfgDefOptTarget), 3, "depend option value total"); - TEST_RESULT_STR(cfgDefOptionDependValue(cfgDefCmdRestore, cfgDefOptTarget, 0), "name", "depend option value 0"); - TEST_RESULT_STR(cfgDefOptionDependValue(cfgDefCmdRestore, cfgDefOptTarget, 1), "time", "depend option value 1"); - TEST_RESULT_STR(cfgDefOptionDependValue(cfgDefCmdRestore, cfgDefOptTarget, 2), "xid", "depend option value 2"); + TEST_RESULT_Z(cfgDefOptionDependValue(cfgDefCmdRestore, cfgDefOptTarget, 0), "name", "depend option value 0"); + TEST_RESULT_Z(cfgDefOptionDependValue(cfgDefCmdRestore, cfgDefOptTarget, 1), "time", "depend option value 1"); + TEST_RESULT_Z(cfgDefOptionDependValue(cfgDefCmdRestore, cfgDefOptTarget, 2), "xid", "depend option value 2"); TEST_ERROR( cfgDefOptionDependValue(cfgDefCmdRestore, cfgDefOptTarget, 3), AssertError, "assertion 'valueId < cfgDefOptionDependValueTotal(commandDefId, optionDefId)' failed"); @@ -93,8 +93,8 @@ testRun(void) TEST_RESULT_BOOL(cfgDefOptionMulti(cfgDefOptDbInclude), true, "db-include is multi"); TEST_RESULT_BOOL(cfgDefOptionMulti(cfgDefOptStartFast), false, "start-fast is not multi"); - TEST_RESULT_STR(cfgDefOptionPrefix(cfgDefOptPgHost), "pg", "option prefix"); - TEST_RESULT_STR(cfgDefOptionPrefix(cfgDefOptType), NULL, "option has no prefix"); + TEST_RESULT_Z(cfgDefOptionPrefix(cfgDefOptPgHost), "pg", "option prefix"); + TEST_RESULT_Z(cfgDefOptionPrefix(cfgDefOptType), NULL, "option has no prefix"); TEST_RESULT_BOOL(cfgDefOptionRequired(cfgDefCmdBackup, cfgDefOptConfig), true, "option required"); TEST_RESULT_BOOL(cfgDefOptionRequired(cfgDefCmdRestore, cfgDefOptRepoHost), false, "option not required"); @@ -123,27 +123,27 @@ testRun(void) TEST_RESULT_BOOL(cfgDefOptionHelpNameAlt(cfgDefOptRepoHost), true, "name alt exists"); TEST_RESULT_BOOL(cfgDefOptionHelpNameAlt(cfgDefOptSet), false, "name alt not exists"); TEST_RESULT_INT(cfgDefOptionHelpNameAltValueTotal(cfgDefOptRepoHost), 1, "name alt value total"); - TEST_RESULT_STR(cfgDefOptionHelpNameAltValue(cfgDefOptRepoHost, 0), "backup-host", "name alt value 0"); + TEST_RESULT_Z(cfgDefOptionHelpNameAltValue(cfgDefOptRepoHost, 0), "backup-host", "name alt value 0"); TEST_ERROR( cfgDefOptionHelpNameAltValue(cfgDefOptRepoHost, 1), AssertError, "assertion 'valueId < cfgDefOptionHelpNameAltValueTotal(optionDefId)' failed"); - TEST_RESULT_STR(cfgDefCommandHelpSummary(cfgDefCmdBackup), "Backup a database cluster.", "backup command help summary"); - TEST_RESULT_STR( + TEST_RESULT_Z(cfgDefCommandHelpSummary(cfgDefCmdBackup), "Backup a database cluster.", "backup command help summary"); + TEST_RESULT_Z( cfgDefCommandHelpDescription(cfgDefCmdBackup), "pgBackRest does not have a built-in scheduler so it's best to run it from cron or some other scheduling mechanism.", "backup command help description"); - TEST_RESULT_STR(cfgDefOptionHelpSection(cfgDefOptCompress), "general", "compress option help section"); - TEST_RESULT_STR( + TEST_RESULT_Z(cfgDefOptionHelpSection(cfgDefOptCompress), "general", "compress option help section"); + TEST_RESULT_Z( cfgDefOptionHelpSummary(cfgDefCmdBackup, cfgDefOptCompress), "Use gzip file compression.", "backup command, compress option help summary"); - TEST_RESULT_STR( + TEST_RESULT_Z( cfgDefOptionHelpDescription(cfgDefCmdBackup, cfgDefOptCompress), "Backup files are compatible with command-line gzip tools.", "backup command, compress option help description"); - TEST_RESULT_STR( + TEST_RESULT_Z( cfgDefOptionHelpSummary(cfgDefCmdBackup, cfgDefOptType), "Backup type.", "backup command, type option help summary"); - TEST_RESULT_STR( + TEST_RESULT_Z( cfgDefOptionHelpDescription(cfgDefCmdBackup, cfgDefOptType), "The following backup types are supported:\n" "\n" diff --git a/test/src/module/config/execTest.c b/test/src/module/config/execTest.c index dabf913a4..064b05b94 100644 --- a/test/src/module/config/execTest.c +++ b/test/src/module/config/execTest.c @@ -31,12 +31,11 @@ testRun(void) unsetenv("PGBACKREST_REPO1_CIPHER_PASS"); TEST_RESULT_STR( - strPtr(strLstJoin(cfgExecParam(cfgCmdLocal, NULL, false), "|")), - strPtr( - strNewFmt( - "--no-config|--log-subprocess|--reset-neutral-umask|--pg1-path=\"%s/db path\"|--repo1-path=%s/repo" - "|--stanza=test1|local", - testPath(), testPath())), + strLstJoin(cfgExecParam(cfgCmdLocal, NULL, false), "|"), + strNewFmt( + "--no-config|--log-subprocess|--reset-neutral-umask|--pg1-path=\"%s/db path\"|--repo1-path=%s/repo" + "|--stanza=test1|local", + testPath(), testPath()), "exec archive-get -> local"); // ------------------------------------------------------------------------------------------------------------------------- @@ -60,12 +59,11 @@ testRun(void) kvPut(optionReplace, varNewStr(strNew("stanza")), NULL); TEST_RESULT_STR( - strPtr(strLstJoin(cfgExecParam(cfgCmdRestore, optionReplace, true), "|")), - strPtr( - strNewFmt( - "--db-include=1|--db-include=2|--pg1-path=%s/db|--recovery-option=a=b|--recovery-option=c=d" - "|--repo1-path=/replace/path|restore", - testPath())), + strLstJoin(cfgExecParam(cfgCmdRestore, optionReplace, true), "|"), + strNewFmt( + "--db-include=1|--db-include=2|--pg1-path=%s/db|--recovery-option=a=b|--recovery-option=c=d" + "|--repo1-path=/replace/path|restore", + testPath()), "exec restore -> restore"); } diff --git a/test/src/module/config/loadTest.c b/test/src/module/config/loadTest.c index 564cd3ff7..49ec87e76 100644 --- a/test/src/module/config/loadTest.c +++ b/test/src/module/config/loadTest.c @@ -84,12 +84,12 @@ testRun(void) cfgOptionSet(cfgOptRepoHost, cfgSourceParam, varNewStrZ("repo-host")); TEST_RESULT_VOID(cfgLoadUpdateOption(), "repo remote command is updated"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptRepoHostCmd)), strPtr(exe), " check repo1-host-cmd"); + TEST_RESULT_STR(cfgOptionStr(cfgOptRepoHostCmd), exe, " check repo1-host-cmd"); cfgOptionSet(cfgOptRepoHostCmd, cfgSourceParam, varNewStr(exeOther)); TEST_RESULT_VOID(cfgLoadUpdateOption(), "repo remote command was already set"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptRepoHostCmd)), strPtr(exeOther), " check repo1-host-cmd"); + TEST_RESULT_STR(cfgOptionStr(cfgOptRepoHostCmd), exeOther, " check repo1-host-cmd"); cfgOptionSet(cfgOptRepoHost, cfgSourceParam, NULL); @@ -106,11 +106,10 @@ testRun(void) cfgOptionSet(cfgOptPgHost + cfgOptionIndexTotal(cfgOptPgHost) - 1, cfgSourceParam, varNewStrZ("pgX-host")); TEST_RESULT_VOID(cfgLoadUpdateOption(), "pg remote command is updated"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptPgHostCmd)), strPtr(exe), " check pg1-host-cmd"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptPgHostCmd + 1)), strPtr(exeOther), " check pg2-host-cmd is already set"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptPgHostCmd + 2)), NULL, " check pg3-host-cmd is not set"); - TEST_RESULT_STR( - strPtr(cfgOptionStr(cfgOptPgHostCmd + cfgOptionIndexTotal(cfgOptPgHost) - 1)), strPtr(exe), " check pgX-host-cmd"); + TEST_RESULT_STR(cfgOptionStr(cfgOptPgHostCmd), exe, " check pg1-host-cmd"); + TEST_RESULT_STR(cfgOptionStr(cfgOptPgHostCmd + 1), exeOther, " check pg2-host-cmd is already set"); + TEST_RESULT_STR(cfgOptionStr(cfgOptPgHostCmd + 2), NULL, " check pg3-host-cmd is not set"); + TEST_RESULT_STR(cfgOptionStr(cfgOptPgHostCmd + cfgOptionIndexTotal(cfgOptPgHost) - 1), exe, " check pgX-host-cmd"); // ------------------------------------------------------------------------------------------------------------------------- cfgInit(); @@ -281,7 +280,7 @@ testRun(void) strLstAdd(argList, strNew("--repo1-path=/repo")); TEST_RESULT_VOID(harnessCfgLoad(cfgCmdArchiveGet, argList), "invalid bucket with no verification"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptRepoS3Bucket)), "bogus.bucket", " check bucket value"); + TEST_RESULT_STR_Z(cfgOptionStr(cfgOptRepoS3Bucket), "bogus.bucket", " check bucket value"); // Valid bucket name argList = strLstNew(); @@ -293,7 +292,7 @@ testRun(void) strLstAdd(argList, strNew("--repo1-path=/repo")); TEST_RESULT_VOID(harnessCfgLoad(cfgCmdArchiveGet, argList), "valid bucket name"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptRepoS3Bucket)), "cool-bucket", " check bucket value"); + TEST_RESULT_STR_Z(cfgOptionStr(cfgOptRepoS3Bucket), "cool-bucket", " check bucket value"); unsetenv("PGBACKREST_REPO1_S3_KEY"); unsetenv("PGBACKREST_REPO1_S3_KEY_SECRET"); @@ -315,7 +314,7 @@ testRun(void) // On the error case is tested here, success is tested in cfgLoad() TEST_RESULT_VOID(cfgLoadLogFile(), "attempt to open bogus log file"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptLogLevelFile)), "off", "log-level-file should now be off"); + TEST_RESULT_STR_Z(cfgOptionStr(cfgOptLogLevelFile), "off", "log-level-file should now be off"); } // ***************************************************************************************************************************** diff --git a/test/src/module/config/parseTest.c b/test/src/module/config/parseTest.c index cc5494332..a1deef547 100644 --- a/test/src/module/config/parseTest.c +++ b/test/src/module/config/parseTest.c @@ -50,8 +50,8 @@ testRun(void) // Check old config file constants // ------------------------------------------------------------------------------------------------------------------------- - TEST_RESULT_STR(PGBACKREST_CONFIG_ORIG_PATH_FILE, "/etc/pgbackrest.conf", "check old config path"); - TEST_RESULT_STR(strPtr(PGBACKREST_CONFIG_ORIG_PATH_FILE_STR), "/etc/pgbackrest.conf", "check old config path str"); + TEST_RESULT_Z(PGBACKREST_CONFIG_ORIG_PATH_FILE, "/etc/pgbackrest.conf", "check old config path"); + TEST_RESULT_STR_Z(PGBACKREST_CONFIG_ORIG_PATH_FILE_STR, "/etc/pgbackrest.conf", "check old config path str"); // Confirm same behavior with multiple config include files //-------------------------------------------------------------------------------------------------------------------------- @@ -114,7 +114,7 @@ testRun(void) "P00 WARN: configuration file contains stanza-only option 'pg1-path' in global section 'global:backup'"))); TEST_RESULT_BOOL(cfgOptionTest(cfgOptPgHost), false, " pg1-host is not set (command line reset override)"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptPgPath)), "/path/to/db", " pg1-path is set"); + TEST_RESULT_STR_Z(cfgOptionStr(cfgOptPgPath), "/path/to/db", " pg1-path is set"); TEST_RESULT_INT(cfgOptionSource(cfgOptPgPath), cfgSourceConfig, " pg1-path is source config"); TEST_RESULT_BOOL(cfgOptionBool(cfgOptCompress), false, " compress not is set"); TEST_RESULT_INT(cfgOptionSource(cfgOptCompress), cfgSourceConfig, " compress is source config"); @@ -163,8 +163,8 @@ testRun(void) TEST_RESULT_VOID(cfgFileLoadPart(NULL, NULL), "check null part"); - TEST_RESULT_STR(strPtr(cfgFileLoad(parseOptionList, backupCmdDefConfigValue, - backupCmdDefConfigInclPathValue, oldConfigDefault)), + TEST_RESULT_STR_Z( + cfgFileLoad(parseOptionList, backupCmdDefConfigValue, backupCmdDefConfigInclPathValue, oldConfigDefault), "[global]\n" "compress-level=3\n" "spool-path=/path/to/spool\n" @@ -212,10 +212,9 @@ testRun(void) parseOptionList[cfgOptConfigIncludePath].found = false; parseOptionList[cfgOptConfigIncludePath].source = cfgSourceDefault; - TEST_RESULT_STR(strPtr(cfgFileLoad(parseOptionList, backupCmdDefConfigValue, - backupCmdDefConfigInclPathValue, oldConfigDefault)), - NULL, - "config default, config-include-path default but nothing to read"); + TEST_RESULT_STR_Z( + cfgFileLoad(parseOptionList, backupCmdDefConfigValue, backupCmdDefConfigInclPathValue, oldConfigDefault), + NULL, "config default, config-include-path default but nothing to read"); // Config not passed as parameter - config does not exist. config-include-path passed as parameter - only include read //-------------------------------------------------------------------------------------------------------------------------- @@ -228,8 +227,8 @@ testRun(void) parseOptionList[cfgOptConfigIncludePath].source = cfgSourceParam; parseOptionList[cfgOptConfigIncludePath].valueList = value; - TEST_RESULT_STR(strPtr(cfgFileLoad(parseOptionList, backupCmdDefConfigValue, - backupCmdDefConfigInclPathValue, oldConfigDefault)), + TEST_RESULT_STR_Z( + cfgFileLoad(parseOptionList, backupCmdDefConfigValue, backupCmdDefConfigInclPathValue, oldConfigDefault), "[db]\n" "pg1-host=db\n" "pg1-path=/path/to/db\n" @@ -253,8 +252,8 @@ testRun(void) // Pass actual location of config files as "default" - not setting valueList above, so these are the only possible values // to choose. - TEST_RESULT_STR(strPtr(cfgFileLoad(parseOptionList, configFile, configIncludePath, - oldConfigDefault)), + TEST_RESULT_STR_Z( + cfgFileLoad(parseOptionList, configFile, configIncludePath, oldConfigDefault), "[global]\n" "compress-level=3\n" "spool-path=/path/to/spool\n" @@ -277,8 +276,8 @@ testRun(void) parseOptionList[cfgOptConfigIncludePath].source = cfgSourceParam; parseOptionList[cfgOptConfigIncludePath].valueList = value; - TEST_RESULT_STR(strPtr(cfgFileLoad(parseOptionList, backupCmdDefConfigValue, - backupCmdDefConfigInclPathValue, oldConfigDefault)), + TEST_RESULT_STR_Z( + cfgFileLoad(parseOptionList, backupCmdDefConfigValue, backupCmdDefConfigInclPathValue, oldConfigDefault), "[global:backup]\n" "buffer-size=65536\n" "\n" @@ -300,8 +299,8 @@ testRun(void) parseOptionList[cfgOptConfigIncludePath].source = cfgSourceParam; parseOptionList[cfgOptConfigIncludePath].valueList = value; - TEST_RESULT_STR(strPtr(cfgFileLoad(parseOptionList, backupCmdDefConfigValue, - backupCmdDefConfigInclPathValue, oldConfigDefault)), + TEST_RESULT_STR_Z( + cfgFileLoad(parseOptionList, backupCmdDefConfigValue, backupCmdDefConfigInclPathValue, oldConfigDefault), "[db]\n" "pg1-host=db\n" "pg1-path=/path/to/db\n" @@ -316,10 +315,9 @@ testRun(void) parseOptionList[cfgOptConfigIncludePath].found = false; parseOptionList[cfgOptConfigIncludePath].source = cfgSourceDefault; - TEST_RESULT_STR(strPtr(cfgFileLoad(parseOptionList, backupCmdDefConfigValue, - configIncludePath, oldConfigDefault)), - NULL, - "--no-config, config-include-path default, nothing read"); + TEST_RESULT_STR_Z( + cfgFileLoad(parseOptionList, backupCmdDefConfigValue, configIncludePath, oldConfigDefault), + NULL, "--no-config, config-include-path default, nothing read"); // config passed and config-include-path default exists with files - only config read //-------------------------------------------------------------------------------------------------------------------------- @@ -333,8 +331,8 @@ testRun(void) parseOptionList[cfgOptConfigIncludePath].found = false; parseOptionList[cfgOptConfigIncludePath].source = cfgSourceDefault; - TEST_RESULT_STR(strPtr(cfgFileLoad(parseOptionList, backupCmdDefConfigValue, - configIncludePath, oldConfigDefault)), + TEST_RESULT_STR_Z( + cfgFileLoad(parseOptionList, backupCmdDefConfigValue, configIncludePath, oldConfigDefault), "[global]\n" "compress-level=3\n" "spool-path=/path/to/spool\n", @@ -351,8 +349,8 @@ testRun(void) parseOptionList[cfgOptConfigIncludePath].source = cfgSourceParam; parseOptionList[cfgOptConfigIncludePath].valueList = value; - TEST_RESULT_STR(strPtr(cfgFileLoad(parseOptionList, configFile, - backupCmdDefConfigInclPathValue, oldConfigDefault)), + TEST_RESULT_STR_Z( + cfgFileLoad(parseOptionList, configFile, backupCmdDefConfigInclPathValue, oldConfigDefault), "[global]\n" "compress-level=3\n" "spool-path=/path/to/spool\n" @@ -371,8 +369,8 @@ testRun(void) parseOptionList[cfgOptConfigIncludePath].source = cfgSourceDefault; // File exists in old default config location but not in current default. - TEST_RESULT_STR(strPtr(cfgFileLoad(parseOptionList, backupCmdDefConfigValue, - configIncludePath, oldConfigDefault)), + TEST_RESULT_STR_Z( + cfgFileLoad(parseOptionList, backupCmdDefConfigValue, configIncludePath, oldConfigDefault), "[global:backup]\n" "buffer-size=65536\n" "\n" @@ -392,8 +390,8 @@ testRun(void) // Override default paths for config and config-include-path - but no pgbackrest.conf file in override path only in old // default so ignored - TEST_RESULT_STR(strPtr(cfgFileLoad(parseOptionList, backupCmdDefConfigValue, - backupCmdDefConfigInclPathValue, oldConfigDefault)), + TEST_RESULT_STR_Z( + cfgFileLoad(parseOptionList, backupCmdDefConfigValue, backupCmdDefConfigInclPathValue, oldConfigDefault), "[db]\n" "pg1-host=db\n" "pg1-path=/path/to/db\n" @@ -411,8 +409,8 @@ testRun(void) // Passing --config and --config-path - default config-include-path overwritten and config is required and is loaded and // config-include-path files will attempt to be loaded but not required - TEST_RESULT_STR(strPtr(cfgFileLoad(parseOptionList, backupCmdDefConfigValue, - backupCmdDefConfigInclPathValue, oldConfigDefault)), + TEST_RESULT_STR_Z( + cfgFileLoad(parseOptionList, backupCmdDefConfigValue, backupCmdDefConfigInclPathValue, oldConfigDefault), "[global]\n" "compress-level=3\n" "spool-path=/path/to/spool\n" @@ -430,8 +428,8 @@ testRun(void) // Passing --config and bogus --config-path - default config-include-path overwritten, config is required and is loaded and // config-include-path files will attempt to be loaded but doesn't exist - no error since not required - TEST_RESULT_STR(strPtr(cfgFileLoad(parseOptionList, backupCmdDefConfigValue, - backupCmdDefConfigInclPathValue, oldConfigDefault)), + TEST_RESULT_STR_Z( + cfgFileLoad(parseOptionList, backupCmdDefConfigValue, backupCmdDefConfigInclPathValue, oldConfigDefault), "[global]\n" "compress-level=3\n" "spool-path=/path/to/spool\n", @@ -456,8 +454,8 @@ testRun(void) parseOptionList[cfgOptConfigPath].valueList = value; // Override default paths for config and config-include-path with --config-path - TEST_RESULT_STR(strPtr(cfgFileLoad(parseOptionList, backupCmdDefConfigValue, - backupCmdDefConfigInclPathValue, oldConfigDefault)), + TEST_RESULT_STR_Z( + cfgFileLoad(parseOptionList, backupCmdDefConfigValue, backupCmdDefConfigInclPathValue, oldConfigDefault), "[global]\n" "compress-level=3\n" "spool-path=/path/to/spool\n" @@ -486,8 +484,8 @@ testRun(void) parseOptionList[cfgOptConfigIncludePath].source = cfgSourceParam; parseOptionList[cfgOptConfigIncludePath].valueList = value; - TEST_RESULT_STR(strPtr(cfgFileLoad(parseOptionList, configFile, - backupCmdDefConfigInclPathValue, oldConfigDefault)), + TEST_RESULT_STR_Z( + cfgFileLoad(parseOptionList, configFile, backupCmdDefConfigInclPathValue, oldConfigDefault), "[global]\n" "compress-level=3\n" "spool-path=/path/to/spool\n", @@ -507,10 +505,9 @@ testRun(void) parseOptionList[cfgOptConfigIncludePath].source = cfgSourceParam; parseOptionList[cfgOptConfigIncludePath].valueList = value; - TEST_RESULT_STR(strPtr(cfgFileLoad(parseOptionList, backupCmdDefConfigValue, - backupCmdDefConfigInclPathValue, backupCmdDefConfigValue)), - NULL, - "config default does not exist, config-include-path passed but only empty conf file - nothing read"); + TEST_RESULT_STR_Z( + cfgFileLoad(parseOptionList, backupCmdDefConfigValue, backupCmdDefConfigInclPathValue, backupCmdDefConfigValue), + NULL, "config default does not exist, config-include-path passed but only empty conf file - nothing read"); } // ***************************************************************************************************************************** @@ -532,68 +529,68 @@ testRun(void) strCat(value, "10"); convertToByte(&value, &valueDbl); TEST_RESULT_DOUBLE(valueDbl, 10, "valueDbl no character identifier - straight to bytes"); - TEST_RESULT_STR(strPtr(value), "10", "value no character identifier - straight to bytes"); + TEST_RESULT_STR_Z(value, "10", "value no character identifier - straight to bytes"); strCat(value, "B"); convertToByte(&value, &valueDbl); TEST_RESULT_DOUBLE(valueDbl, 10, "valueDbl B to bytes"); - TEST_RESULT_STR(strPtr(value), "10", "value B to bytes"); + TEST_RESULT_STR_Z(value, "10", "value B to bytes"); strCat(value, "Kb"); convertToByte(&value, &valueDbl); TEST_RESULT_DOUBLE(valueDbl, 10240, "valueDbl KB to bytes"); - TEST_RESULT_STR(strPtr(value), "10240", "value KB to bytes"); + TEST_RESULT_STR_Z(value, "10240", "value KB to bytes"); strTrunc(value, strChr(value, '2')); strCat(value, "k"); convertToByte(&value, &valueDbl); TEST_RESULT_DOUBLE(valueDbl, 10240, "valueDbl k to bytes"); - TEST_RESULT_STR(strPtr(value), "10240", "value k to bytes"); + TEST_RESULT_STR_Z(value, "10240", "value k to bytes"); strCat(value, "pB"); convertToByte(&value, &valueDbl); TEST_RESULT_DOUBLE(valueDbl, 11529215046068469760U, "valueDbl Pb to bytes"); - TEST_RESULT_STR(strPtr(value), "11529215046068469760", "value Pb to bytes"); + TEST_RESULT_STR_Z(value, "11529215046068469760", "value Pb to bytes"); strTrunc(value, strChr(value, '5')); strCat(value, "GB"); convertToByte(&value, &valueDbl); TEST_RESULT_DOUBLE(valueDbl, 11811160064U, "valueDbl GB to bytes"); - TEST_RESULT_STR(strPtr(value), "11811160064", "value GB to bytes"); + TEST_RESULT_STR_Z(value, "11811160064", "value GB to bytes"); strTrunc(value, strChr(value, '8')); strCat(value, "g"); convertToByte(&value, &valueDbl); TEST_RESULT_DOUBLE(valueDbl, 11811160064U, "valueDbl g to bytes"); - TEST_RESULT_STR(strPtr(value), "11811160064", "value g to bytes"); + TEST_RESULT_STR_Z(value, "11811160064", "value g to bytes"); strTrunc(value, strChr(value, '8')); strCat(value, "T"); convertToByte(&value, &valueDbl); TEST_RESULT_DOUBLE(valueDbl, 12094627905536U, "valueDbl T to bytes"); - TEST_RESULT_STR(strPtr(value), "12094627905536", "value T to bytes"); + TEST_RESULT_STR_Z(value, "12094627905536", "value T to bytes"); strTrunc(value, strChr(value, '0')); strCat(value, "tb"); convertToByte(&value, &valueDbl); TEST_RESULT_DOUBLE(valueDbl, 13194139533312U, "valueDbl tb to bytes"); - TEST_RESULT_STR(strPtr(value), "13194139533312", "value tb to bytes"); + TEST_RESULT_STR_Z(value, "13194139533312", "value tb to bytes"); strTrunc(value, strChr(value, '3')); strCat(value, "0m"); convertToByte(&value, &valueDbl); TEST_RESULT_DOUBLE(valueDbl, 10485760, "valueDbl m to bytes"); - TEST_RESULT_STR(strPtr(value), "10485760", "value m to bytes"); + TEST_RESULT_STR_Z(value, "10485760", "value m to bytes"); strCat(value, "mb"); convertToByte(&value, &valueDbl); TEST_RESULT_DOUBLE(valueDbl, 10995116277760U, "valueDbl mb to bytes"); - TEST_RESULT_STR(strPtr(value), "10995116277760", "value mb to bytes"); + TEST_RESULT_STR_Z(value, "10995116277760", "value mb to bytes"); strTrunc(value, strChr(value, '0')); strCat(value, "99999999999999999999p"); convertToByte(&value, &valueDbl); - TEST_RESULT_STR(strPtr(value), "225179981368524800000000000000000000", "value really large to bytes"); + TEST_RESULT_STR_Z(value, "225179981368524800000000000000000000", "value really large to bytes"); } // ***************************************************************************************************************************** @@ -1138,8 +1135,8 @@ testRun(void) strLstAdd(argList, strNew("000000010000000200000003")); strLstAdd(argList, strNew("/path/to/wal/RECOVERYWAL")); TEST_RESULT_VOID(configParse(strLstSize(argList), strLstPtr(argList), false), "command arguments"); - TEST_RESULT_STR( - strPtr(strLstJoin(cfgCommandParam(), "|")), "000000010000000200000003|/path/to/wal/RECOVERYWAL", + TEST_RESULT_STR_Z( + strLstJoin(cfgCommandParam(), "|"), "000000010000000200000003|/path/to/wal/RECOVERYWAL", " check command arguments"); // ------------------------------------------------------------------------------------------------------------------------- @@ -1159,17 +1156,17 @@ testRun(void) TEST_RESULT_VOID(configParse(strLstSize(argList), strLstPtr(argList), false), TEST_COMMAND_BACKUP " command"); TEST_RESULT_INT(cfgCommand(), cfgCmdBackup, " command is " TEST_COMMAND_BACKUP); - TEST_RESULT_STR(strPtr(cfgExe()), TEST_BACKREST_EXE, " exe is set"); + TEST_RESULT_STR_Z(cfgExe(), TEST_BACKREST_EXE, " exe is set"); TEST_RESULT_BOOL(cfgOptionTest(cfgOptConfig), false, " config is not set"); TEST_RESULT_INT(cfgOptionSource(cfgOptConfig), cfgSourceParam, " config is source param"); TEST_RESULT_BOOL(cfgOptionNegate(cfgOptConfig), true, " config is negated"); TEST_RESULT_INT(cfgOptionSource(cfgOptStanza), cfgSourceParam, " stanza is source param"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptStanza)), "db", " stanza is set"); + TEST_RESULT_STR_Z(cfgOptionStr(cfgOptStanza), "db", " stanza is set"); TEST_RESULT_INT(cfgOptionSource(cfgOptStanza), cfgSourceParam, " stanza is source param"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptPgPath)), "/path/to/db", " pg1-path is set"); + TEST_RESULT_STR_Z(cfgOptionStr(cfgOptPgPath), "/path/to/db", " pg1-path is set"); TEST_RESULT_INT(cfgOptionSource(cfgOptPgPath), cfgSourceParam, " pg1-path is source param"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptRepoS3KeySecret)), "xxx", " repo1-s3-secret is set"); + 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"); TEST_RESULT_INT(cfgOptionSource(cfgOptOnline), cfgSourceParam, " online is source default"); @@ -1245,11 +1242,11 @@ testRun(void) "P00 WARN: configuration file contains stanza-only option 'pg1-path' in global section 'global:backup'"))); TEST_RESULT_BOOL(cfgOptionTest(cfgOptPgHost), false, " pg1-host is not set (command line reset override)"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptPgPath)), "/path/to/db", " pg1-path is set"); + TEST_RESULT_STR_Z(cfgOptionStr(cfgOptPgPath), "/path/to/db", " pg1-path is set"); TEST_RESULT_INT(cfgOptionSource(cfgOptPgPath), cfgSourceConfig, " pg1-path is source config"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptLockPath)), "/", " lock-path is set"); + TEST_RESULT_STR_Z(cfgOptionStr(cfgOptLockPath), "/", " lock-path is set"); TEST_RESULT_INT(cfgOptionSource(cfgOptLockPath), cfgSourceConfig, " lock-path is source config"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptPgSocketPath)), "/path/to/socket", " pg1-socket-path is set"); + TEST_RESULT_STR_Z(cfgOptionStr(cfgOptPgSocketPath), "/path/to/socket", " pg1-socket-path is set"); TEST_RESULT_INT(cfgOptionSource(cfgOptPgSocketPath), cfgSourceConfig, " pg1-socket-path is config param"); TEST_RESULT_BOOL(cfgOptionBool(cfgOptOnline), false, " online not is set"); TEST_RESULT_INT(cfgOptionSource(cfgOptOnline), cfgSourceParam, " online is source param"); @@ -1336,8 +1333,8 @@ testRun(void) const VariantList *includeList = NULL; TEST_ASSIGN(includeList, cfgOptionLst(cfgOptDbInclude), "get db include options"); - TEST_RESULT_STR(strPtr(varStr(varLstGet(includeList, 0))), "abc", "check db include option"); - TEST_RESULT_STR(strPtr(varStr(varLstGet(includeList, 1))), "def", "check db include option"); + TEST_RESULT_STR_Z(varStr(varLstGet(includeList, 0)), "abc", "check db include option"); + TEST_RESULT_STR_Z(varStr(varLstGet(includeList, 1)), "def", "check db include option"); // ------------------------------------------------------------------------------------------------------------------------- argList = strLstNew(); @@ -1351,8 +1348,8 @@ testRun(void) const KeyValue *recoveryKv = NULL; TEST_ASSIGN(recoveryKv, cfgOptionKv(cfgOptRecoveryOption), "get recovery options"); - TEST_RESULT_STR(strPtr(varStr(kvGet(recoveryKv, varNewStr(strNew("a"))))), "b", "check recovery option"); - TEST_RESULT_STR(strPtr(varStr(kvGet(recoveryKv, varNewStr(strNew("c"))))), "de=fg hi", "check recovery option"); + TEST_RESULT_STR_Z(varStr(kvGet(recoveryKv, varNewStr(strNew("a")))), "b", "check recovery option"); + TEST_RESULT_STR_Z(varStr(kvGet(recoveryKv, varNewStr(strNew("c")))), "de=fg hi", "check recovery option"); // ------------------------------------------------------------------------------------------------------------------------- argList = strLstNew(); @@ -1374,8 +1371,8 @@ testRun(void) TEST_RESULT_VOID(configParse(strLstSize(argList), strLstPtr(argList), false), TEST_COMMAND_RESTORE " command"); TEST_ASSIGN(recoveryKv, cfgOptionKv(cfgOptRecoveryOption), "get recovery options"); - TEST_RESULT_STR(strPtr(varStr(kvGet(recoveryKv, varNewStr(strNew("f"))))), "g", "check recovery option"); - TEST_RESULT_STR(strPtr(varStr(kvGet(recoveryKv, varNewStr(strNew("hijk"))))), "l", "check recovery option"); + TEST_RESULT_STR_Z(varStr(kvGet(recoveryKv, varNewStr(strNew("f")))), "g", "check recovery option"); + TEST_RESULT_STR_Z(varStr(kvGet(recoveryKv, varNewStr(strNew("hijk")))), "l", "check recovery option"); // ------------------------------------------------------------------------------------------------------------------------- argList = strLstNew(); @@ -1390,9 +1387,9 @@ testRun(void) TEST_RESULT_VOID(configParse(strLstSize(argList), strLstPtr(argList), false), TEST_COMMAND_RESTORE " command"); TEST_ASSIGN(recoveryKv, cfgOptionKv(cfgOptRecoveryOption), "get recovery options"); - TEST_RESULT_STR(strPtr(varStr(kvGet(recoveryKv, varNewStr(strNew("f"))))), "g", "check recovery option"); - TEST_RESULT_STR(strPtr(varStr(kvGet(recoveryKv, varNewStr(strNew("hijk"))))), "l", "check recovery option"); - TEST_RESULT_STR(strPtr(varStr(varLstGet(cfgOptionLst(cfgOptDbInclude), 0))), "77", "check db include option"); + TEST_RESULT_STR_Z(varStr(kvGet(recoveryKv, varNewStr(strNew("f")))), "g", "check recovery option"); + TEST_RESULT_STR_Z(varStr(kvGet(recoveryKv, varNewStr(strNew("hijk")))), "l", "check recovery option"); + TEST_RESULT_STR_Z(varStr(varLstGet(cfgOptionLst(cfgOptDbInclude), 0)), "77", "check db include option"); TEST_RESULT_UINT(varLstSize(cfgOptionLst(cfgOptDbInclude)), 1, "check db include option size"); unsetenv("PGBACKREST_STANZA"); @@ -1417,7 +1414,7 @@ testRun(void) "repo1-path=/not/the/path\n")); TEST_RESULT_VOID(configParse(strLstSize(argList), strLstPtr(argList), false), "info command"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptRepoPath)), "/path/to/repo", "check repo1-path option"); + TEST_RESULT_STR_Z(cfgOptionStr(cfgOptRepoPath), "/path/to/repo", "check repo1-path option"); } // ***************************************************************************************************************************** diff --git a/test/src/module/config/protocolTest.c b/test/src/module/config/protocolTest.c index 65dba3c57..b600d9c84 100644 --- a/test/src/module/config/protocolTest.c +++ b/test/src/module/config/protocolTest.c @@ -54,8 +54,8 @@ testRun(void) varLstAdd(list, varNewStr(strNew("repo1-host"))); varLstAdd(list, varNewStr(strNew("repo1-host-user"))); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstNewVarLst(configProtocolOption(client, list)), "|")), "repo-host|repo-host-user", + TEST_RESULT_STR_Z( + strLstJoin(strLstNewVarLst(configProtocolOption(client, list)), "|"), "repo-host|repo-host-user", "get options"); protocolClientFree(client); diff --git a/test/src/module/db/dbTest.c b/test/src/module/db/dbTest.c index 41491f891..b006b8278 100644 --- a/test/src/module/db/dbTest.c +++ b/test/src/module/db/dbTest.c @@ -125,7 +125,7 @@ testRun(void) // Open the database, but don't free it so the server is forced to do it on shutdown TEST_ASSIGN(db, dbNew(NULL, client, strNew("test")), "create db"); TEST_RESULT_VOID(dbOpen(db), "open db"); - TEST_RESULT_STR(strPtr(dbWalSwitch(db)), "000000030000000200000003", " wal switch"); + TEST_RESULT_STR_Z(dbWalSwitch(db), "000000030000000200000003", " wal switch"); TEST_RESULT_VOID(memContextCallbackClear(db->memContext), "clear context so close is not called"); TEST_RESULT_VOID(protocolClientFree(client), "free client"); @@ -512,7 +512,7 @@ testRun(void) TEST_RESULT_INT(result.standbyId, 0, " check standby id"); TEST_RESULT_BOOL(result.standby == NULL, true, " check standby"); TEST_RESULT_INT(dbPgVersion(result.primary), PG_VERSION_84, " version set"); - TEST_RESULT_STR(strPtr(dbPgDataPath(result.primary)), "/pgdata", " path set"); + TEST_RESULT_STR_Z(dbPgDataPath(result.primary), "/pgdata", " path set"); TEST_RESULT_VOID(dbFree(result.primary), "free primary"); @@ -622,9 +622,9 @@ testRun(void) TEST_RESULT_INT(result.primaryId, 8, " check primary id"); TEST_RESULT_BOOL(result.primary != NULL, true, " check primary"); - TEST_RESULT_STR(strPtr(dbArchiveMode(result.primary)), "on", " dbArchiveMode"); - TEST_RESULT_STR(strPtr(dbArchiveCommand(result.primary)), PROJECT_BIN, " dbArchiveCommand"); - TEST_RESULT_STR(strPtr(dbWalSwitch(result.primary)), "000000010000000200000003", " wal switch"); + TEST_RESULT_STR_Z(dbArchiveMode(result.primary), "on", " dbArchiveMode"); + TEST_RESULT_STR_Z(dbArchiveCommand(result.primary), PROJECT_BIN, " dbArchiveCommand"); + TEST_RESULT_STR_Z(dbWalSwitch(result.primary), "000000010000000200000003", " wal switch"); TEST_RESULT_INT(result.standbyId, 1, " check standby id"); TEST_RESULT_BOOL(result.standby != NULL, true, " check standby"); diff --git a/test/src/module/info/infoArchiveTest.c b/test/src/module/info/infoArchiveTest.c index dc88c0430..9cb1ba331 100644 --- a/test/src/module/info/infoArchiveTest.c +++ b/test/src/module/info/infoArchiveTest.c @@ -37,7 +37,7 @@ testRun(void) InfoArchive *info = NULL; TEST_ASSIGN(info, infoArchiveNewLoad(ioBufferReadNew(contentLoad)), " load new archive info"); - TEST_RESULT_STR(strPtr(infoArchiveId(info)), "9.4-1", " archiveId set"); + TEST_RESULT_STR_Z(infoArchiveId(info), "9.4-1", " archiveId set"); TEST_RESULT_PTR(infoArchivePg(info), info->infoPg, " infoPg set"); TEST_RESULT_PTR(infoArchiveCipherPass(info), NULL, " no cipher sub"); @@ -45,13 +45,13 @@ testRun(void) Buffer *contentSave = bufNew(0); TEST_RESULT_VOID(infoArchiveSave(info, ioBufferWriteNew(contentSave)), "info archive save"); - TEST_RESULT_STR(strPtr(strNewBuf(contentSave)), strPtr(strNewBuf(contentLoad)), " check save"); + TEST_RESULT_STR(strNewBuf(contentSave), strNewBuf(contentLoad), " check save"); // Create the same content by creating a new object // ------------------------------------------------------------------------------------------------------------------------- TEST_ASSIGN( info, infoArchiveNew(PG_VERSION_94, 6569239123849665679, NULL), "infoArchiveNew() - no sub cipher"); - TEST_RESULT_STR(strPtr(infoArchiveId(info)), "9.4-1", " archiveId set"); + TEST_RESULT_STR_Z(infoArchiveId(info), "9.4-1", " archiveId set"); TEST_RESULT_PTR(infoArchivePg(info), info->infoPg, " infoPg set"); TEST_RESULT_PTR(infoArchiveCipherPass(info), NULL, " no cipher sub"); TEST_RESULT_INT(infoPgDataTotal(info->infoPg), 1, " history set"); @@ -59,7 +59,7 @@ testRun(void) Buffer *contentCompare = bufNew(0); TEST_RESULT_VOID(infoArchiveSave(info, ioBufferWriteNew(contentCompare)), "info archive save"); - TEST_RESULT_STR(strPtr(strNewBuf(contentCompare)), strPtr(strNewBuf(contentSave)), " check save"); + TEST_RESULT_STR(strNewBuf(contentCompare), strNewBuf(contentSave), " check save"); // Remove both files and recreate from scratch with cipher // ------------------------------------------------------------------------------------------------------------------------- @@ -74,9 +74,9 @@ testRun(void) TEST_RESULT_VOID(infoArchiveSave(info, ioBufferWriteNew(contentSave)), " save new with cipher"); TEST_ASSIGN(info, infoArchiveNewLoad(ioBufferReadNew(contentSave)), " load encrypted archive info"); - TEST_RESULT_STR(strPtr(infoArchiveId(info)), "10-1", " archiveId set"); + TEST_RESULT_STR_Z(infoArchiveId(info), "10-1", " archiveId set"); TEST_RESULT_PTR(infoArchivePg(info), info->infoPg, " infoPg set"); - TEST_RESULT_STR(strPtr(infoArchiveCipherPass(info)), + TEST_RESULT_STR_Z(infoArchiveCipherPass(info), "zWa/6Xtp-IVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO", " cipher sub set"); TEST_RESULT_INT(infoPgDataTotal(info->infoPg), 1, " history set"); @@ -107,9 +107,9 @@ testRun(void) ); TEST_ASSIGN(info, infoArchiveNewLoad(ioBufferReadNew(contentLoad)), "new archive info"); - TEST_RESULT_STR(strPtr(infoArchiveIdHistoryMatch(info, 2, 90500, 6626363367545678089)), "9.5-2", " full match found"); + TEST_RESULT_STR_Z(infoArchiveIdHistoryMatch(info, 2, 90500, 6626363367545678089), "9.5-2", " full match found"); - TEST_RESULT_STR(strPtr(infoArchiveIdHistoryMatch(info, 2, 90400, 6625592122879095702)), "9.4-1", " partial match found"); + TEST_RESULT_STR_Z(infoArchiveIdHistoryMatch(info, 2, 90400, 6625592122879095702), "9.4-1", " partial match found"); TEST_ERROR(infoArchiveIdHistoryMatch(info, 2, 90400, 6625592122879095799), ArchiveMismatchError, "unable to retrieve the archive id for database version '9.4' and system-id '6625592122879095799'"); diff --git a/test/src/module/info/infoBackupTest.c b/test/src/module/info/infoBackupTest.c index 60927b44a..b210eb86c 100644 --- a/test/src/module/info/infoBackupTest.c +++ b/test/src/module/info/infoBackupTest.c @@ -57,7 +57,7 @@ testRun(void) infoBackup, infoBackupNew(PG_VERSION_94, 6569239123849665679, NULL), "infoBackupNew() - no cipher sub"); TEST_RESULT_VOID(infoBackupSave(infoBackup, ioBufferWriteNew(contentCompare)), " save backup info from new"); - TEST_RESULT_STR(strPtr(strNewBuf(contentCompare)), strPtr(strNewBuf(contentSave)), " check save"); + TEST_RESULT_STR(strNewBuf(contentCompare), strNewBuf(contentSave), " check save"); TEST_ASSIGN(infoBackup, infoBackupNewLoad(ioBufferReadNew(contentCompare)), "load backup info"); TEST_RESULT_PTR(infoBackupPg(infoBackup), infoBackup->infoPg, " infoPg set"); @@ -79,7 +79,7 @@ testRun(void) infoBackup = NULL; TEST_ASSIGN(infoBackup, infoBackupNewLoad(ioBufferReadNew(contentSave)), " load backup info with cipher sub"); TEST_RESULT_PTR(infoBackupPg(infoBackup), infoBackup->infoPg, " infoPg set"); - TEST_RESULT_STR(strPtr(infoBackupCipherPass(infoBackup)), + TEST_RESULT_STR_Z(infoBackupCipherPass(infoBackup), "zWa/6Xtp-IVZC5444yXB+cgFDFl7MxGlgkZSaoPvTGirhPygu4jOKOXf9LO4vjfO", " cipher sub set"); TEST_RESULT_INT(infoPgDataTotal(infoBackup->infoPg), 1, " history set"); @@ -140,12 +140,12 @@ testRun(void) InfoBackupData backupData = infoBackupData(infoBackup, 0); - TEST_RESULT_STR(strPtr(backupData.backupLabel), "20161219-212741F", "full backup label"); - TEST_RESULT_STR(strPtr(backupData.backupType), "full", " backup type full"); + TEST_RESULT_STR_Z(backupData.backupLabel, "20161219-212741F", "full backup label"); + TEST_RESULT_STR_Z(backupData.backupType, "full", " backup type full"); TEST_RESULT_INT(backupData.backrestFormat, 5, " backrest format"); - TEST_RESULT_STR(strPtr(backupData.backrestVersion), "2.04", " backrest version"); - TEST_RESULT_STR(strPtr(backupData.backupArchiveStart), "00000007000000000000001C", " archive start"); - TEST_RESULT_STR(strPtr(backupData.backupArchiveStop), "00000007000000000000001C", " archive stop"); + TEST_RESULT_STR_Z(backupData.backrestVersion, "2.04", " backrest version"); + TEST_RESULT_STR_Z(backupData.backupArchiveStart, "00000007000000000000001C", " archive start"); + TEST_RESULT_STR_Z(backupData.backupArchiveStop, "00000007000000000000001C", " archive stop"); TEST_RESULT_INT(backupData.backupInfoRepoSize, 3159776, " repo size"); TEST_RESULT_INT(backupData.backupInfoRepoSizeDelta, 3159776, " repo delta"); TEST_RESULT_INT(backupData.backupInfoSize, 26897030, " backup size"); @@ -157,23 +157,23 @@ testRun(void) TEST_RESULT_INT(backupData.backupTimestampStop, 1482182861, " timestamp stop"); backupData = infoBackupData(infoBackup, 1); - TEST_RESULT_STR(strPtr(backupData.backupLabel), "20161219-212741F_20161219-212803D", "diff backup label"); - TEST_RESULT_STR(strPtr(backupData.backupType), "diff", " backup type diff"); + TEST_RESULT_STR_Z(backupData.backupLabel, "20161219-212741F_20161219-212803D", "diff backup label"); + TEST_RESULT_STR_Z(backupData.backupType, "diff", " backup type diff"); TEST_RESULT_INT(backupData.backupInfoRepoSize, 3159811, " repo size"); TEST_RESULT_INT(backupData.backupInfoRepoSizeDelta, 15765, " repo delta"); TEST_RESULT_INT(backupData.backupInfoSize, 26897030, " backup size"); TEST_RESULT_INT(backupData.backupInfoSizeDelta, 163866, " backup delta"); - TEST_RESULT_STR(strPtr(backupData.backupPrior), "20161219-212741F", " backup prior exists"); + TEST_RESULT_STR_Z(backupData.backupPrior, "20161219-212741F", " backup prior exists"); TEST_RESULT_BOOL( (strLstSize(backupData.backupReference) == 1 && strLstExistsZ(backupData.backupReference, "20161219-212741F")), true, " backup reference exists"); backupData = infoBackupData(infoBackup, 2); - TEST_RESULT_STR(strPtr(backupData.backupLabel), "20161219-212741F_20161219-212918I", "incr backup label"); + TEST_RESULT_STR_Z(backupData.backupLabel, "20161219-212741F_20161219-212918I", "incr backup label"); TEST_RESULT_PTR(backupData.backupArchiveStart, NULL, " archive start NULL"); TEST_RESULT_PTR(backupData.backupArchiveStop, NULL, " archive stop NULL"); - TEST_RESULT_STR(strPtr(backupData.backupType), "incr", " backup type incr"); - TEST_RESULT_STR(strPtr(backupData.backupPrior), "20161219-212741F", " backup prior exists"); + TEST_RESULT_STR_Z(backupData.backupType, "incr", " backup type incr"); + TEST_RESULT_STR_Z(backupData.backupPrior, "20161219-212741F", " backup prior exists"); TEST_RESULT_BOOL( (strLstSize(backupData.backupReference) == 2 && strLstExistsZ(backupData.backupReference, "20161219-212741F") && strLstExistsZ(backupData.backupReference, "20161219-212741F_20161219-212803D")), true, " backup reference exists"); @@ -189,32 +189,33 @@ testRun(void) contentSave = bufNew(0); TEST_RESULT_VOID(infoBackupSave(infoBackup, ioBufferWriteNew(contentSave)), "info backup save"); - TEST_RESULT_STR(strPtr(strNewBuf(contentSave)), strPtr(strNewBuf(contentLoad)), " check save"); + TEST_RESULT_STR(strNewBuf(contentSave), strNewBuf(contentLoad), " check save"); // infoBackupDataLabelList and infoBackupDataDelete // ------------------------------------------------------------------------------------------------------------------------- - TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(infoBackupDataLabelList(infoBackup, NULL), sortOrderAsc), ", ")), + TEST_RESULT_STR_Z( + strLstJoin(strLstSort(infoBackupDataLabelList(infoBackup, NULL), sortOrderAsc), ", "), "20161219-212741F, 20161219-212741F_20161219-212803D, 20161219-212741F_20161219-212918I", "infoBackupDataLabelList without expression"); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(infoBackupDataLabelList( - infoBackup, backupRegExpP(.full=true, .differential=true, .incremental=true)), sortOrderAsc), ", ")), + TEST_RESULT_STR_Z( + strLstJoin( + strLstSort( + infoBackupDataLabelList( + infoBackup, backupRegExpP(.full = true, .differential = true, .incremental = true)), sortOrderAsc), ", "), "20161219-212741F, 20161219-212741F_20161219-212803D, 20161219-212741F_20161219-212918I", "infoBackupDataLabelList with expression"); - TEST_RESULT_STR( - strPtr(strLstJoin(infoBackupDataLabelList(infoBackup, backupRegExpP(.full=true)), ", ")), - "20161219-212741F", " full=true"); - TEST_RESULT_STR( - strPtr(strLstJoin(infoBackupDataLabelList(infoBackup, backupRegExpP(.differential=true)), ", ")), + TEST_RESULT_STR_Z( + strLstJoin(infoBackupDataLabelList(infoBackup, backupRegExpP(.full=true)), ", "), "20161219-212741F", " full=true"); + TEST_RESULT_STR_Z( + strLstJoin(infoBackupDataLabelList(infoBackup, backupRegExpP(.differential=true)), ", "), "20161219-212741F_20161219-212803D", "differential=true"); - TEST_RESULT_STR( - strPtr(strLstJoin(infoBackupDataLabelList(infoBackup, backupRegExpP(.incremental=true)), ", ")), + TEST_RESULT_STR_Z( + strLstJoin(infoBackupDataLabelList(infoBackup, backupRegExpP(.incremental=true)), ", "), "20161219-212741F_20161219-212918I", "incremental=true"); TEST_RESULT_VOID(infoBackupDataDelete(infoBackup, strNew("20161219-212741F_20161219-212918I")), "delete a backup"); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(infoBackupDataLabelList(infoBackup, NULL), sortOrderAsc), ", ")), + TEST_RESULT_STR_Z( + strLstJoin(strLstSort(infoBackupDataLabelList(infoBackup, NULL), sortOrderAsc), ", "), "20161219-212741F, 20161219-212741F_20161219-212803D", " backup deleted"); TEST_RESULT_VOID(infoBackupDataDelete(infoBackup, strNew("20161219-212741F_20161219-212803D")), "delete all backups"); @@ -223,8 +224,8 @@ testRun(void) // infoBackupDataToLog // ------------------------------------------------------------------------------------------------------------------------- - TEST_RESULT_STR( - strPtr(infoBackupDataToLog(&backupData)), "{label: 20161219-212741F_20161219-212918I, pgId: 1}", "check log format"); + TEST_RESULT_STR_Z( + infoBackupDataToLog(&backupData), "{label: 20161219-212741F_20161219-212918I, pgId: 1}", "check log format"); // ------------------------------------------------------------------------------------------------------------------------- TEST_TITLE("infoBackupDataAdd - full backup"); @@ -299,13 +300,13 @@ testRun(void) TEST_RESULT_VOID(infoBackupDataAdd(infoBackup, manifest), "add a backup"); TEST_RESULT_UINT(infoBackupDataTotal(infoBackup), 1, "backup added to current"); TEST_ASSIGN(backupData, infoBackupData(infoBackup, 0), "get added backup"); - TEST_RESULT_STR(strPtr(backupData.backupLabel), "20190818-084502F", "backup label set"); + TEST_RESULT_STR_Z(backupData.backupLabel, "20190818-084502F", "backup label set"); TEST_RESULT_UINT(backupData.backrestFormat, REPOSITORY_FORMAT, "backrest format"); - TEST_RESULT_STR(strPtr(backupData.backrestVersion), PROJECT_VERSION, "backuprest version"); + TEST_RESULT_STR_Z(backupData.backrestVersion, PROJECT_VERSION, "backuprest version"); TEST_RESULT_INT(backupData.backupPgId, 1, "pg id"); TEST_RESULT_PTR(backupData.backupArchiveStart, NULL, "archive start NULL"); TEST_RESULT_PTR(backupData.backupArchiveStop, NULL, "archive stop NULL"); - TEST_RESULT_STR(strPtr(backupData.backupType), "full", "backup type set"); + TEST_RESULT_STR_Z(backupData.backupType, "full", "backup type set"); TEST_RESULT_PTR(strPtr(backupData.backupPrior), NULL, "no backup prior"); TEST_RESULT_PTR(backupData.backupReference, NULL, "no backup reference"); TEST_RESULT_INT(backupData.backupTimestampStart, 1565282140, "timestamp start"); @@ -407,15 +408,15 @@ testRun(void) TEST_RESULT_VOID(infoBackupDataAdd(infoBackup, manifest), "add a backup"); TEST_RESULT_UINT(infoBackupDataTotal(infoBackup), 2, "backup added to current"); TEST_ASSIGN(backupData, infoBackupData(infoBackup, 1), "get added backup"); - TEST_RESULT_STR(strPtr(backupData.backupLabel), "20190818-084502F_20190820-084502I", "backup label set"); + TEST_RESULT_STR_Z(backupData.backupLabel, "20190818-084502F_20190820-084502I", "backup label set"); TEST_RESULT_UINT(backupData.backrestFormat, REPOSITORY_FORMAT, "backrest format"); - TEST_RESULT_STR(strPtr(backupData.backrestVersion), PROJECT_VERSION, "backuprest version"); - TEST_RESULT_STR(strPtr(backupData.backupArchiveStart), "000000030000028500000089", "archive start set"); - TEST_RESULT_STR(strPtr(backupData.backupArchiveStop), "000000030000028500000090", "archive stop set"); - TEST_RESULT_STR(strPtr(backupData.backupType), "diff", "backup type set"); - TEST_RESULT_STR(strPtr(backupData.backupPrior), "20190818-084502F", "backup prior set"); - TEST_RESULT_STR( - strPtr(strLstJoin(backupData.backupReference, ", ")), + TEST_RESULT_STR_Z(backupData.backrestVersion, PROJECT_VERSION, "backuprest version"); + TEST_RESULT_STR_Z(backupData.backupArchiveStart, "000000030000028500000089", "archive start set"); + TEST_RESULT_STR_Z(backupData.backupArchiveStop, "000000030000028500000090", "archive stop set"); + TEST_RESULT_STR_Z(backupData.backupType, "diff", "backup type set"); + TEST_RESULT_STR_Z(backupData.backupPrior, "20190818-084502F", "backup prior set"); + TEST_RESULT_STR_Z( + strLstJoin(backupData.backupReference, ", "), "20190818-084502F, 20190818-084502F_20190819-084506D, 20190818-084502F_20190819-084506I", "backup reference set and ordered"); TEST_RESULT_BOOL(backupData.optionArchiveCheck, true, "option archive check"); @@ -670,9 +671,14 @@ testRun(void) storagePathCreateP(storageRepoWrite(), strNew(STORAGE_REPO_BACKUP "/20190818-084502F")), "create backup on disk that is in current but no manifest"); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP(storageRepo(), STORAGE_REPO_BACKUP_STR, - .expression = backupRegExpP(.full = true, .differential = true, .incremental = true)), sortOrderAsc), ", ")), + TEST_RESULT_STR_Z( + strLstJoin( + strLstSort( + storageListP( + storageRepo(), STORAGE_REPO_BACKUP_STR, + .expression = backupRegExpP(.full = true, .differential = true, .incremental = true)), + sortOrderAsc), + ", "), "20190818-084444F, 20190818-084502F, 20190818-084555F, 20190818-084666F, 20190818-084777F, 20190923-164324F", "confirm backups on disk"); @@ -693,7 +699,8 @@ testRun(void) "reconstruct"); TEST_RESULT_INT(infoBackupDataTotal(infoBackup), 1, "backup list contains 1 backup"); TEST_ASSIGN(backupData, infoBackupData(infoBackup, 0), "get the backup"); - TEST_RESULT_STR(strPtr(backupData.backupLabel), "20190923-164324F", + TEST_RESULT_STR_Z( + backupData.backupLabel, "20190923-164324F", "backups not on disk removed, valid backup on disk added, manifest copy-only ignored"); harnessLogResult( "P00 WARN: invalid backup '20190818-084555F' cannot be added to current backups\n" @@ -716,8 +723,8 @@ testRun(void) TEST_ASSIGN( infoBackup, infoBackupLoadFileReconstruct(storageRepo(), INFO_BACKUP_PATH_FILE_STR, cipherTypeNone, NULL), "reconstruct"); - TEST_RESULT_STR( - strPtr(strLstJoin(infoBackupDataLabelList(infoBackup, NULL), ", ")), "20190818-084444F, 20190923-164324F", + TEST_RESULT_STR_Z( + strLstJoin(infoBackupDataLabelList(infoBackup, NULL), ", "), "20190818-084444F, 20190923-164324F", "previously ignored pgId=1 manifest copy-only now added before existing"); harnessLogResult( "P00 WARN: backup '20190818-084444F' found in repository added to backup.info\n" diff --git a/test/src/module/info/infoPgTest.c b/test/src/module/info/infoPgTest.c index fd2566c35..c03e7bb1c 100644 --- a/test/src/module/info/infoPgTest.c +++ b/test/src/module/info/infoPgTest.c @@ -37,12 +37,12 @@ testRun(void) TEST_ASSIGN(infoPg, infoPgNew(infoPgBackup, NULL), "infoPgNew(cipherTypeNone, NULL)"); TEST_RESULT_INT(infoPgDataTotal(infoPg), 0, " 0 history"); - TEST_RESULT_STR(strPtr(infoCipherPass(infoPgInfo(infoPg))), NULL, " cipherPass NULL"); + TEST_RESULT_STR(infoCipherPass(infoPgInfo(infoPg)), NULL, " cipherPass NULL"); TEST_RESULT_INT(infoPgDataCurrentId(infoPg), 0, " 0 historyCurrent"); TEST_ASSIGN(infoPg, infoPgNew(infoPgArchive, strNew("123xyz")), "infoPgNew(cipherTypeAes256Cbc, 123xyz)"); TEST_RESULT_INT(infoPgDataTotal(infoPg), 0, " 0 history"); - TEST_RESULT_STR(strPtr(infoCipherPass(infoPgInfo(infoPg))), "123xyz", " cipherPass set"); + TEST_RESULT_STR_Z(infoCipherPass(infoPgInfo(infoPg)), "123xyz", " cipherPass set"); TEST_RESULT_INT(infoPgDataCurrentId(infoPg), 0, " 0 historyCurrent"); //-------------------------------------------------------------------------------------------------------------------------- @@ -64,7 +64,7 @@ testRun(void) TEST_RESULT_INT(pgData.id, 2, " current id updated"); TEST_RESULT_INT(pgData.systemId, 6569239123849665999, " system-id updated"); TEST_RESULT_INT(pgData.version, PG_VERSION_95, " version updated"); - TEST_RESULT_STR(strPtr(infoCipherPass(infoPgInfo(infoPg))), NULL, " cipherPass not set"); + TEST_RESULT_STR(infoCipherPass(infoPgInfo(infoPg)), NULL, " cipherPass not set"); //-------------------------------------------------------------------------------------------------------------------------- TEST_ASSIGN( @@ -76,7 +76,7 @@ testRun(void) TEST_RESULT_INT(pgData.id, 1, " id set"); TEST_RESULT_INT(pgData.systemId, 6569239123849665679, " system-id set"); TEST_RESULT_INT(pgData.version, PG_VERSION_94, " version set"); - TEST_RESULT_STR(strPtr(infoCipherPass(infoPgInfo(infoPg))), "123xyz", " cipherPass set"); + TEST_RESULT_STR_Z(infoCipherPass(infoPgInfo(infoPg)), "123xyz", " cipherPass set"); } // ***************************************************************************************************************************** @@ -108,8 +108,8 @@ testRun(void) TEST_ASSIGN( infoPg, infoPgNewLoad(ioBufferReadNew(contentLoad), infoPgArchive, harnessInfoLoadNewCallback, callbackContent), "load file"); - TEST_RESULT_STR( - strPtr(callbackContent), + TEST_RESULT_STR_Z( + callbackContent, "[backup:current] 20161219-212741F={}\n" "[db:backup] key=value\n" "[later] key=value\n", @@ -121,13 +121,13 @@ testRun(void) TEST_RESULT_INT(pgData.version, PG_VERSION_94, " version set"); TEST_RESULT_INT(pgData.systemId, 6569239123849665679, " system-id set"); TEST_RESULT_INT(infoPgDataTotal(infoPg), 1, " check pg data total"); - TEST_RESULT_STR(strPtr(infoPgArchiveId(infoPg, 0)), "9.4-1", " check pg archive id"); + TEST_RESULT_STR_Z(infoPgArchiveId(infoPg, 0), "9.4-1", " check pg archive id"); TEST_RESULT_PTR(infoPgCipherPass(infoPg), NULL, " no cipher passphrase"); Buffer *contentSave = bufNew(0); TEST_RESULT_VOID(infoPgSave(infoPg, ioBufferWriteNew(contentSave), testInfoBackupSaveCallback, (void *)1), "info save"); - TEST_RESULT_STR(strPtr(strNewBuf(contentSave)), strPtr(strNewBuf(contentLoad)), " check save"); + TEST_RESULT_STR(strNewBuf(contentSave), strNewBuf(contentLoad), " check save"); // Backup info //-------------------------------------------------------------------------------------------------------------------------- @@ -157,7 +157,7 @@ testRun(void) callbackContent = strNew(""); TEST_ASSIGN(infoPg, infoPgNewLoad(ioBufferReadNew(contentLoad), infoPgBackup, NULL, NULL), "load file"); - TEST_RESULT_STR(strPtr(callbackContent), "", " check callback content"); + TEST_RESULT_STR_Z(callbackContent, "", " check callback content"); TEST_RESULT_INT(infoPgDataTotal(infoPg), 2, " check pg data total"); @@ -174,9 +174,7 @@ testRun(void) contentSave = bufNew(0); TEST_RESULT_VOID(infoPgSave(infoPg, ioBufferWriteNew(contentSave), NULL, NULL), "info save"); - TEST_RESULT_STR( - strPtr(strNewBuf(contentSave)), strPtr(strNewBuf(harnessInfoChecksumZ(CONTENT_DB CONTENT_DB_HISTORY))), - " check save"); + TEST_RESULT_STR(strNewBuf(contentSave), strNewBuf(harnessInfoChecksumZ(CONTENT_DB CONTENT_DB_HISTORY)), " check save"); // infoPgAdd //-------------------------------------------------------------------------------------------------------------------------- @@ -196,8 +194,8 @@ testRun(void) pgDataTest.id = (unsigned int)4294967295; pgDataTest.version = (unsigned int)4294967295; pgDataTest.systemId = 18446744073709551615U; - TEST_RESULT_STR( - strPtr(infoPgDataToLog(&pgDataTest)), "{id: 4294967295, version: 4294967295, systemId: 18446744073709551615}", + TEST_RESULT_STR_Z( + infoPgDataToLog(&pgDataTest), "{id: 4294967295, version: 4294967295, systemId: 18446744073709551615}", " check max format"); } } diff --git a/test/src/module/info/infoTest.c b/test/src/module/info/infoTest.c index d8183f24e..f354bec11 100644 --- a/test/src/module/info/infoTest.c +++ b/test/src/module/info/infoTest.c @@ -79,7 +79,7 @@ testRun(void) Info *info = NULL; TEST_ASSIGN(info, infoNew(strNew("123xyz")), "infoNew(cipher)"); - TEST_RESULT_STR(strPtr(infoCipherPass(info)), "123xyz", " cipherPass is set"); + TEST_RESULT_STR_Z(infoCipherPass(info), "123xyz", " cipherPass is set"); TEST_ASSIGN(info, infoNew(NULL), "infoNew(NULL)"); TEST_RESULT_PTR(infoCipherPass(info), NULL, " cipherPass is NULL"); @@ -99,7 +99,7 @@ testRun(void) TEST_ERROR( infoNewLoad(ioBufferReadNew(contentLoad), harnessInfoLoadNewCallback, callbackContent), FormatError, "expected format 5 but found 4"); - TEST_RESULT_STR(strPtr(callbackContent), "", " check callback content"); + TEST_RESULT_STR_Z(callbackContent, "", " check callback content"); // Checksum not found // -------------------------------------------------------------------------------------------------------------------------- @@ -110,7 +110,7 @@ testRun(void) TEST_ERROR( infoNewLoad(ioBufferReadNew(contentLoad), harnessInfoLoadNewCallback, callbackContent), ChecksumError, "invalid checksum, actual 'a3765a8c2c1e5d35274a0b0ce118f4031faff0bd' but no checksum found"); - TEST_RESULT_STR(strPtr(callbackContent), "", " check callback content"); + TEST_RESULT_STR_Z(callbackContent, "", " check callback content"); // Checksum invalid // -------------------------------------------------------------------------------------------------------------------------- @@ -124,7 +124,7 @@ testRun(void) TEST_ERROR( infoNewLoad(ioBufferReadNew(contentLoad), harnessInfoLoadNewCallback, callbackContent), ChecksumError, "invalid checksum, actual 'fe989a75dcf7a0261e57d210707c0db741462763' but expected 'BOGUS'"); - TEST_RESULT_STR(strPtr(callbackContent), "", " check callback content"); + TEST_RESULT_STR_Z(callbackContent, "", " check callback content"); // Crypto expected // -------------------------------------------------------------------------------------------------------------------------- @@ -141,7 +141,7 @@ testRun(void) infoNewLoad(read, harnessInfoLoadNewCallback, callbackContent), CryptoError, "cipher header invalid\n" "HINT: is or was the repo encrypted?"); - TEST_RESULT_STR(strPtr(callbackContent), "", " check callback content"); + TEST_RESULT_STR_Z(callbackContent, "", " check callback content"); // Base file with other content in cipher (this is to test that future additions don't break the code) // -------------------------------------------------------------------------------------------------------------------------- @@ -154,7 +154,7 @@ testRun(void) TEST_ASSIGN( info, infoNewLoad(ioBufferReadNew(contentLoad), harnessInfoLoadNewCallback, callbackContent), "info with other cipher"); - TEST_RESULT_STR(strPtr(callbackContent), "", " check callback content"); + TEST_RESULT_STR_Z(callbackContent, "", " check callback content"); TEST_RESULT_PTR(infoCipherPass(info), NULL, " check cipher pass not set"); // Base file with content @@ -170,13 +170,13 @@ testRun(void) TEST_ASSIGN( info, infoNewLoad(ioBufferReadNew(contentLoad), harnessInfoLoadNewCallback, callbackContent), "info with content"); - TEST_RESULT_STR(strPtr(callbackContent), "[c] key=1\n[d] key=1\n", " check callback content"); + TEST_RESULT_STR_Z(callbackContent, "[c] key=1\n[d] key=1\n", " check callback content"); TEST_RESULT_PTR(infoCipherPass(info), NULL, " check cipher pass not set"); Buffer *contentSave = bufNew(0); TEST_RESULT_VOID(infoSave(info, ioBufferWriteNew(contentSave), testInfoSaveCallback, strNew("1")), "info save"); - TEST_RESULT_STR(strPtr(strNewBuf(contentSave)), strPtr(strNewBuf(contentLoad)), " check save"); + TEST_RESULT_STR(strNewBuf(contentSave), strNewBuf(contentLoad), " check save"); // File with content and cipher // -------------------------------------------------------------------------------------------------------------------------- @@ -195,14 +195,14 @@ testRun(void) TEST_ASSIGN( info, infoNewLoad(ioBufferReadNew(contentLoad), harnessInfoLoadNewCallback, callbackContent), "info with content and cipher"); - TEST_RESULT_STR(strPtr(callbackContent), "[c] key=1\n[d] key=1\n", " check callback content"); - TEST_RESULT_STR(strPtr(infoCipherPass(info)), "somepass", " check cipher pass set"); - TEST_RESULT_STR(strPtr(infoBackrestVersion(info)), PROJECT_VERSION, " check backrest version"); + TEST_RESULT_STR_Z(callbackContent, "[c] key=1\n[d] key=1\n", " check callback content"); + TEST_RESULT_STR_Z(infoCipherPass(info), "somepass", " check cipher pass set"); + TEST_RESULT_STR_Z(infoBackrestVersion(info), PROJECT_VERSION, " check backrest version"); contentSave = bufNew(0); TEST_RESULT_VOID(infoSave(info, ioBufferWriteNew(contentSave), testInfoSaveCallback, strNew("1")), "info save"); - TEST_RESULT_STR(strPtr(strNewBuf(contentSave)), strPtr(strNewBuf(contentLoad)), " check save"); + TEST_RESULT_STR(strNewBuf(contentSave), strNewBuf(contentLoad), " check save"); } // ***************************************************************************************************************************** diff --git a/test/src/module/info/manifestTest.c b/test/src/module/info/manifestTest.c index 1d5f3c70d..84f1abab6 100644 --- a/test/src/module/info/manifestTest.c +++ b/test/src/module/info/manifestTest.c @@ -265,7 +265,7 @@ testRun(void) Buffer *contentSave = bufNew(0); TEST_RESULT_VOID(manifestSave(manifest, ioBufferWriteNew(contentSave)), "save manifest"); - TEST_RESULT_STR_STR( + TEST_RESULT_STR( strNewBuf(contentSave), strNewBuf(harnessInfoChecksumZ(hrnReplaceKey( TEST_MANIFEST_HEADER @@ -387,7 +387,7 @@ testRun(void) contentSave = bufNew(0); TEST_RESULT_VOID(manifestSave(manifest, ioBufferWriteNew(contentSave)), "save manifest"); - TEST_RESULT_STR_STR( + TEST_RESULT_STR( strNewBuf(contentSave), strNewBuf(harnessInfoChecksumZ(hrnReplaceKey( TEST_MANIFEST_HEADER @@ -510,7 +510,7 @@ testRun(void) contentSave = bufNew(0); TEST_RESULT_VOID(manifestSave(manifest, ioBufferWriteNew(contentSave)), "save manifest"); - TEST_RESULT_STR_STR( + TEST_RESULT_STR( strNewBuf(contentSave), strNewBuf(harnessInfoChecksumZ(hrnReplaceKey( TEST_MANIFEST_HEADER @@ -600,7 +600,7 @@ testRun(void) contentSave = bufNew(0); TEST_RESULT_VOID(manifestSave(manifest, ioBufferWriteNew(contentSave)), "save manifest"); - TEST_RESULT_STR_STR( + TEST_RESULT_STR( strNewBuf(contentSave), strNewBuf(harnessInfoChecksumZ(hrnReplaceKey( TEST_MANIFEST_HEADER @@ -682,7 +682,7 @@ testRun(void) contentSave = bufNew(0); TEST_RESULT_VOID(manifestSave(manifest, ioBufferWriteNew(contentSave)), "save manifest"); - TEST_RESULT_STR_STR( + TEST_RESULT_STR( strNewBuf(contentSave), strNewBuf(harnessInfoChecksumZ(hrnReplaceKey( TEST_MANIFEST_HEADER @@ -821,7 +821,7 @@ testRun(void) contentSave = bufNew(0); TEST_RESULT_VOID(manifestSave(manifest, ioBufferWriteNew(contentSave)), "save manifest"); - TEST_RESULT_STR_STR( + TEST_RESULT_STR( strNewBuf(contentSave), strNewBuf(harnessInfoChecksumZ(hrnReplaceKey( TEST_MANIFEST_HEADER @@ -932,7 +932,7 @@ testRun(void) contentSave = bufNew(0); TEST_RESULT_VOID(manifestSave(manifest, ioBufferWriteNew(contentSave)), "save manifest"); - TEST_RESULT_STR_STR( + TEST_RESULT_STR( strNewBuf(contentSave), strNewBuf(harnessInfoChecksumZ(hrnReplaceKey( TEST_MANIFEST_HEADER @@ -1000,7 +1000,7 @@ testRun(void) contentSave = bufNew(0); TEST_RESULT_VOID(manifestSave(manifest, ioBufferWriteNew(contentSave)), "save manifest"); - TEST_RESULT_STR_STR( + TEST_RESULT_STR( strNewBuf(contentSave), strNewBuf(harnessInfoChecksumZ(hrnReplaceKey( TEST_MANIFEST_HEADER @@ -1281,7 +1281,7 @@ testRun(void) Buffer *contentSave = bufNew(0); TEST_RESULT_VOID(manifestSave(manifest, ioBufferWriteNew(contentSave)), "save manifest"); - TEST_RESULT_STR_STR( + TEST_RESULT_STR( strNewBuf(contentSave), strNewBuf(harnessInfoChecksumZ(hrnReplaceKey( TEST_MANIFEST_HEADER_PRE @@ -1331,7 +1331,7 @@ testRun(void) contentSave = bufNew(0); TEST_RESULT_VOID(manifestSave(manifest, ioBufferWriteNew(contentSave)), "save manifest"); - TEST_RESULT_STR_STR( + TEST_RESULT_STR( strNewBuf(contentSave), strNewBuf(harnessInfoChecksumZ(hrnReplaceKey( TEST_MANIFEST_HEADER_PRE @@ -1385,7 +1385,7 @@ testRun(void) contentSave = bufNew(0); TEST_RESULT_VOID(manifestSave(manifest, ioBufferWriteNew(contentSave)), "save manifest"); - TEST_RESULT_STR_STR( + TEST_RESULT_STR( strNewBuf(contentSave), strNewBuf(harnessInfoChecksumZ(hrnReplaceKey( TEST_MANIFEST_HEADER_PRE @@ -1437,7 +1437,7 @@ testRun(void) contentSave = bufNew(0); TEST_RESULT_VOID(manifestSave(manifest, ioBufferWriteNew(contentSave)), "save manifest"); - TEST_RESULT_STR_STR( + TEST_RESULT_STR( strNewBuf(contentSave), strNewBuf(harnessInfoChecksumZ(hrnReplaceKey( TEST_MANIFEST_HEADER_PRE @@ -1497,7 +1497,7 @@ testRun(void) contentSave = bufNew(0); TEST_RESULT_VOID(manifestSave(manifest, ioBufferWriteNew(contentSave)), "save manifest"); - TEST_RESULT_STR_STR( + TEST_RESULT_STR( strNewBuf(contentSave), strNewBuf(harnessInfoChecksumZ(hrnReplaceKey( TEST_MANIFEST_HEADER_PRE @@ -1602,7 +1602,7 @@ testRun(void) Buffer *contentSave = bufNew(0); TEST_RESULT_VOID(manifestSave(manifest, ioBufferWriteNew(contentSave)), "save manifest"); - TEST_RESULT_STR_STR(strNewBuf(contentSave), strNewBuf(contentLoad), " check save"); + TEST_RESULT_STR(strNewBuf(contentSave), strNewBuf(contentLoad), " check save"); // Manifest with all features // ------------------------------------------------------------------------------------------------------------------------- @@ -1914,7 +1914,7 @@ testRun(void) TEST_MANIFEST_PATH_DEFAULT ); - TEST_RESULT_STR_STR(strNewBuf(contentSave), strNewBuf(contentCompare), " check save"); + TEST_RESULT_STR(strNewBuf(contentSave), strNewBuf(contentCompare), " check save"); TEST_RESULT_VOID(manifestFileRemove(manifest, STRDEF("pg_data/PG_VERSION")), "remove file"); TEST_ERROR( @@ -2005,7 +2005,7 @@ testRun(void) storagePutP(storageNewWriteP(storageTest, strNew(BACKUP_MANIFEST_FILE INFO_COPY_EXT)), content), "write copy"); TEST_ASSIGN(manifest, manifestLoadFile(storageTest, STRDEF(BACKUP_MANIFEST_FILE), cipherTypeNone, NULL), "load copy"); TEST_RESULT_UINT(manifestData(manifest)->pgSystemId, 1000000000000000094, " check file loaded"); - TEST_RESULT_STR(strPtr(manifestData(manifest)->backrestVersion), PROJECT_VERSION, " check backrest version"); + TEST_RESULT_STR_Z(manifestData(manifest)->backrestVersion, PROJECT_VERSION, " check backrest version"); storageRemoveP(storageTest, strNew(BACKUP_MANIFEST_FILE INFO_COPY_EXT), .errorOnMissing = true); diff --git a/test/src/module/postgres/clientTest.c b/test/src/module/postgres/clientTest.c index 81a9132b2..77ba86d19 100644 --- a/test/src/module/postgres/clientTest.c +++ b/test/src/module/postgres/clientTest.c @@ -280,8 +280,8 @@ testRun(void) " from pg_class where relname in ('pg_class', 'pg_proc')" " order by relname"); - TEST_RESULT_STR( - strPtr(jsonFromVar(varNewVarLst(pgClientQuery(client, query)))), + TEST_RESULT_STR_Z( + jsonFromVar(varNewVarLst(pgClientQuery(client, query))), "[[1259,null,\"pg_class\",true],[1255,\"\",\"pg_proc\",false]]", "simple query"); // Close connection diff --git a/test/src/module/postgres/interfaceTest.c b/test/src/module/postgres/interfaceTest.c index 536add502..4aa6c15e3 100644 --- a/test/src/module/postgres/interfaceTest.c +++ b/test/src/module/postgres/interfaceTest.c @@ -25,9 +25,9 @@ testRun(void) TEST_RESULT_INT(pgVersionFromStr(strNew("9.6")), 90600, "valid pg version 9.6"); //-------------------------------------------------------------------------------------------------------------------------- - TEST_RESULT_STR(strPtr(pgVersionToStr(PG_VERSION_11)), "11", "infoPgVersionToString 11"); - TEST_RESULT_STR(strPtr(pgVersionToStr(PG_VERSION_96)), "9.6", "infoPgVersionToString 9.6"); - TEST_RESULT_STR(strPtr(pgVersionToStr(83456)), "8.34", "infoPgVersionToString 83456"); + TEST_RESULT_STR_Z(pgVersionToStr(PG_VERSION_11), "11", "infoPgVersionToString 11"); + TEST_RESULT_STR_Z(pgVersionToStr(PG_VERSION_96), "9.6", "infoPgVersionToString 9.6"); + TEST_RESULT_STR_Z(pgVersionToStr(83456), "8.34", "infoPgVersionToString 83456"); } // ***************************************************************************************************************************** @@ -156,22 +156,22 @@ testRun(void) // ***************************************************************************************************************************** if (testBegin("pgLsnName(), pgTablespaceId(), pgWalName(), pgWalPath(), and pgXactPath()")) { - TEST_RESULT_STR(strPtr(pgLsnName(PG_VERSION_96)), "location", "check location name"); - TEST_RESULT_STR(strPtr(pgLsnName(PG_VERSION_10)), "lsn", "check lsn name"); + TEST_RESULT_STR_Z(pgLsnName(PG_VERSION_96), "location", "check location name"); + TEST_RESULT_STR_Z(pgLsnName(PG_VERSION_10), "lsn", "check lsn name"); TEST_RESULT_STR_Z(pgTablespaceId(PG_VERSION_84), NULL, "check 8.4 tablespace id"); TEST_RESULT_STR_Z(pgTablespaceId(PG_VERSION_90), "PG_9.0_201008051", "check 9.0 tablespace id"); TEST_RESULT_STR_Z(pgTablespaceId(PG_VERSION_94), "PG_9.4_201409291", "check 9.4 tablespace id"); TEST_RESULT_STR_Z(pgTablespaceId(PG_VERSION_11), "PG_11_201809051", "check 11 tablespace id"); - TEST_RESULT_STR(strPtr(pgWalName(PG_VERSION_96)), "xlog", "check xlog name"); - TEST_RESULT_STR(strPtr(pgWalName(PG_VERSION_10)), "wal", "check wal name"); + TEST_RESULT_STR_Z(pgWalName(PG_VERSION_96), "xlog", "check xlog name"); + TEST_RESULT_STR_Z(pgWalName(PG_VERSION_10), "wal", "check wal name"); TEST_RESULT_STR_Z(pgWalPath(PG_VERSION_96), "pg_xlog", "check xlog path"); TEST_RESULT_STR_Z(pgWalPath(PG_VERSION_10), "pg_wal", "check wal path"); - TEST_RESULT_STR(strPtr(pgXactPath(PG_VERSION_96)), "pg_clog", "check pg_clog name"); - TEST_RESULT_STR(strPtr(pgXactPath(PG_VERSION_10)), "pg_xact", "check pg_xact name"); + TEST_RESULT_STR_Z(pgXactPath(PG_VERSION_96), "pg_clog", "check pg_clog name"); + TEST_RESULT_STR_Z(pgXactPath(PG_VERSION_10), "pg_xact", "check pg_xact name"); } // ***************************************************************************************************************************** @@ -232,9 +232,9 @@ testRun(void) .pageChecksum = true }; - TEST_RESULT_STR( - strPtr(pgControlToLog(&pgControl)), - "{version: 110000, systemId: 1030522662895, walSegmentSize: 16777216, pageChecksum: true}", "check log"); + TEST_RESULT_STR_Z( + pgControlToLog(&pgControl), "{version: 110000, systemId: 1030522662895, walSegmentSize: 16777216, pageChecksum: true}", + "check log"); } // ***************************************************************************************************************************** @@ -246,9 +246,7 @@ testRun(void) .systemId = 0xFEFEFEFEFE }; - TEST_RESULT_STR( - strPtr(pgWalToLog(&pgWal)), - "{version: 100000, systemId: 1095199817470}", "check log"); + TEST_RESULT_STR_Z(pgWalToLog(&pgWal), "{version: 100000, systemId: 1095199817470}", "check log"); } FUNCTION_HARNESS_RESULT_VOID(); diff --git a/test/src/module/protocol/protocolTest.c b/test/src/module/protocol/protocolTest.c index a5ffd43ff..ed1949fdf 100644 --- a/test/src/module/protocol/protocolTest.c +++ b/test/src/module/protocol/protocolTest.c @@ -107,8 +107,8 @@ testRun(void) TEST_RESULT_UINT(protocolStorageTypeEnum(PROTOCOL_STORAGE_TYPE_REPO_STR), protocolStorageTypeRepo, "repo enum"); TEST_ERROR(protocolStorageTypeEnum(STRDEF(BOGUS_STR)), AssertError, "invalid protocol storage type 'BOGUS'"); - TEST_RESULT_STR_STR(protocolStorageTypeStr(protocolStorageTypePg), PROTOCOL_STORAGE_TYPE_PG_STR, "pg str"); - TEST_RESULT_STR_STR(protocolStorageTypeStr(protocolStorageTypeRepo), PROTOCOL_STORAGE_TYPE_REPO_STR, "repo str"); + TEST_RESULT_STR(protocolStorageTypeStr(protocolStorageTypePg), PROTOCOL_STORAGE_TYPE_PG_STR, "pg str"); + TEST_RESULT_STR(protocolStorageTypeStr(protocolStorageTypeRepo), PROTOCOL_STORAGE_TYPE_REPO_STR, "repo str"); TEST_ERROR(protocolStorageTypeStr((ProtocolStorageType)999), AssertError, "invalid protocol storage type 999"); } @@ -171,12 +171,10 @@ testRun(void) strLstAddZ(argList, "archive-get"); harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList)); - TEST_RESULT_STR( - strPtr(strLstJoin(protocolLocalParam(protocolStorageTypeRepo, 1, 0), "|")), - strPtr( - strNew( - "--command=archive-get|--host-id=1|--log-level-file=off|--log-level-stderr=error|--process=0|--stanza=test1" - "|--type=backup|local")), + TEST_RESULT_STR_Z( + strLstJoin(protocolLocalParam(protocolStorageTypeRepo, 1, 0), "|"), + "--command=archive-get|--host-id=1|--log-level-file=off|--log-level-stderr=error|--process=0|--stanza=test1" + "|--type=backup|local", "local repo protocol params"); // ------------------------------------------------------------------------------------------------------------------------- @@ -189,12 +187,10 @@ testRun(void) strLstAddZ(argList, "backup"); harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList)); - TEST_RESULT_STR( - strPtr(strLstJoin(protocolLocalParam(protocolStorageTypePg, 2, 1), "|")), - strPtr( - strNew( - "--command=backup|--host-id=2|--log-level-file=info|--log-level-stderr=error|--log-subprocess|--pg1-path=/pg" - "|--process=1|--stanza=test1|--type=db|local")), + TEST_RESULT_STR_Z( + strLstJoin(protocolLocalParam(protocolStorageTypePg, 2, 1), "|"), + "--command=backup|--host-id=2|--log-level-file=info|--log-level-stderr=error|--log-subprocess|--pg1-path=/pg" + "|--process=1|--stanza=test1|--type=db|local", "local pg protocol params"); } @@ -215,13 +211,11 @@ testRun(void) strLstAddZ(argList, "archive-get"); harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList)); - TEST_RESULT_STR( - strPtr(strLstJoin(protocolRemoteParam(protocolStorageTypeRepo, 0, 0), "|")), - strPtr( - strNew( - "-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|repo-host-user@repo-host" - "|pgbackrest --command=archive-get --log-level-file=off --log-level-stderr=error --process=0" - " --stanza=test1 --type=backup remote")), + TEST_RESULT_STR_Z( + strLstJoin(protocolRemoteParam(protocolStorageTypeRepo, 0, 0), "|"), + "-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|repo-host-user@repo-host" + "|pgbackrest --command=archive-get --log-level-file=off --log-level-stderr=error --process=0" + " --stanza=test1 --type=backup remote", "remote protocol params"); // ------------------------------------------------------------------------------------------------------------------------- @@ -238,14 +232,12 @@ testRun(void) strLstAddZ(argList, "archive-get"); harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList)); - TEST_RESULT_STR( - strPtr(strLstJoin(protocolRemoteParam(protocolStorageTypeRepo, 1, 0), "|")), - strPtr( - strNew( - "-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|-p|444|repo-host-user@repo-host" - "|pgbackrest --command=archive-get --config=/path/pgbackrest.conf --config-include-path=/path/include" - " --config-path=/path/config --log-level-file=info --log-level-stderr=error --log-subprocess --process=1" - " --stanza=test1 --type=backup remote")), + TEST_RESULT_STR_Z( + strLstJoin(protocolRemoteParam(protocolStorageTypeRepo, 1, 0), "|"), + "-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|-p|444|repo-host-user@repo-host" + "|pgbackrest --command=archive-get --config=/path/pgbackrest.conf --config-include-path=/path/include" + " --config-path=/path/config --log-level-file=info --log-level-stderr=error --log-subprocess --process=1" + " --stanza=test1 --type=backup remote", "remote protocol params with replacements"); // ------------------------------------------------------------------------------------------------------------------------- @@ -260,13 +252,11 @@ testRun(void) strLstAddZ(argList, "local"); harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList)); - TEST_RESULT_STR( - strPtr(strLstJoin(protocolRemoteParam(protocolStorageTypeRepo, 66, 0), "|")), - strPtr( - strNew( - "-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|pgbackrest@repo-host" - "|pgbackrest --command=archive-get --log-level-file=off --log-level-stderr=error --process=3" - " --stanza=test1 --type=backup remote")), + TEST_RESULT_STR_Z( + strLstJoin(protocolRemoteParam(protocolStorageTypeRepo, 66, 0), "|"), + "-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|pgbackrest@repo-host" + "|pgbackrest --command=archive-get --log-level-file=off --log-level-stderr=error --process=3" + " --stanza=test1 --type=backup remote", "remote protocol params for backup local"); // ------------------------------------------------------------------------------------------------------------------------- @@ -279,13 +269,11 @@ testRun(void) strLstAddZ(argList, "backup"); harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList)); - TEST_RESULT_STR( - strPtr(strLstJoin(protocolRemoteParam(protocolStorageTypePg, 1, 0), "|")), - strPtr( - strNew( - "-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|postgres@pg1-host" - "|pgbackrest --command=backup --log-level-file=off --log-level-stderr=error --pg1-path=/path/to/1" - " --process=1 --stanza=test1 --type=db remote")), + TEST_RESULT_STR_Z( + strLstJoin(protocolRemoteParam(protocolStorageTypePg, 1, 0), "|"), + "-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|postgres@pg1-host" + "|pgbackrest --command=backup --log-level-file=off --log-level-stderr=error --pg1-path=/path/to/1" + " --process=1 --stanza=test1 --type=db remote", "remote protocol params for db backup"); // ------------------------------------------------------------------------------------------------------------------------- @@ -304,13 +292,11 @@ testRun(void) strLstAddZ(argList, "local"); harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList)); - TEST_RESULT_STR( - strPtr(strLstJoin(protocolRemoteParam(protocolStorageTypePg, 1, 1), "|")), - strPtr( - strNew( - "-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|postgres@pg2-host" - "|pgbackrest --command=backup --log-level-file=off --log-level-stderr=error --pg1-path=/path/to/2" - " --process=4 --stanza=test1 --type=db remote")), + TEST_RESULT_STR_Z( + strLstJoin(protocolRemoteParam(protocolStorageTypePg, 1, 1), "|"), + "-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|postgres@pg2-host" + "|pgbackrest --command=backup --log-level-file=off --log-level-stderr=error --pg1-path=/path/to/2" + " --process=4 --stanza=test1 --type=db remote", "remote protocol params for db local"); // ------------------------------------------------------------------------------------------------------------------------- @@ -329,13 +315,11 @@ testRun(void) strLstAddZ(argList, "local"); harnessCfgLoadRaw(strLstSize(argList), strLstPtr(argList)); - TEST_RESULT_STR( - strPtr(strLstJoin(protocolRemoteParam(protocolStorageTypePg, 1, 2), "|")), - strPtr( - strNew( - "-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|postgres@pg3-host" - "|pgbackrest --command=backup --log-level-file=off --log-level-stderr=error --pg1-path=/path/to/3" - " --pg1-port=3333 --pg1-socket-path=/socket3 --process=4 --stanza=test1 --type=db remote")), + TEST_RESULT_STR_Z( + strLstJoin(protocolRemoteParam(protocolStorageTypePg, 1, 2), "|"), + "-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|postgres@pg3-host" + "|pgbackrest --command=backup --log-level-file=off --log-level-stderr=error --pg1-path=/path/to/3" + " --pg1-port=3333 --pg1-socket-path=/socket3 --process=4 --stanza=test1 --type=db remote", "remote protocol params for db local"); } @@ -355,14 +339,13 @@ testRun(void) } MEM_CONTEXT_TEMP_END(); - TEST_RESULT_STR(strPtr(protocolCommandToLog(command)), "{command: command1}", "check log"); - TEST_RESULT_STR( - strPtr(protocolCommandJson(command)), "{\"cmd\":\"command1\",\"param\":[\"param1\",\"param2\"]}", "check json"); + TEST_RESULT_STR_Z(protocolCommandToLog(command), "{command: command1}", "check log"); + TEST_RESULT_STR_Z(protocolCommandJson(command), "{\"cmd\":\"command1\",\"param\":[\"param1\",\"param2\"]}", "check json"); // ------------------------------------------------------------------------------------------------------------------------- TEST_ASSIGN(command, protocolCommandNew(strNew("command2")), "create command"); - TEST_RESULT_STR(strPtr(protocolCommandToLog(command)), "{command: command2}", "check log"); - TEST_RESULT_STR(strPtr(protocolCommandJson(command)), "{\"cmd\":\"command2\"}", "check json"); + TEST_RESULT_STR_Z(protocolCommandToLog(command), "{command: command2}", "check log"); + TEST_RESULT_STR_Z(protocolCommandJson(command), "{\"cmd\":\"command2\"}", "check json"); // ------------------------------------------------------------------------------------------------------------------------- TEST_RESULT_VOID(protocolCommandFree(command), "free command"); @@ -398,53 +381,52 @@ testRun(void) ioWriteStrLine(write, strNew("{\"name\":\"pgBackRest\",\"service\":\"test\",\"version\":\"" PROJECT_VERSION "\"}")); ioWriteFlush(write); - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{\"cmd\":\"noop\"}", "noop"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"cmd\":\"noop\"}", "noop"); ioWriteStrLine(write, strNew("{}")); ioWriteFlush(write); // Throw errors - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{\"cmd\":\"noop\"}", "noop with error text"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"cmd\":\"noop\"}", "noop with error text"); ioWriteStrLine(write, strNew("{\"err\":25,\"out\":\"sample error message\",\"errStack\":\"stack data\"}")); ioWriteFlush(write); - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{\"cmd\":\"noop\"}", "noop with no error text"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"cmd\":\"noop\"}", "noop with no error text"); ioWriteStrLine(write, strNew("{\"err\":255}")); ioWriteFlush(write); // No output expected - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{\"cmd\":\"noop\"}", "noop with parameters returned"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"cmd\":\"noop\"}", "noop with parameters returned"); ioWriteStrLine(write, strNew("{\"out\":[\"bogus\"]}")); ioWriteFlush(write); // Send output - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{\"cmd\":\"test\"}", "test command"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"cmd\":\"test\"}", "test command"); ioWriteStrLine(write, strNew(".OUTPUT")); ioWriteStrLine(write, strNew("{\"out\":[\"value1\",\"value2\"]}")); ioWriteFlush(write); // invalid line - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{\"cmd\":\"invalid-line\"}", "invalid line command"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"cmd\":\"invalid-line\"}", "invalid line command"); ioWrite(write, LF_BUF); ioWriteFlush(write); // error instead of output - TEST_RESULT_STR( - strPtr(ioReadLine(read)), "{\"cmd\":\"error-instead-of-output\"}", "error instead of output command"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"cmd\":\"error-instead-of-output\"}", "error instead of output command"); ioWriteStrLine(write, strNew("{\"err\":255}")); ioWriteFlush(write); // unexpected output - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{\"cmd\":\"unexpected-output\"}", "unexpected output"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"cmd\":\"unexpected-output\"}", "unexpected output"); ioWriteStrLine(write, strNew("{}")); ioWriteFlush(write); // invalid prefix - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{\"cmd\":\"invalid-prefix\"}", "invalid prefix"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"cmd\":\"invalid-prefix\"}", "invalid prefix"); ioWriteStrLine(write, strNew("~line")); ioWriteFlush(write); // Wait for exit - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{\"cmd\":\"exit\"}", "exit command"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"cmd\":\"exit\"}", "exit command"); } HARNESS_FORK_CHILD_END(); @@ -514,8 +496,8 @@ testRun(void) TEST_RESULT_STR_Z(protocolClientReadLine(client), "OUTPUT", "check output"); TEST_ASSIGN(output, varVarLst(protocolClientReadOutput(client, true)), "execute command with output"); TEST_RESULT_UINT(varLstSize(output), 2, "check output size"); - TEST_RESULT_STR(strPtr(varStr(varLstGet(output, 0))), "value1", "check value1"); - TEST_RESULT_STR(strPtr(varStr(varLstGet(output, 1))), "value2", "check value2"); + TEST_RESULT_STR_Z(varStr(varLstGet(output, 0)), "value1", "check value1"); + TEST_RESULT_STR_Z(varStr(varLstGet(output, 1)), "value2", "check value2"); // Invalid line TEST_RESULT_VOID( @@ -562,14 +544,14 @@ testRun(void) ioWriteOpen(write); // Check greeting - TEST_RESULT_STR( - strPtr(ioReadLine(read)), "{\"name\":\"pgBackRest\",\"service\":\"test\",\"version\":\"" PROJECT_VERSION "\"}", + TEST_RESULT_STR_Z( + ioReadLine(read), "{\"name\":\"pgBackRest\",\"service\":\"test\",\"version\":\"" PROJECT_VERSION "\"}", "check greeting"); // Noop TEST_RESULT_VOID(ioWriteStrLine(write, strNew("{\"cmd\":\"noop\"}")), "write noop"); TEST_RESULT_VOID(ioWriteFlush(write), "flush noop"); - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{}", "noop result"); + TEST_RESULT_STR_Z(ioReadLine(read), "{}", "noop result"); // Invalid command KeyValue *result = NULL; @@ -578,26 +560,26 @@ testRun(void) TEST_RESULT_VOID(ioWriteFlush(write), "flush bogus"); TEST_ASSIGN(result, varKv(jsonToVar(ioReadLine(read))), "parse error result"); TEST_RESULT_INT(varIntForce(kvGet(result, VARSTRDEF("err"))), 39, " check code"); - TEST_RESULT_STR(strPtr(varStr(kvGet(result, VARSTRDEF("out")))), "invalid command 'bogus'", " check message"); + TEST_RESULT_STR_Z(varStr(kvGet(result, VARSTRDEF("out"))), "invalid command 'bogus'", " check message"); TEST_RESULT_BOOL(kvGet(result, VARSTRDEF("errStack")) != NULL, true, " check stack exists"); // Simple request TEST_RESULT_VOID(ioWriteStrLine(write, strNew("{\"cmd\":\"request-simple\"}")), "write simple request"); TEST_RESULT_VOID(ioWriteFlush(write), "flush simple request"); - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{\"out\":true}", "simple request result"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"out\":true}", "simple request result"); // Throw an assert error which will include a stack trace TEST_RESULT_VOID(ioWriteStrLine(write, strNew("{\"cmd\":\"assert\"}")), "write assert"); TEST_RESULT_VOID(ioWriteFlush(write), "flush assert error"); TEST_ASSIGN(result, varKv(jsonToVar(ioReadLine(read))), "parse error result"); TEST_RESULT_INT(varIntForce(kvGet(result, VARSTRDEF("err"))), 25, " check code"); - TEST_RESULT_STR(strPtr(varStr(kvGet(result, VARSTRDEF("out")))), "test assert", " check message"); + TEST_RESULT_STR_Z(varStr(kvGet(result, VARSTRDEF("out"))), "test assert", " check message"); TEST_RESULT_BOOL(kvGet(result, VARSTRDEF("errStack")) != NULL, true, " check stack exists"); // Complex request -- after process loop has been restarted TEST_RESULT_VOID(ioWriteStrLine(write, strNew("{\"cmd\":\"request-complex\"}")), "write complex request"); TEST_RESULT_VOID(ioWriteFlush(write), "flush complex request"); - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{\"out\":false}", "complex request result"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"out\":false}", "complex request result"); TEST_RESULT_STR_Z(ioReadLine(read), ".LINEOFTEXT", "complex request result"); TEST_RESULT_STR_Z(ioReadLine(read), ".", "complex request result"); @@ -681,17 +663,17 @@ testRun(void) ioWriteStrLine(write, strNew("{\"name\":\"pgBackRest\",\"service\":\"test\",\"version\":\"" PROJECT_VERSION "\"}")); ioWriteFlush(write); - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{\"cmd\":\"noop\"}", "noop"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"cmd\":\"noop\"}", "noop"); ioWriteStrLine(write, strNew("{}")); ioWriteFlush(write); - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{\"cmd\":\"command1\",\"param\":[\"param1\",\"param2\"]}", "command1"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"cmd\":\"command1\",\"param\":[\"param1\",\"param2\"]}", "command1"); sleepMSec(4000); ioWriteStrLine(write, strNew("{\"out\":1}")); ioWriteFlush(write); // Wait for exit - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{\"cmd\":\"exit\"}", "exit command"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"cmd\":\"exit\"}", "exit command"); } HARNESS_FORK_CHILD_END(); @@ -707,22 +689,22 @@ testRun(void) ioWriteStrLine(write, strNew("{\"name\":\"pgBackRest\",\"service\":\"test\",\"version\":\"" PROJECT_VERSION "\"}")); ioWriteFlush(write); - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{\"cmd\":\"noop\"}", "noop"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"cmd\":\"noop\"}", "noop"); ioWriteStrLine(write, strNew("{}")); ioWriteFlush(write); - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{\"cmd\":\"command2\",\"param\":[\"param1\"]}", "command2"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"cmd\":\"command2\",\"param\":[\"param1\"]}", "command2"); sleepMSec(1000); ioWriteStrLine(write, strNew("{\"out\":2}")); ioWriteFlush(write); - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{\"cmd\":\"command3\",\"param\":[\"param1\"]}", "command3"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"cmd\":\"command3\",\"param\":[\"param1\"]}", "command3"); ioWriteStrLine(write, strNew("{\"err\":39,\"out\":\"very serious error\"}")); ioWriteFlush(write); // Wait for exit - TEST_RESULT_STR(strPtr(ioReadLine(read)), "{\"cmd\":\"exit\"}", "exit command"); + TEST_RESULT_STR_Z(ioReadLine(read), "{\"cmd\":\"exit\"}", "exit command"); } HARNESS_FORK_CHILD_END(); @@ -732,8 +714,7 @@ testRun(void) TestParallelJobCallback data = {.jobList = lstNew(sizeof(ProtocolParallelJob *))}; ProtocolParallel *parallel = NULL; TEST_ASSIGN(parallel, protocolParallelNew(2000, testParallelJobCallback, &data), "create parallel"); - TEST_RESULT_STR( - strPtr(protocolParallelToLog(parallel)), "{state: pending, clientTotal: 0, jobTotal: 0}", "check log"); + TEST_RESULT_STR_Z(protocolParallelToLog(parallel), "{state: pending, clientTotal: 0, jobTotal: 0}", "check log"); // Add client unsigned int clientTotal = 2; @@ -795,7 +776,7 @@ testRun(void) TEST_RESULT_INT(protocolParallelProcess(parallel), 1, "process jobs"); TEST_ASSIGN(job, protocolParallelResult(parallel), "get result"); - TEST_RESULT_STR(strPtr(varStr(protocolParallelJobKey(job))), "job2", "check key is job2"); + TEST_RESULT_STR_Z(varStr(protocolParallelJobKey(job)), "job2", "check key is job2"); TEST_RESULT_BOOL( protocolParallelJobProcessId(job) >= 1 && protocolParallelJobProcessId(job) <= 2, true, "check process id is valid"); @@ -807,10 +788,10 @@ testRun(void) TEST_RESULT_INT(protocolParallelProcess(parallel), 1, "process jobs"); TEST_ASSIGN(job, protocolParallelResult(parallel), "get result"); - TEST_RESULT_STR(strPtr(varStr(protocolParallelJobKey(job))), "job3", "check key is job3"); + TEST_RESULT_STR_Z(varStr(protocolParallelJobKey(job)), "job3", "check key is job3"); TEST_RESULT_INT(protocolParallelJobErrorCode(job), 39, "check error code"); - TEST_RESULT_STR( - strPtr(protocolParallelJobErrorMessage(job)), "raised from test client 1: very serious error", + TEST_RESULT_STR_Z( + protocolParallelJobErrorMessage(job), "raised from test client 1: very serious error", "check error message"); TEST_RESULT_PTR(protocolParallelJobResult(job), NULL, "check result is null"); @@ -825,7 +806,7 @@ testRun(void) TEST_RESULT_INT(protocolParallelProcess(parallel), 1, "process jobs"); TEST_ASSIGN(job, protocolParallelResult(parallel), "get result"); - TEST_RESULT_STR(strPtr(varStr(protocolParallelJobKey(job))), "job1", "check key is job1"); + TEST_RESULT_STR_Z(varStr(protocolParallelJobKey(job)), "job1", "check key is job1"); TEST_RESULT_INT(varIntForce(protocolParallelJobResult(job)), 1, "check result is 1"); TEST_RESULT_BOOL(protocolParallelDone(parallel), true, "check done"); @@ -896,10 +877,10 @@ testRun(void) strLstAddZ(argList, "--type=db"); harnessCfgLoad(cfgCmdLocal, argList); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptRepoCipherPass)), "acbd", "check cipher pass before"); + TEST_RESULT_STR_Z(cfgOptionStr(cfgOptRepoCipherPass), "acbd", "check cipher pass before"); TEST_ASSIGN(client, protocolRemoteGet(protocolStorageTypeRepo, 1), "get remote protocol"); TEST_RESULT_PTR(protocolHelper.clientRemote[0].client, client, "check position in cache"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptRepoCipherPass)), "acbd", "check cipher pass after"); + TEST_RESULT_STR_Z(cfgOptionStr(cfgOptRepoCipherPass), "acbd", "check cipher pass after"); TEST_RESULT_VOID(protocolFree(), "free remote protocol objects"); @@ -923,7 +904,7 @@ testRun(void) TEST_RESULT_PTR(cfgOptionStr(cfgOptRepoCipherPass), NULL, "check cipher pass before"); TEST_ASSIGN(client, protocolRemoteGet(protocolStorageTypeRepo, 1), "get remote protocol"); - TEST_RESULT_STR(strPtr(cfgOptionStr(cfgOptRepoCipherPass)), "dcba", "check cipher pass after"); + TEST_RESULT_STR_Z(cfgOptionStr(cfgOptRepoCipherPass), "dcba", "check cipher pass after"); TEST_RESULT_VOID(protocolFree(), "free remote protocol objects"); diff --git a/test/src/module/storage/cifsTest.c b/test/src/module/storage/cifsTest.c index da1d55006..59f2d40c2 100644 --- a/test/src/module/storage/cifsTest.c +++ b/test/src/module/storage/cifsTest.c @@ -23,7 +23,7 @@ testRun(void) const Storage *storage = NULL; TEST_ASSIGN(storage, storageRepoGet(strNew(STORAGE_TYPE_CIFS), true), "get cifs repo storage"); - TEST_RESULT_STR(strPtr(storage->type), "cifs", "check storage type"); + TEST_RESULT_STR_Z(storage->type, "cifs", "check storage type"); TEST_RESULT_BOOL(storageFeature(storage, storageFeaturePath), true, " check path feature"); TEST_RESULT_BOOL(storageFeature(storage, storageFeatureCompress), true, " check compress feature"); diff --git a/test/src/module/storage/posixTest.c b/test/src/module/storage/posixTest.c index 17cbef06b..6841136c1 100644 --- a/test/src/module/storage/posixTest.c +++ b/test/src/module/storage/posixTest.c @@ -66,7 +66,7 @@ testRun(void) { Storage *storageTest = NULL; TEST_ASSIGN(storageTest, storagePosixNew(strNew("/"), 0640, 0750, false, NULL), "new storage (defaults)"); - TEST_RESULT_STR(strPtr(storageTest->path), "/", " check path"); + TEST_RESULT_STR_Z(storageTest->path, "/", " check path"); TEST_RESULT_INT(storageTest->modeFile, 0640, " check file mode"); TEST_RESULT_INT(storageTest->modePath, 0750, " check path mode"); TEST_RESULT_BOOL(storageTest->write, false, " check write"); @@ -75,7 +75,7 @@ testRun(void) TEST_ASSIGN( storageTest, storagePosixNew(strNew("/path/to"), 0600, 0700, true, storageTestPathExpression), "new storage (non-default)"); - TEST_RESULT_STR(strPtr(storageTest->path), "/path/to", " check path"); + TEST_RESULT_STR_Z(storageTest->path, "/path/to", " check path"); TEST_RESULT_INT(storageTest->modeFile, 0600, " check file mode"); TEST_RESULT_INT(storageTest->modePath, 0700, " check path mode"); TEST_RESULT_BOOL(storageTest->write, true, " check write"); @@ -184,9 +184,9 @@ testRun(void) TEST_RESULT_UINT(info.timeModified, 1555160000, " check mod time"); TEST_RESULT_PTR(info.linkDestination, NULL, " no link destination"); TEST_RESULT_UINT(info.userId, getuid(), " check user id"); - TEST_RESULT_STR(strPtr(info.user), testUser(), " check user"); + TEST_RESULT_STR_Z(info.user, testUser(), " check user"); TEST_RESULT_UINT(info.groupId, getgid(), " check group id"); - TEST_RESULT_STR(strPtr(info.group), testGroup(), " check group"); + TEST_RESULT_STR_Z(info.group, testGroup(), " check group"); // ------------------------------------------------------------------------------------------------------------------------- const Buffer *buffer = BUFSTRDEF("TESTFILE"); @@ -205,8 +205,8 @@ testRun(void) TEST_RESULT_INT(info.mode, 0640, " check mode"); TEST_RESULT_UINT(info.timeModified, 1555155555, " check mod time"); TEST_RESULT_PTR(info.linkDestination, NULL, " no link destination"); - TEST_RESULT_STR(strPtr(info.user), NULL, " check user"); - TEST_RESULT_STR(strPtr(info.group), NULL, " check group"); + TEST_RESULT_STR(info.user, NULL, " check user"); + TEST_RESULT_STR(info.group, NULL, " check group"); storageRemoveP(storageTest, fileName, .errorOnMissing = true); @@ -220,9 +220,9 @@ testRun(void) TEST_RESULT_INT(info.type, storageTypeLink, " check type"); TEST_RESULT_INT(info.size, 0, " check size"); TEST_RESULT_INT(info.mode, 0777, " check mode"); - TEST_RESULT_STR(strPtr(info.linkDestination), "/tmp", " check link destination"); - TEST_RESULT_STR(strPtr(info.user), testUser(), " check user"); - TEST_RESULT_STR(strPtr(info.group), testGroup(), " check group"); + TEST_RESULT_STR_Z(info.linkDestination, "/tmp", " check link destination"); + TEST_RESULT_STR_Z(info.user, testUser(), " check user"); + TEST_RESULT_STR_Z(info.group, testGroup(), " check group"); TEST_ASSIGN(info, storageInfoP(storageTest, linkName, .followLink = true), "get info from path pointed to by link"); TEST_RESULT_PTR(info.name, NULL, " name is not set"); @@ -230,9 +230,9 @@ testRun(void) TEST_RESULT_INT(info.type, storageTypePath, " check type"); TEST_RESULT_INT(info.size, 0, " check size"); TEST_RESULT_INT(info.mode, 0777, " check mode"); - TEST_RESULT_STR(strPtr(info.linkDestination), NULL, " check link destination"); - TEST_RESULT_STR(strPtr(info.user), "root", " check user"); - TEST_RESULT_STR(strPtr(info.group), "root", " check group"); + TEST_RESULT_STR(info.linkDestination, NULL, " check link destination"); + TEST_RESULT_STR_Z(info.user, "root", " check user"); + TEST_RESULT_STR_Z(info.group, "root", " check group"); storageRemoveP(storageTest, linkName, .errorOnMissing = true); @@ -246,9 +246,9 @@ testRun(void) TEST_RESULT_INT(info.type, storageTypeSpecial, " check type"); TEST_RESULT_INT(info.size, 0, " check size"); TEST_RESULT_INT(info.mode, 0666, " check mode"); - TEST_RESULT_STR(strPtr(info.linkDestination), NULL, " check link destination"); - TEST_RESULT_STR(strPtr(info.user), testUser(), " check user"); - TEST_RESULT_STR(strPtr(info.group), testGroup(), " check group"); + TEST_RESULT_STR(info.linkDestination, NULL, " check link destination"); + TEST_RESULT_STR_Z(info.user, testUser(), " check user"); + TEST_RESULT_STR_Z(info.group, testGroup(), " check group"); storageRemoveP(storageTest, pipeName, .errorOnMissing = true); } @@ -393,14 +393,12 @@ testRun(void) // ------------------------------------------------------------------------------------------------------------------------- TEST_RESULT_VOID( storagePutP(storageNewWriteP(storageTest, strNew(".aaa.txt")), BUFSTRDEF("aaa")), "write aaa.text"); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP(storageTest, NULL), sortOrderAsc), ", ")), ".aaa.txt, noperm", - "dir list"); + TEST_RESULT_STR_Z( + strLstJoin(strLstSort(storageListP(storageTest, NULL), sortOrderAsc), ", "), ".aaa.txt, noperm", "dir list"); TEST_RESULT_VOID( storagePutP(storageNewWriteP(storageTest, strNew("bbb.txt")), BUFSTRDEF("bbb")), "write bbb.text"); - TEST_RESULT_STR( - strPtr(strLstJoin(storageListP(storageTest, NULL, .expression = strNew("^bbb")), ", ")), "bbb.txt", "dir list"); + TEST_RESULT_STR_Z(strLstJoin(storageListP(storageTest, NULL, .expression = strNew("^bbb")), ", "), "bbb.txt", "dir list"); } // ***************************************************************************************************************************** @@ -472,9 +470,8 @@ testRun(void) TEST_RESULT_VOID(storageMoveP(storageTest, source, destination), "move file to subpath"); TEST_RESULT_BOOL(storageExistsP(storageTest, sourceFile), false, "check source file not exists"); TEST_RESULT_BOOL(storageExistsP(storageTest, destinationFile), true, "check destination file exists"); - TEST_RESULT_STR( - strPtr(strNewBuf(storageGetP(storageNewReadP(storageTest, destinationFile)))), "TESTFILE", - "check destination contents"); + TEST_RESULT_STR_Z( + strNewBuf(storageGetP(storageNewReadP(storageTest, destinationFile))), "TESTFILE", "check destination contents"); // ------------------------------------------------------------------------------------------------------------------------- sourceFile = destinationFile; @@ -523,9 +520,9 @@ testRun(void) Storage *storageTest = NULL; TEST_ASSIGN(storageTest, storagePosixNew(strNew("/"), 0640, 0750, false, NULL), "new storage /"); - TEST_RESULT_STR(strPtr(storagePathP(storageTest, NULL)), "/", " root dir"); - TEST_RESULT_STR(strPtr(storagePathP(storageTest, strNew("/"))), "/", " same as root dir"); - TEST_RESULT_STR(strPtr(storagePathP(storageTest, strNew("subdir"))), "/subdir", " simple subdir"); + TEST_RESULT_STR_Z(storagePathP(storageTest, NULL), "/", " root dir"); + TEST_RESULT_STR_Z(storagePathP(storageTest, strNew("/")), "/", " same as root dir"); + TEST_RESULT_STR_Z(storagePathP(storageTest, strNew("subdir")), "/subdir", " simple subdir"); TEST_ERROR( storagePathP(storageTest, strNew("")), AssertError, "expression '' not valid without callback function"); @@ -534,9 +531,9 @@ testRun(void) TEST_ASSIGN( storageTest, storagePosixNew(strNew("/path/to"), 0640, 0750, false, storageTestPathExpression), "new storage /path/to with expression"); - TEST_RESULT_STR(strPtr(storagePathP(storageTest, NULL)), "/path/to", " root dir"); - TEST_RESULT_STR(strPtr(storagePathP(storageTest, strNew("/path/to"))), "/path/to", " absolute root dir"); - TEST_RESULT_STR(strPtr(storagePathP(storageTest, strNew("is/a/subdir"))), "/path/to/is/a/subdir", " subdir"); + TEST_RESULT_STR_Z(storagePathP(storageTest, NULL), "/path/to", " root dir"); + TEST_RESULT_STR_Z(storagePathP(storageTest, strNew("/path/to")), "/path/to", " absolute root dir"); + TEST_RESULT_STR_Z(storagePathP(storageTest, strNew("is/a/subdir")), "/path/to/is/a/subdir", " subdir"); TEST_ERROR( storagePathP(storageTest, strNew("/bogus")), AssertError, "absolute path '/bogus' is not in base path '/path/to'"); @@ -545,18 +542,18 @@ testRun(void) "absolute path '/path/toot' is not in base path '/path/to'"); // Path enforcement disabled for a single call - TEST_RESULT_STR(strPtr(storagePathP(storageTest, strNew("/bogus"), .noEnforce = true)), "/bogus", "path enforce disabled"); + TEST_RESULT_STR_Z(storagePathP(storageTest, strNew("/bogus"), .noEnforce = true), "/bogus", "path enforce disabled"); TEST_ERROR(storagePathP(storageTest, strNew(" not found in path expression '" BOGUS_STR)), AssertError, "'/' should separate expression and path 'BOGUS'"); - TEST_RESULT_STR(strPtr(storagePathP(storageTest, strNew(""))), "/path/to/test", " expression"); + TEST_RESULT_STR_Z(storagePathP(storageTest, strNew("")), "/path/to/test", " expression"); TEST_ERROR(strPtr(storagePathP(storageTest, strNew("/"))), AssertError, "path '/' should not end in '/'"); - TEST_RESULT_STR( - strPtr(storagePathP(storageTest, strNew("/something"))), "/path/to/test/something", " expression with path"); + TEST_RESULT_STR_Z( + storagePathP(storageTest, strNew("/something")), "/path/to/test/something", " expression with path"); TEST_ERROR(storagePathP(storageTest, strNew("")), AssertError, "evaluated path '' cannot be null"); @@ -827,7 +824,7 @@ testRun(void) TEST_ASSIGN(file, storageNewReadP(storageTest, fileNoPerm, .ignoreMissing = true), "new read file"); TEST_RESULT_PTR(storageRead(file), file->driver, " check driver"); TEST_RESULT_BOOL(storageReadIgnoreMissing(file), true, " check ignore missing"); - TEST_RESULT_STR(strPtr(storageReadName(file)), strPtr(fileNoPerm), " check name"); + TEST_RESULT_STR(storageReadName(file), fileNoPerm, " check name"); // ------------------------------------------------------------------------------------------------------------------------- TEST_ASSIGN(file, storageNewReadP(storageTest, fileNoPerm), "new no perm read file"); @@ -872,8 +869,8 @@ testRun(void) MEM_CONTEXT_TEMP_END(); TEST_RESULT_BOOL(ioReadOpen(storageReadIo(file)), true, " open file"); - TEST_RESULT_STR(strPtr(storageReadName(file)), strPtr(fileName), " check file name"); - TEST_RESULT_STR(strPtr(storageReadType(file)), "posix", " check file type"); + TEST_RESULT_STR(storageReadName(file), fileName, " check file name"); + TEST_RESULT_STR_Z(storageReadType(file), "posix", " check file type"); TEST_RESULT_VOID(ioRead(storageReadIo(file), outBuffer), " load data"); bufCat(buffer, outBuffer); @@ -931,7 +928,7 @@ testRun(void) TEST_RESULT_PTR(storageWriteDriver(file), file->driver, " check file driver"); TEST_RESULT_INT(storageWriteModeFile(file), 0444, " check mode file"); TEST_RESULT_INT(storageWriteModePath(file), 0555, " check mode path"); - TEST_RESULT_STR(strPtr(storageWriteName(file)), strPtr(fileNoPerm), " check name"); + TEST_RESULT_STR(storageWriteName(file), fileNoPerm, " check name"); TEST_RESULT_BOOL(storageWriteSyncPath(file), false, " check sync path"); TEST_RESULT_BOOL(storageWriteSyncFile(file), false, " check sync file"); @@ -953,7 +950,7 @@ testRun(void) const Buffer *buffer = BUFSTRDEF("TESTFILE\n"); TEST_ASSIGN(file, storageNewWriteP(storageTest, fileName), "new write file"); - TEST_RESULT_STR(strPtr(storageWriteName(file)), strPtr(fileName), " check file name"); + TEST_RESULT_STR(storageWriteName(file), fileName, " check file name"); TEST_RESULT_VOID(ioWriteOpen(storageWriteIo(file)), " open file"); // Close the file handle so operations will fail @@ -979,8 +976,8 @@ testRun(void) // ------------------------------------------------------------------------------------------------------------------------- TEST_ASSIGN(file, storageNewWriteP(storageTest, fileName), "new write file"); - TEST_RESULT_STR(strPtr(storageWriteName(file)), strPtr(fileName), " check file name"); - TEST_RESULT_STR(strPtr(storageWriteType(file)), "posix", " check file type"); + TEST_RESULT_STR(storageWriteName(file), fileName, " check file name"); + TEST_RESULT_STR_Z(storageWriteType(file), "posix", " check file type"); TEST_RESULT_VOID(ioWriteOpen(storageWriteIo(file)), " open file"); // Rename the file back to original name from tmp -- this will cause the rename in close to fail @@ -1047,7 +1044,7 @@ testRun(void) TEST_RESULT_PTR(storageHelper.storageLocal, storage, "local storage cached"); TEST_RESULT_PTR(storageLocal(), storage, "get cached storage"); - TEST_RESULT_STR(strPtr(storagePathP(storage, NULL)), "/", "check base path"); + TEST_RESULT_STR_Z(storagePathP(storage, NULL), "/", "check base path"); TEST_ERROR(storageNewWriteP(storage, writeFile), AssertError, "assertion 'this->write' failed"); @@ -1057,7 +1054,7 @@ testRun(void) TEST_RESULT_PTR(storageHelper.storageLocalWrite, storage, "local storage cached"); TEST_RESULT_PTR(storageLocalWrite(), storage, "get cached storage"); - TEST_RESULT_STR(strPtr(storagePathP(storage, NULL)), "/", "check base path"); + TEST_RESULT_STR_Z(storagePathP(storage, NULL), "/", "check base path"); TEST_RESULT_VOID(storageNewWriteP(storage, writeFile), "writes are allowed"); } @@ -1085,26 +1082,24 @@ testRun(void) TEST_ERROR(storagePathP(storage, strNew("/path")), AssertError, "invalid expression ''"); TEST_ERROR(storageNewWriteP(storage, writeFile), AssertError, "assertion 'this->write' failed"); - TEST_RESULT_STR(strPtr(storagePathP(storage, NULL)), testPath(), "check base path"); + TEST_RESULT_STR_Z(storagePathP(storage, NULL), testPath(), "check base path"); TEST_RESULT_STR( - strPtr(storagePathP(storage, STORAGE_REPO_ARCHIVE_STR)), strPtr(strNewFmt("%s/archive/db", testPath())), - "check archive path"); + storagePathP(storage, STORAGE_REPO_ARCHIVE_STR), strNewFmt("%s/archive/db", testPath()), "check archive path"); TEST_RESULT_STR( - strPtr(storagePathP(storage, strNew(STORAGE_REPO_ARCHIVE "/simple"))), - strPtr(strNewFmt("%s/archive/db/simple", testPath())), "check simple path"); + storagePathP(storage, strNew(STORAGE_REPO_ARCHIVE "/simple")), strNewFmt("%s/archive/db/simple", testPath()), + "check simple path"); TEST_RESULT_STR( - strPtr(storagePathP(storage, strNew(STORAGE_REPO_ARCHIVE "/9.4-1/700000007000000070000000"))), - strPtr(strNewFmt("%s/archive/db/9.4-1/7000000070000000/700000007000000070000000", testPath())), "check segment path"); + storagePathP(storage, strNew(STORAGE_REPO_ARCHIVE "/9.4-1/700000007000000070000000")), + strNewFmt("%s/archive/db/9.4-1/7000000070000000/700000007000000070000000", testPath()), "check segment path"); TEST_RESULT_STR( - strPtr(storagePathP(storage, strNew(STORAGE_REPO_ARCHIVE "/9.4-1/00000008.history"))), - strPtr(strNewFmt("%s/archive/db/9.4-1/00000008.history", testPath())), "check history path"); + storagePathP(storage, strNew(STORAGE_REPO_ARCHIVE "/9.4-1/00000008.history")), + strNewFmt("%s/archive/db/9.4-1/00000008.history", testPath()), "check history path"); TEST_RESULT_STR( - strPtr(storagePathP(storage, strNew(STORAGE_REPO_ARCHIVE "/9.4-1/000000010000014C0000001A.00000028.backup"))), - strPtr(strNewFmt("%s/archive/db/9.4-1/000000010000014C/000000010000014C0000001A.00000028.backup", testPath())), + storagePathP(storage, strNew(STORAGE_REPO_ARCHIVE "/9.4-1/000000010000014C0000001A.00000028.backup")), + strNewFmt("%s/archive/db/9.4-1/000000010000014C/000000010000014C0000001A.00000028.backup", testPath()), "check archive backup path"); TEST_RESULT_STR( - strPtr(storagePathP(storage, STORAGE_REPO_BACKUP_STR)), strPtr(strNewFmt("%s/backup/db", testPath())), - "check backup path"); + storagePathP(storage, STORAGE_REPO_BACKUP_STR), strNewFmt("%s/backup/db", testPath()), "check backup path"); // Change the stanza to NULL with the stanzaInit flag still true, make sure helper does not fail when stanza option not set // ------------------------------------------------------------------------------------------------------------------------- @@ -1116,17 +1111,17 @@ testRun(void) TEST_RESULT_PTR(storageHelper.stanza, NULL, "stanza NULL"); TEST_RESULT_STR( - strPtr(storagePathP(storage, STORAGE_REPO_ARCHIVE_STR)), strPtr(strNewFmt("%s/archive", testPath())), + storagePathP(storage, STORAGE_REPO_ARCHIVE_STR), strNewFmt("%s/archive", testPath()), "check archive path - NULL stanza"); TEST_RESULT_STR( - strPtr(storagePathP(storage, strNew(STORAGE_REPO_ARCHIVE "/simple"))), - strPtr(strNewFmt("%s/archive/simple", testPath())), "check simple archive path - NULL stanza"); + storagePathP(storage, strNew(STORAGE_REPO_ARCHIVE "/simple")), + strNewFmt("%s/archive/simple", testPath()), "check simple archive path - NULL stanza"); TEST_RESULT_STR( - strPtr(storagePathP(storage, STORAGE_REPO_BACKUP_STR)), strPtr(strNewFmt("%s/backup", testPath())), + storagePathP(storage, STORAGE_REPO_BACKUP_STR), strNewFmt("%s/backup", testPath()), "check backup path - NULL stanza"); TEST_RESULT_STR( - strPtr(storagePathP(storage, strNew(STORAGE_REPO_BACKUP "/simple"))), - strPtr(strNewFmt("%s/backup/simple", testPath())), "check simple backup path - NULL stanza"); + storagePathP(storage, strNew(STORAGE_REPO_BACKUP "/simple")), + strNewFmt("%s/backup/simple", testPath()), "check simple backup path - NULL stanza"); // ------------------------------------------------------------------------------------------------------------------------- TEST_RESULT_PTR(storageHelper.storageRepoWrite, NULL, "repo write storage not cached"); @@ -1157,20 +1152,20 @@ testRun(void) TEST_RESULT_PTR(storageSpool(), storage, "get cached storage"); // ------------------------------------------------------------------------------------------------------------------------- - TEST_RESULT_STR(strPtr(storagePathP(storage, NULL)), testPath(), "check base path"); + TEST_RESULT_STR_Z(storagePathP(storage, NULL), testPath(), "check base path"); TEST_RESULT_STR( - strPtr(storagePathP(storage, strNew(STORAGE_SPOOL_ARCHIVE_OUT))), strPtr(strNewFmt("%s/archive/db/out", testPath())), + storagePathP(storage, strNew(STORAGE_SPOOL_ARCHIVE_OUT)), strNewFmt("%s/archive/db/out", testPath()), "check spool out path"); TEST_RESULT_STR( - strPtr(storagePathP(storage, strNewFmt("%s/%s", STORAGE_SPOOL_ARCHIVE_OUT, "file.ext"))), - strPtr(strNewFmt("%s/archive/db/out/file.ext", testPath())), "check spool out file"); + storagePathP(storage, strNewFmt("%s/%s", STORAGE_SPOOL_ARCHIVE_OUT, "file.ext")), + strNewFmt("%s/archive/db/out/file.ext", testPath()), "check spool out file"); TEST_RESULT_STR( - strPtr(storagePathP(storage, strNew(STORAGE_SPOOL_ARCHIVE_IN))), strPtr(strNewFmt("%s/archive/db/in", testPath())), + storagePathP(storage, strNew(STORAGE_SPOOL_ARCHIVE_IN)), strNewFmt("%s/archive/db/in", testPath()), "check spool in path"); TEST_RESULT_STR( - strPtr(storagePathP(storage, strNewFmt("%s/%s", STORAGE_SPOOL_ARCHIVE_IN, "file.ext"))), - strPtr(strNewFmt("%s/archive/db/in/file.ext", testPath())), "check spool in file"); + storagePathP(storage, strNewFmt("%s/%s", STORAGE_SPOOL_ARCHIVE_IN, "file.ext")), + strNewFmt("%s/archive/db/in/file.ext", testPath()), "check spool in file"); TEST_ERROR(storagePathP(storage, strNew("<" BOGUS_STR ">")), AssertError, "invalid expression ''"); @@ -1190,18 +1185,17 @@ testRun(void) TEST_RESULT_PTR(storageHelper.storagePg[0], storage, "pg storage cached"); TEST_RESULT_PTR(storagePg(), storage, "get cached pg storage"); - TEST_RESULT_STR(strPtr(storage->path), strPtr(strNewFmt("%s/db", testPath())), "check pg storage path"); + TEST_RESULT_STR(storage->path, strNewFmt("%s/db", testPath()), "check pg storage path"); TEST_RESULT_BOOL(storage->write, false, "check pg storage write"); - TEST_RESULT_STR(strPtr(storagePgId(2)->path), strPtr(strNewFmt("%s/db2", testPath())), "check pg 2 storage path"); + TEST_RESULT_STR(storagePgId(2)->path, strNewFmt("%s/db2", testPath()), "check pg 2 storage path"); TEST_RESULT_PTR(storageHelper.storagePgWrite, NULL, "pg write storage not cached"); TEST_ASSIGN(storage, storagePgWrite(), "new pg write storage"); TEST_RESULT_PTR(storageHelper.storagePgWrite[0], storage, "pg write storage cached"); TEST_RESULT_PTR(storagePgWrite(), storage, "get cached pg write storage"); - TEST_RESULT_STR( - strPtr(storagePgIdWrite(2)->path), strPtr(strNewFmt("%s/db2", testPath())), "check pg 2 write storage path"); + TEST_RESULT_STR(storagePgIdWrite(2)->path, strNewFmt("%s/db2", testPath()), "check pg 2 write storage path"); - TEST_RESULT_STR(strPtr(storage->path), strPtr(strNewFmt("%s/db", testPath())), "check pg write storage path"); + TEST_RESULT_STR(storage->path, strNewFmt("%s/db", testPath()), "check pg write storage path"); TEST_RESULT_BOOL(storage->write, true, "check pg write storage write"); // Pg storage from another host id @@ -1209,7 +1203,7 @@ testRun(void) cfgOptionSet(cfgOptHostId, cfgSourceParam, VARUINT64(2)); cfgOptionValidSet(cfgOptHostId, true); - TEST_RESULT_STR(strPtr(storagePg()->path), strPtr(strNewFmt("%s/db2", testPath())), "check pg-2 storage path"); + TEST_RESULT_STR(storagePg()->path, strNewFmt("%s/db2", testPath()), "check pg-2 storage path"); // Change the stanza to NULL, stanzaInit flag to false and make sure helper fails because stanza is required // ------------------------------------------------------------------------------------------------------------------------- diff --git a/test/src/module/storage/remoteTest.c b/test/src/module/storage/remoteTest.c index f4ea3c28b..587436bda 100644 --- a/test/src/module/storage/remoteTest.c +++ b/test/src/module/storage/remoteTest.c @@ -65,13 +65,13 @@ testRun(void) TEST_RESULT_UINT(storageInterface(storageRemote).feature, storageInterface(storageTest).feature, " check features"); TEST_RESULT_BOOL(storageFeature(storageRemote, storageFeaturePath), true, " check path feature"); TEST_RESULT_BOOL(storageFeature(storageRemote, storageFeatureCompress), true, " check compress feature"); - TEST_RESULT_STR_STR(storagePathP(storageRemote, NULL), strNewFmt("%s/repo", testPath()), " check path"); + TEST_RESULT_STR(storagePathP(storageRemote, NULL), strNewFmt("%s/repo", testPath()), " check path"); // Check protocol function directly // ------------------------------------------------------------------------------------------------------------------------- TEST_RESULT_BOOL( storageRemoteProtocol(PROTOCOL_COMMAND_STORAGE_FEATURE_STR, varLstNew(), server), true, "protocol feature"); - TEST_RESULT_STR_STR( + TEST_RESULT_STR( strNewBuf(serverWrite), strNewFmt(".\"%s/repo\"\n.%" PRIu64 "\n{}\n", testPath(), storageInterface(storageTest).feature), "check result"); @@ -106,7 +106,7 @@ testRun(void) TEST_RESULT_BOOL( storageRemoteProtocol(PROTOCOL_COMMAND_STORAGE_EXISTS_STR, paramList, server), true, "protocol exists"); - TEST_RESULT_STR(strPtr(strNewBuf(serverWrite)), "{\"out\":true}\n", "check result"); + TEST_RESULT_STR_Z(strNewBuf(serverWrite), "{\"out\":true}\n", "check result"); bufUsedSet(serverWrite, 0); @@ -152,9 +152,9 @@ testRun(void) TEST_RESULT_UINT(info.timeModified, 1555160000, " check mod time"); TEST_RESULT_PTR(info.linkDestination, NULL, " no link destination"); TEST_RESULT_UINT(info.userId, getuid(), " check user id"); - TEST_RESULT_STR(strPtr(info.user), testUser(), " check user"); + TEST_RESULT_STR_Z(info.user, testUser(), " check user"); TEST_RESULT_UINT(info.groupId, getgid(), " check group id"); - TEST_RESULT_STR(strPtr(info.group), testGroup(), " check group"); + TEST_RESULT_STR_Z(info.group, testGroup(), " check group"); // ------------------------------------------------------------------------------------------------------------------------- TEST_TITLE("file info"); @@ -170,9 +170,9 @@ testRun(void) TEST_RESULT_UINT(info.timeModified, 1555160001, " check mod time"); TEST_RESULT_PTR(info.linkDestination, NULL, " no link destination"); TEST_RESULT_UINT(info.userId, getuid(), " check user id"); - TEST_RESULT_STR(strPtr(info.user), testUser(), " check user"); + TEST_RESULT_STR_Z(info.user, testUser(), " check user"); TEST_RESULT_UINT(info.groupId, getgid(), " check group id"); - TEST_RESULT_STR(strPtr(info.group), testGroup(), " check group"); + TEST_RESULT_STR_Z(info.group, testGroup(), " check group"); // ------------------------------------------------------------------------------------------------------------------------- TEST_TITLE("special info"); @@ -187,9 +187,9 @@ testRun(void) TEST_RESULT_INT(info.mode, 0666, " check mode"); TEST_RESULT_PTR(info.linkDestination, NULL, " no link destination"); TEST_RESULT_UINT(info.userId, getuid(), " check user id"); - TEST_RESULT_STR(strPtr(info.user), testUser(), " check user"); + TEST_RESULT_STR_Z(info.user, testUser(), " check user"); TEST_RESULT_UINT(info.groupId, getgid(), " check group id"); - TEST_RESULT_STR(strPtr(info.group), testGroup(), " check group"); + TEST_RESULT_STR_Z(info.group, testGroup(), " check group"); // ------------------------------------------------------------------------------------------------------------------------- TEST_TITLE("link info"); @@ -204,9 +204,9 @@ testRun(void) TEST_RESULT_INT(info.mode, 0777, " check mode"); TEST_RESULT_STR_Z(info.linkDestination, "../repo/test", " check link destination"); TEST_RESULT_UINT(info.userId, getuid(), " check user id"); - TEST_RESULT_STR(strPtr(info.user), testUser(), " check user"); + TEST_RESULT_STR_Z(info.user, testUser(), " check user"); TEST_RESULT_UINT(info.groupId, getgid(), " check group id"); - TEST_RESULT_STR(strPtr(info.group), testGroup(), " check group"); + TEST_RESULT_STR_Z(info.group, testGroup(), " check group"); // ------------------------------------------------------------------------------------------------------------------------- TEST_TITLE("link info follow"); @@ -219,9 +219,9 @@ testRun(void) TEST_RESULT_INT(info.mode, 0640, " check mode"); TEST_RESULT_PTR(info.linkDestination, NULL, " no link destination"); TEST_RESULT_UINT(info.userId, getuid(), " check user id"); - TEST_RESULT_STR(strPtr(info.user), testUser(), " check user"); + TEST_RESULT_STR_Z(info.user, testUser(), " check user"); TEST_RESULT_UINT(info.groupId, getgid(), " check group id"); - TEST_RESULT_STR(strPtr(info.group), testGroup(), " check group"); + TEST_RESULT_STR_Z(info.group, testGroup(), " check group"); // ------------------------------------------------------------------------------------------------------------------------- TEST_TITLE("protocol storage types that are not tested elsewhere"); @@ -230,7 +230,7 @@ testRun(void) TEST_RESULT_VOID(storageRemoteInfoWriteType(server, storageTypeSpecial), "write special type"); ioWriteFlush(serverWriteIo); - TEST_RESULT_STR(strPtr(strNewBuf(serverWrite)), ".p\n.s\n", "check result"); + TEST_RESULT_STR_Z(strNewBuf(serverWrite), ".p\n.s\n", "check result"); bufUsedSet(serverWrite, 0); @@ -241,7 +241,7 @@ testRun(void) TEST_RESULT_VOID(storageRemoteInfoWrite(server, &info), "write link info"); ioWriteFlush(serverWriteIo); - TEST_RESULT_STR(strPtr(strNewBuf(serverWrite)), ".l\n.0\n.null\n.0\n.null\n.0\n.0\n.\"../\"\n", "check result"); + TEST_RESULT_STR_Z(strNewBuf(serverWrite), ".l\n.0\n.null\n.0\n.null\n.0\n.0\n.\"../\"\n", "check result"); bufUsedSet(serverWrite, 0); @@ -253,7 +253,7 @@ testRun(void) varLstAdd(paramList, varNewBool(false)); TEST_RESULT_BOOL(storageRemoteProtocol(PROTOCOL_COMMAND_STORAGE_INFO_STR, paramList, server), true, "protocol list"); - TEST_RESULT_STR(strPtr(strNewBuf(serverWrite)), "{\"out\":false}\n", "check result"); + TEST_RESULT_STR_Z(strNewBuf(serverWrite), "{\"out\":false}\n", "check result"); bufUsedSet(serverWrite, 0); @@ -265,8 +265,8 @@ testRun(void) varLstAdd(paramList, varNewBool(false)); TEST_RESULT_BOOL(storageRemoteProtocol(PROTOCOL_COMMAND_STORAGE_INFO_STR, paramList, server), true, "protocol list"); - TEST_RESULT_STR( - strPtr(strNewBuf(serverWrite)), + TEST_RESULT_STR_Z( + strNewBuf(serverWrite), hrnReplaceKey( "{\"out\":true}\n" ".f\n.{[user-id]}\n.\"{[user]}\"\n.{[group-id]}\n.\"{[group]}\"\n.416\n.1555160001\n.6\n" @@ -324,8 +324,8 @@ testRun(void) varLstAdd(paramList, varNewStrZ(hrnReplaceKey("{[path]}/repo"))); TEST_RESULT_BOOL(storageRemoteProtocol(PROTOCOL_COMMAND_STORAGE_INFO_LIST_STR, paramList, server), true, "call protocol"); - TEST_RESULT_STR( - strPtr(strNewBuf(serverWrite)), + TEST_RESULT_STR_Z( + strNewBuf(serverWrite), hrnReplaceKey( ".\".\"\n.p\n.{[user-id]}\n.\"{[user]}\"\n.{[group-id]}\n.\"{[group]}\"\n.488\n.1555160000\n" ".\"test\"\n.f\n.{[user-id]}\n.\"{[user]}\"\n.{[group-id]}\n.\"{[group]}\"\n.416\n.1555160001\n.6\n" @@ -348,11 +348,11 @@ testRun(void) // ------------------------------------------------------------------------------------------------------------------------- storagePathCreateP(storageTest, strNew("repo/testy")); - TEST_RESULT_STR(strPtr(strLstJoin(storageListP(storageRemote, NULL), ",")), "testy" , "list path"); + TEST_RESULT_STR_Z(strLstJoin(storageListP(storageRemote, NULL), ","), "testy" , "list path"); storagePathCreateP(storageTest, strNew("repo/testy2\"")); - TEST_RESULT_STR( - strPtr(strLstJoin(strLstSort(storageListP(storageRemote, strNewFmt("%s/repo", testPath())), sortOrderAsc), ",")), + TEST_RESULT_STR_Z( + strLstJoin(strLstSort(storageListP(storageRemote, strNewFmt("%s/repo", testPath())), sortOrderAsc), ","), "testy,testy2\"" , "list 2 paths"); // Check protocol function directly @@ -362,7 +362,7 @@ testRun(void) varLstAdd(paramList, varNewStr(strNew("^testy$"))); TEST_RESULT_BOOL(storageRemoteProtocol(PROTOCOL_COMMAND_STORAGE_LIST_STR, paramList, server), true, "protocol list"); - TEST_RESULT_STR(strPtr(strNewBuf(serverWrite)), "{\"out\":[\"testy\"]}\n", "check result"); + TEST_RESULT_STR_Z(strNewBuf(serverWrite), "{\"out\":[\"testy\"]}\n", "check result"); bufUsedSet(serverWrite, 0); } @@ -430,7 +430,7 @@ testRun(void) TEST_RESULT_BOOL( storageRemoteProtocol(PROTOCOL_COMMAND_STORAGE_OPEN_READ_STR, paramList, server), true, "protocol open read (missing)"); - TEST_RESULT_STR(strPtr(strNewBuf(serverWrite)), "{\"out\":false}\n", "check result"); + TEST_RESULT_STR_Z(strNewBuf(serverWrite), "{\"out\":false}\n", "check result"); bufUsedSet(serverWrite, 0); @@ -456,8 +456,8 @@ testRun(void) TEST_RESULT_BOOL( storageRemoteProtocol(PROTOCOL_COMMAND_STORAGE_OPEN_READ_STR, paramList, server), true, "protocol open read"); - TEST_RESULT_STR( - strPtr(strNewBuf(serverWrite)), + TEST_RESULT_STR_Z( + strNewBuf(serverWrite), "{\"out\":true}\n" "BRBLOCK4\n" "TESTBRBLOCK4\n" @@ -485,8 +485,8 @@ testRun(void) TEST_RESULT_BOOL( storageRemoteProtocol(PROTOCOL_COMMAND_STORAGE_OPEN_READ_STR, paramList, server), true, "protocol open read (sink)"); - TEST_RESULT_STR( - strPtr(strNewBuf(serverWrite)), + TEST_RESULT_STR_Z( + strNewBuf(serverWrite), "{\"out\":true}\n" "BRBLOCK0\n" "{\"out\":{\"buffer\":null,\"hash\":\"bbbcf2c59433f68f22376cd2439d6cd309378df6\",\"sink\":null,\"size\":8}}\n", @@ -536,7 +536,7 @@ testRun(void) TEST_RESULT_BOOL(storageWriteCreatePath(write), true, "path will be created"); TEST_RESULT_UINT(storageWriteModeFile(write), STORAGE_MODE_FILE_DEFAULT, "file mode is default"); TEST_RESULT_UINT(storageWriteModePath(write), STORAGE_MODE_PATH_DEFAULT, "path mode is default"); - TEST_RESULT_STR(strPtr(storageWriteName(write)), hrnReplaceKey("{[path]}/repo/test.txt"), "check file name"); + TEST_RESULT_STR_Z(storageWriteName(write), hrnReplaceKey("{[path]}/repo/test.txt"), "check file name"); TEST_RESULT_BOOL(storageWriteSyncFile(write), true, "file is synced"); TEST_RESULT_BOOL(storageWriteSyncPath(write), true, "path is synced"); @@ -601,14 +601,14 @@ testRun(void) TEST_RESULT_BOOL( storageRemoteProtocol(PROTOCOL_COMMAND_STORAGE_OPEN_WRITE_STR, paramList, server), true, "protocol open write"); - TEST_RESULT_STR( - strPtr(strNewBuf(serverWrite)), + TEST_RESULT_STR_Z( + strNewBuf(serverWrite), "{}\n" - "{\"out\":{\"buffer\":null,\"size\":18}}\n", + "{\"out\":{\"buffer\":null,\"size\":18}}\n", "check result"); - TEST_RESULT_STR( - strPtr(strNewBuf(storageGetP(storageNewReadP(storageTest, strNew("repo/test3.txt"))))), "ABC123456789012345", + TEST_RESULT_STR_Z( + strNewBuf(storageGetP(storageNewReadP(storageTest, strNew("repo/test3.txt")))), "ABC123456789012345", "check file"); bufUsedSet(serverWrite, 0); @@ -632,18 +632,17 @@ testRun(void) TEST_RESULT_BOOL( storageRemoteProtocol(PROTOCOL_COMMAND_STORAGE_OPEN_WRITE_STR, paramList, server), true, "protocol open write"); - TEST_RESULT_STR( - strPtr(strNewBuf(serverWrite)), + TEST_RESULT_STR_Z( + strNewBuf(serverWrite), "{}\n" - "{}\n", + "{}\n", "check result"); bufUsedSet(serverWrite, 0); ioBufferSizeSet(8192); - TEST_RESULT_STR( - strPtr(strNewBuf(storageGetP(storageNewReadP(storageTest, strNew("repo/test4.txt.pgbackrest.tmp"))))), "", - "check file"); + TEST_RESULT_STR_Z( + strNewBuf(storageGetP(storageNewReadP(storageTest, strNew("repo/test4.txt.pgbackrest.tmp")))), "", "check file"); } // ***************************************************************************************************************************** @@ -663,7 +662,7 @@ testRun(void) TEST_RESULT_BOOL( storageRemoteProtocol(PROTOCOL_COMMAND_STORAGE_PATH_EXISTS_STR, paramList, server), true, "protocol path exists"); - TEST_RESULT_STR(strPtr(strNewBuf(serverWrite)), "{\"out\":false}\n", "check result"); + TEST_RESULT_STR_Z(strNewBuf(serverWrite), "{\"out\":false}\n", "check result"); bufUsedSet(serverWrite, 0); } @@ -722,7 +721,7 @@ testRun(void) TEST_ASSIGN(info, storageInfoP(storageTest, strNewFmt("repo/%s", strPtr(path))), " get path info"); TEST_RESULT_BOOL(info.exists, true, " path exists"); TEST_RESULT_INT(info.mode, 0777, " mode is set"); - TEST_RESULT_STR(strPtr(strNewBuf(serverWrite)), "{}\n", " check result"); + TEST_RESULT_STR_Z(strNewBuf(serverWrite), "{}\n", " check result"); bufUsedSet(serverWrite, 0); } @@ -750,7 +749,7 @@ testRun(void) TEST_RESULT_BOOL( storageRemoteProtocol(PROTOCOL_COMMAND_STORAGE_PATH_REMOVE_STR, paramList, server), true, " protocol path remove missing"); - TEST_RESULT_STR(strPtr(strNewBuf(serverWrite)), "{\"out\":false}\n", " check result"); + TEST_RESULT_STR_Z(strNewBuf(serverWrite), "{\"out\":false}\n", " check result"); bufUsedSet(serverWrite, 0); @@ -762,7 +761,7 @@ testRun(void) storageRemoteProtocol(PROTOCOL_COMMAND_STORAGE_PATH_REMOVE_STR, paramList, server), true, " protocol path recurse remove"); TEST_RESULT_BOOL(storagePathExistsP(storageTest, strNewFmt("repo/%s", strPtr(path))), false, " recurse path removed"); - TEST_RESULT_STR(strPtr(strNewBuf(serverWrite)), "{\"out\":true}\n", " check result"); + TEST_RESULT_STR_Z(strNewBuf(serverWrite), "{\"out\":true}\n", " check result"); bufUsedSet(serverWrite, 0); } @@ -802,7 +801,7 @@ testRun(void) TEST_RESULT_BOOL( storageRemoteProtocol(PROTOCOL_COMMAND_STORAGE_REMOVE_STR, paramList, server), true, "protocol file remove - no error on missing"); - TEST_RESULT_STR(strPtr(strNewBuf(serverWrite)), "{}\n", " check result"); + TEST_RESULT_STR_Z(strNewBuf(serverWrite), "{}\n", " check result"); bufUsedSet(serverWrite, 0); // Write the file to the repo via the remote and test the protocol @@ -811,7 +810,7 @@ testRun(void) storageRemoteProtocol(PROTOCOL_COMMAND_STORAGE_REMOVE_STR, paramList, server), true, "protocol file remove"); TEST_RESULT_BOOL(storageExistsP(storageTest, strNewFmt("repo/%s", strPtr(file))), false, " confirm file removed"); - TEST_RESULT_STR(strPtr(strNewBuf(serverWrite)), "{}\n", " check result"); + TEST_RESULT_STR_Z(strNewBuf(serverWrite), "{}\n", " check result"); bufUsedSet(serverWrite, 0); } @@ -835,7 +834,7 @@ testRun(void) TEST_RESULT_BOOL( storageRemoteProtocol(PROTOCOL_COMMAND_STORAGE_PATH_SYNC_STR, paramList, server), true, "protocol path sync"); - TEST_RESULT_STR(strPtr(strNewBuf(serverWrite)), "{}\n", " check result"); + TEST_RESULT_STR_Z(strNewBuf(serverWrite), "{}\n", " check result"); bufUsedSet(serverWrite, 0); paramList = varLstNew(); diff --git a/test/src/module/storage/s3Test.c b/test/src/module/storage/s3Test.c index a96bef64c..279f39b41 100644 --- a/test/src/module/storage/s3Test.c +++ b/test/src/module/storage/s3Test.c @@ -536,15 +536,13 @@ testRun(void) Storage *storage = NULL; TEST_ASSIGN(storage, storageRepoGet(strNew(STORAGE_TYPE_S3), false), "get S3 repo storage"); - TEST_RESULT_STR(strPtr(storage->path), strPtr(path), " check path"); - TEST_RESULT_STR(strPtr(((StorageS3 *)storage->driver)->bucket), strPtr(bucket), " check bucket"); - TEST_RESULT_STR(strPtr(((StorageS3 *)storage->driver)->region), strPtr(region), " check region"); + TEST_RESULT_STR(storage->path, path, " check path"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->bucket, bucket, " check bucket"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->region, region, " check region"); TEST_RESULT_STR( - strPtr(((StorageS3 *)storage->driver)->bucketEndpoint), strPtr(strNewFmt("%s.%s", strPtr(bucket), strPtr(endPoint))), - " check host"); - TEST_RESULT_STR(strPtr(((StorageS3 *)storage->driver)->accessKey), strPtr(accessKey), " check access key"); - TEST_RESULT_STR( - strPtr(((StorageS3 *)storage->driver)->secretAccessKey), strPtr(secretAccessKey), " check secret access key"); + ((StorageS3 *)storage->driver)->bucketEndpoint, strNewFmt("%s.%s", strPtr(bucket), strPtr(endPoint)), " check host"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->accessKey, accessKey, " check access key"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->secretAccessKey, secretAccessKey, " check secret access key"); TEST_RESULT_PTR(((StorageS3 *)storage->driver)->securityToken, NULL, " check security token"); TEST_RESULT_BOOL(storageFeature(storage, storageFeaturePath), false, " check path feature"); TEST_RESULT_BOOL(storageFeature(storage, storageFeatureCompress), false, " check compress feature"); @@ -567,17 +565,14 @@ testRun(void) harnessCfgLoad(cfgCmdArchiveGet, argList); TEST_ASSIGN(storage, storageRepoGet(strNew(STORAGE_TYPE_S3), false), "get S3 repo storage with options"); - TEST_RESULT_STR(strPtr(((StorageS3 *)storage->driver)->bucket), strPtr(bucket), " check bucket"); - TEST_RESULT_STR(strPtr(((StorageS3 *)storage->driver)->region), strPtr(region), " check region"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->bucket, bucket, " check bucket"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->region, region, " check region"); TEST_RESULT_STR( - strPtr(((StorageS3 *)storage->driver)->bucketEndpoint), strPtr(strNewFmt("%s.%s", strPtr(bucket), strPtr(endPoint))), - " check host"); + ((StorageS3 *)storage->driver)->bucketEndpoint, strNewFmt("%s.%s", strPtr(bucket), strPtr(endPoint)), " check host"); TEST_RESULT_UINT(((StorageS3 *)storage->driver)->port, 443, " check port"); - TEST_RESULT_STR(strPtr(((StorageS3 *)storage->driver)->accessKey), strPtr(accessKey), " check access key"); - TEST_RESULT_STR( - strPtr(((StorageS3 *)storage->driver)->secretAccessKey), strPtr(secretAccessKey), " check secret access key"); - TEST_RESULT_STR( - strPtr(((StorageS3 *)storage->driver)->securityToken), strPtr(securityToken), " check security token"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->accessKey, accessKey, " check access key"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->secretAccessKey, secretAccessKey, " check secret access key"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->securityToken, securityToken, " check security token"); // Add a port to the endpoint // ------------------------------------------------------------------------------------------------------------------------- @@ -596,17 +591,14 @@ testRun(void) harnessCfgLoad(cfgCmdArchiveGet, argList); TEST_ASSIGN(storage, storageRepoGet(strNew(STORAGE_TYPE_S3), false), "get S3 repo storage with options"); - TEST_RESULT_STR(strPtr(((StorageS3 *)storage->driver)->bucket), strPtr(bucket), " check bucket"); - TEST_RESULT_STR(strPtr(((StorageS3 *)storage->driver)->region), strPtr(region), " check region"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->bucket, bucket, " check bucket"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->region, region, " check region"); TEST_RESULT_STR( - strPtr(((StorageS3 *)storage->driver)->bucketEndpoint), strPtr(strNewFmt("%s.%s", strPtr(bucket), strPtr(endPoint))), - " check host"); + ((StorageS3 *)storage->driver)->bucketEndpoint, strNewFmt("%s.%s", strPtr(bucket), strPtr(endPoint)), " check host"); TEST_RESULT_UINT(((StorageS3 *)storage->driver)->port, 999, " check port"); - TEST_RESULT_STR(strPtr(((StorageS3 *)storage->driver)->accessKey), strPtr(accessKey), " check access key"); - TEST_RESULT_STR( - strPtr(((StorageS3 *)storage->driver)->secretAccessKey), strPtr(secretAccessKey), " check secret access key"); - TEST_RESULT_STR( - strPtr(((StorageS3 *)storage->driver)->securityToken), strPtr(securityToken), " check security token"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->accessKey, accessKey, " check access key"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->secretAccessKey, secretAccessKey, " check secret access key"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->securityToken, securityToken, " check security token"); // Also add port to the host // ------------------------------------------------------------------------------------------------------------------------- @@ -626,17 +618,14 @@ testRun(void) harnessCfgLoad(cfgCmdArchiveGet, argList); TEST_ASSIGN(storage, storageRepoGet(strNew(STORAGE_TYPE_S3), false), "get S3 repo storage with options"); - TEST_RESULT_STR(strPtr(((StorageS3 *)storage->driver)->bucket), strPtr(bucket), " check bucket"); - TEST_RESULT_STR(strPtr(((StorageS3 *)storage->driver)->region), strPtr(region), " check region"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->bucket, bucket, " check bucket"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->region, region, " check region"); TEST_RESULT_STR( - strPtr(((StorageS3 *)storage->driver)->bucketEndpoint), strPtr(strNewFmt("%s.%s", strPtr(bucket), strPtr(endPoint))), - " check host"); + ((StorageS3 *)storage->driver)->bucketEndpoint, strNewFmt("%s.%s", strPtr(bucket), strPtr(endPoint)), " check host"); TEST_RESULT_UINT(((StorageS3 *)storage->driver)->port, 7777, " check port"); - TEST_RESULT_STR(strPtr(((StorageS3 *)storage->driver)->accessKey), strPtr(accessKey), " check access key"); - TEST_RESULT_STR( - strPtr(((StorageS3 *)storage->driver)->secretAccessKey), strPtr(secretAccessKey), " check secret access key"); - TEST_RESULT_STR( - strPtr(((StorageS3 *)storage->driver)->securityToken), strPtr(securityToken), " check security token"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->accessKey, accessKey, " check access key"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->secretAccessKey, secretAccessKey, " check secret access key"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->securityToken, securityToken, " check security token"); // Use the port option to override both // ------------------------------------------------------------------------------------------------------------------------- @@ -657,23 +646,20 @@ testRun(void) harnessCfgLoad(cfgCmdArchiveGet, argList); TEST_ASSIGN(storage, storageRepoGet(strNew(STORAGE_TYPE_S3), false), "get S3 repo storage with options"); - TEST_RESULT_STR(strPtr(((StorageS3 *)storage->driver)->bucket), strPtr(bucket), " check bucket"); - TEST_RESULT_STR(strPtr(((StorageS3 *)storage->driver)->region), strPtr(region), " check region"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->bucket, bucket, " check bucket"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->region, region, " check region"); TEST_RESULT_STR( - strPtr(((StorageS3 *)storage->driver)->bucketEndpoint), strPtr(strNewFmt("%s.%s", strPtr(bucket), strPtr(endPoint))), - " check host"); + ((StorageS3 *)storage->driver)->bucketEndpoint, strNewFmt("%s.%s", strPtr(bucket), strPtr(endPoint)), " check host"); TEST_RESULT_UINT(((StorageS3 *)storage->driver)->port, 9001, " check port"); - TEST_RESULT_STR(strPtr(((StorageS3 *)storage->driver)->accessKey), strPtr(accessKey), " check access key"); - TEST_RESULT_STR( - strPtr(((StorageS3 *)storage->driver)->secretAccessKey), strPtr(secretAccessKey), " check secret access key"); - TEST_RESULT_STR( - strPtr(((StorageS3 *)storage->driver)->securityToken), strPtr(securityToken), " check security token"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->accessKey, accessKey, " check access key"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->secretAccessKey, secretAccessKey, " check secret access key"); + TEST_RESULT_STR(((StorageS3 *)storage->driver)->securityToken, securityToken, " check security token"); } // ***************************************************************************************************************************** if (testBegin("storageS3DateTime() and storageS3Auth()")) { - TEST_RESULT_STR(strPtr(storageS3DateTime(1491267845)), "20170404T010405Z", "static date"); + TEST_RESULT_STR_Z(storageS3DateTime(1491267845), "20170404T010405Z", "static date"); // ------------------------------------------------------------------------------------------------------------------------- StorageS3 *driver = (StorageS3 *)storageDriver( @@ -689,8 +675,8 @@ testRun(void) TEST_RESULT_VOID( storageS3Auth(driver, strNew("GET"), strNew("/"), query, strNew("20170606T121212Z"), header, HASH_TYPE_SHA256_ZERO_STR), "generate authorization"); - TEST_RESULT_STR( - strPtr(httpHeaderGet(header, strNew("authorization"))), + TEST_RESULT_STR_Z( + httpHeaderGet(header, strNew("authorization")), "AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20170606/us-east-1/s3/aws4_request," "SignedHeaders=host;x-amz-content-sha256;x-amz-date," "Signature=cb03bf1d575c1f8904dabf0e573990375340ab293ef7ad18d049fc1338fd89b3", @@ -702,8 +688,8 @@ testRun(void) TEST_RESULT_VOID( storageS3Auth(driver, strNew("GET"), strNew("/"), query, strNew("20170606T121212Z"), header, HASH_TYPE_SHA256_ZERO_STR), "generate authorization"); - TEST_RESULT_STR( - strPtr(httpHeaderGet(header, strNew("authorization"))), + TEST_RESULT_STR_Z( + httpHeaderGet(header, strNew("authorization")), "AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20170606/us-east-1/s3/aws4_request," "SignedHeaders=host;x-amz-content-sha256;x-amz-date," "Signature=cb03bf1d575c1f8904dabf0e573990375340ab293ef7ad18d049fc1338fd89b3", @@ -714,8 +700,8 @@ testRun(void) TEST_RESULT_VOID( storageS3Auth(driver, strNew("GET"), strNew("/"), query, strNew("20180814T080808Z"), header, HASH_TYPE_SHA256_ZERO_STR), " generate authorization"); - TEST_RESULT_STR( - strPtr(httpHeaderGet(header, strNew("authorization"))), + TEST_RESULT_STR_Z( + httpHeaderGet(header, strNew("authorization")), "AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20180814/us-east-1/s3/aws4_request," "SignedHeaders=host;x-amz-content-sha256;x-amz-date," "Signature=d0fa9c36426eb94cdbaf287a7872c7a3b6c913f523163d0d7debba0758e36f49", @@ -732,8 +718,8 @@ testRun(void) TEST_RESULT_VOID( storageS3Auth(driver, strNew("GET"), strNew("/"), query, strNew("20170606T121212Z"), header, HASH_TYPE_SHA256_ZERO_STR), "generate authorization"); - TEST_RESULT_STR( - strPtr(httpHeaderGet(header, strNew("authorization"))), + TEST_RESULT_STR_Z( + httpHeaderGet(header, strNew("authorization")), "AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20170606/us-east-1/s3/aws4_request," "SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-security-token," "Signature=c12565bf5d7e0ef623f76d66e09e5431aebef803f6a25a01c586525f17e474a3", @@ -760,15 +746,13 @@ testRun(void) TEST_ERROR( storageGetP(storageNewReadP(s3, strNew("file.txt"))), FileMissingError, "unable to open '/file.txt': No such file or directory"); - TEST_RESULT_STR( - strPtr(strNewBuf(storageGetP(storageNewReadP(s3, strNew("file.txt"))))), "this is a sample file", - "get file"); - TEST_RESULT_STR(strPtr(strNewBuf(storageGetP(storageNewReadP(s3, strNew("file0.txt"))))), "", "get zero-length file"); + TEST_RESULT_STR_Z(strNewBuf(storageGetP(storageNewReadP(s3, strNew("file.txt")))), "this is a sample file", "get file"); + TEST_RESULT_STR_Z(strNewBuf(storageGetP(storageNewReadP(s3, strNew("file0.txt")))), "", "get zero-length file"); StorageRead *read = NULL; TEST_ASSIGN(read, storageNewReadP(s3, strNew("file.txt"), .ignoreMissing = true), "new read file"); TEST_RESULT_BOOL(storageReadIgnoreMissing(read), true, " check ignore missing"); - TEST_RESULT_STR(strPtr(storageReadName(read)), "/file.txt", " check name"); + TEST_RESULT_STR_Z(storageReadName(read), "/file.txt", " check name"); TEST_ERROR( ioReadOpen(storageReadIo(read)), ProtocolError, @@ -797,7 +781,7 @@ testRun(void) TEST_RESULT_BOOL(storageWriteCreatePath(write), true, "path will be created"); TEST_RESULT_UINT(storageWriteModeFile(write), 0, "file mode is 0"); TEST_RESULT_UINT(storageWriteModePath(write), 0, "path mode is 0"); - TEST_RESULT_STR(strPtr(storageWriteName(write)), "/file.txt", "check file name"); + TEST_RESULT_STR_Z(storageWriteName(write), "/file.txt", "check file name"); TEST_RESULT_BOOL(storageWriteSyncFile(write), true, "file is synced"); TEST_RESULT_BOOL(storageWriteSyncPath(write), true, "path is synced"); @@ -844,10 +828,10 @@ testRun(void) storageInfoListP(s3, strNew("/path/to"), testStorageInfoListCallback, (void *)memContextCurrent()), "info list files"); TEST_RESULT_UINT(testStorageInfoListSize, 2, " file and path returned"); - TEST_RESULT_STR(strPtr(testStorageInfoList[0].name), "test_path", " check name"); + TEST_RESULT_STR_Z(testStorageInfoList[0].name, "test_path", " check name"); TEST_RESULT_UINT(testStorageInfoList[0].size, 0, " check size"); TEST_RESULT_UINT(testStorageInfoList[0].type, storageTypePath, " check type"); - TEST_RESULT_STR(strPtr(testStorageInfoList[1].name), "test_file", " check name"); + TEST_RESULT_STR_Z(testStorageInfoList[1].name, "test_file", " check name"); TEST_RESULT_UINT(testStorageInfoList[1].size, 787, " check size"); TEST_RESULT_UINT(testStorageInfoList[1].type, storageTypeFile, " check type"); @@ -896,15 +880,15 @@ testRun(void) "RequestTimeTooSkewed" "The difference between the request time and the current time is too large."); - TEST_RESULT_STR(strPtr(strLstJoin(storageListP(s3, strNew("/")), ",")), "path1,test1.txt", "list a file/path in root"); - TEST_RESULT_STR( - strPtr(strLstJoin(storageListP(s3, strNew("/"), .expression = strNew("^test.*$")), ",")), "test1.txt", + TEST_RESULT_STR_Z(strLstJoin(storageListP(s3, strNew("/")), ","), "path1,test1.txt", "list a file/path in root"); + TEST_RESULT_STR_Z( + strLstJoin(storageListP(s3, strNew("/"), .expression = strNew("^test.*$")), ","), "test1.txt", "list a file in root with expression"); - TEST_RESULT_STR( - strPtr(strLstJoin(storageListP(s3, strNew("/path/to")), ",")), + TEST_RESULT_STR_Z( + strLstJoin(storageListP(s3, strNew("/path/to")), ","), "path1,test1.txt,test2.txt,path2,test3.txt", "list files with continuation"); - TEST_RESULT_STR( - strPtr(strLstJoin(storageListP(s3, strNew("/path/to"), .expression = strNew("^test(1|3)")), ",")), + TEST_RESULT_STR_Z( + strLstJoin(storageListP(s3, strNew("/path/to"), .expression = strNew("^test(1|3)")), ","), "test1.path,test1.txt,test3.txt", "list files with expression"); // storageDriverPathRemove()