From e28074bac04a5af58293ec95aea63fcb58a4b943 Mon Sep 17 00:00:00 2001 From: Dmitrii Petukhov Date: Mon, 13 Jan 2025 11:40:07 +0200 Subject: [PATCH] Refactor Parameters class - test creator helper function Signed-off-by: Dmitrii Petukhov --- ..._bmqstoragetool_journalfileprocessor.t.cpp | 108 +++++++----------- .../m_bmqstoragetool_parameters.cpp | 2 +- 2 files changed, 43 insertions(+), 67 deletions(-) diff --git a/src/applications/bmqstoragetool/m_bmqstoragetool_journalfileprocessor.t.cpp b/src/applications/bmqstoragetool/m_bmqstoragetool_journalfileprocessor.t.cpp index 243315b479..47bce0e70c 100644 --- a/src/applications/bmqstoragetool/m_bmqstoragetool_journalfileprocessor.t.cpp +++ b/src/applications/bmqstoragetool/m_bmqstoragetool_journalfileprocessor.t.cpp @@ -165,6 +165,18 @@ void outputGuidString(bsl::ostream& ostream, ostream << bsl::endl; } +/// Helper function to instantiate test Parameters +Parameters createTestParameters() +{ + Parameters params( + CommandLineArguments(bmqtst::TestHelperUtil::allocator()), + bmqtst::TestHelperUtil::allocator()); + + params.d_processRecordTypes.d_message = true; + + return params; +}; + } // close unnamed namespace static void test1_breathingTest() @@ -189,9 +201,7 @@ static void test1_breathingTest() journalFile.addAllTypesRecords(&records); // Prepare parameters - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); // Prepare file manager bslma::ManagedPtr fileManager( @@ -250,9 +260,7 @@ static void test2_searchGuidTest() journalFile.addAllTypesRecords(&records); // Prepare parameters - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); // Get list of message GUIDs for searching bsl::vector& searchGuids = params.d_guid; @@ -321,9 +329,7 @@ static void test3_searchNonExistingGuidTest() journalFile.addAllTypesRecords(&records); // Prepare parameters - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); // Get list of message GUIDs for searching bsl::vector& searchGuids = params.d_guid; @@ -386,9 +392,7 @@ static void test4_searchExistingAndNonExistingGuidTest() journalFile.addAllTypesRecords(&records); // Prepare parameters - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); // Get list of message GUIDs for searching bsl::vector& searchGuids = params.d_guid; @@ -476,11 +480,10 @@ static void test5_searchOutstandingMessagesTest() true); // Configure parameters to search outstanding messages - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); params.d_outstanding = true; + // Prepare file manager bslma::ManagedPtr fileManager( new (*bmqtst::TestHelperUtil::allocator()) @@ -543,9 +546,7 @@ static void test6_searchConfirmedMessagesTest() false); // Configure parameters to search confirmed messages - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); params.d_confirmed = true; // Prepare file manager @@ -613,9 +614,7 @@ static void test7_searchPartiallyConfirmedMessagesTest() &partiallyConfirmedGUIDS); // Configure parameters to search partially confirmed messages - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); params.d_partiallyConfirmed = true; // Prepare file manager @@ -683,9 +682,7 @@ static void test8_searchMessagesByQueueKeyTest() queueKey2); // Configure parameters to search messages by queueKey1 - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); params.d_queueKey.push_back(queueKey1); // Prepare file manager @@ -755,9 +752,7 @@ static void test9_searchMessagesByQueueNameTest() } QueueMap qMap(bmqtst::TestHelperUtil::allocator()); - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); params.d_queueName.push_back("queue1"); params.d_queueMap.insert(queueInfo); @@ -832,9 +827,7 @@ static void test10_searchMessagesByQueueNameAndQueueKeyTest() } QueueMap qMap(bmqtst::TestHelperUtil::allocator()); - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); params.d_queueName.push_back("queue1"); params.d_queueMap.insert(queueInfo); @@ -893,9 +886,7 @@ static void test11_searchMessagesByTimestamp() const bsls::Types::Uint64 ts2 = 40 * journalFile.timestampIncrement(); // Configure parameters to search messages by timestamps - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); params.d_range.d_timestampGt = ts1; params.d_range.d_timestampLt = ts2; @@ -972,9 +963,7 @@ static void test12_printMessagesDetailsTest() false); // Configure parameters to print message details - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); params.d_details = true; // Prepare file manager @@ -1107,9 +1096,7 @@ static void test13_searchMessagesWithPayloadDumpTest() // Configure parameters to search confirmed messages GUIDs with dumping // messages payload. - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); params.d_confirmed = true; params.d_dumpPayload = true; @@ -1198,9 +1185,7 @@ static void test14_summaryTest() &partiallyConfirmedGUIDS); // Configure parameters to output summary - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); params.d_summary = true; // Prepare file manager @@ -1549,9 +1534,7 @@ static void test17_searchMessagesBySequenceNumbersRange() const CompositeSequenceNumber seqNumLt(4, 6); // Configure parameters to search messages by sequence number range - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); params.d_range.d_seqNumGt = seqNumGt; params.d_range.d_seqNumLt = seqNumLt; @@ -1624,9 +1607,7 @@ static void test18_searchMessagesByOffsetsRange() mqbs::FileStoreProtocol::k_JOURNAL_RECORD_SIZE * 35 + k_HEADER_SIZE; // Configure parameters to search messages by offsets - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); params.d_range.d_offsetGt = offsetGt; params.d_range.d_offsetLt = offsetLt; @@ -1697,13 +1678,13 @@ static void test19_searchQueueOpRecords() mqbs::FileStoreProtocol::k_JOURNAL_RECORD_SIZE * 35 + k_HEADER_SIZE; // Configure parameters to search queueOp records by offsets - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); + params.d_processRecordTypes.d_message = false; params.d_processRecordTypes.d_queueOp = true; params.d_range.d_offsetGt = offsetGt; params.d_range.d_offsetLt = offsetLt; + // Prepare file manager bslma::ManagedPtr fileManager( new (*bmqtst::TestHelperUtil::allocator()) @@ -1775,13 +1756,13 @@ static void test20_searchJournalOpRecords() mqbs::FileStoreProtocol::k_JOURNAL_RECORD_SIZE * 35 + k_HEADER_SIZE; // Configure parameters to search journalOp records by offsets - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); + params.d_processRecordTypes.d_message = false; params.d_processRecordTypes.d_journalOp = true; params.d_range.d_offsetGt = offsetGt; params.d_range.d_offsetLt = offsetLt; + // Prepare file manager bslma::ManagedPtr fileManager( new (*bmqtst::TestHelperUtil::allocator()) @@ -1853,9 +1834,8 @@ static void test21_searchAllTypesRecords() mqbs::FileStoreProtocol::k_JOURNAL_RECORD_SIZE * 35 + k_HEADER_SIZE; // Configure parameters to search journalOp records by offsets - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); + params.d_processRecordTypes.d_message = true; params.d_processRecordTypes.d_queueOp = true; params.d_processRecordTypes.d_journalOp = true; @@ -1954,9 +1934,8 @@ static void test22_searchQueueOpRecordsByOffset() const size_t k_HEADER_OFFSET = sizeof(mqbs::FileHeader) / 2; // Configure parameters to search queueOp records - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); + params.d_processRecordTypes.d_message = false; params.d_processRecordTypes.d_queueOp = true; @@ -2029,9 +2008,8 @@ static void test23_searchJournalOpRecordsBySeqNumber() journalFile.addAllTypesRecords(&records); // Configure parameters to search journalOp - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); + params.d_processRecordTypes.d_message = false; params.d_processRecordTypes.d_journalOp = true; @@ -2106,9 +2084,7 @@ static void test24_summaryWithQueueDetailsTest() &partiallyConfirmedGUIDS); // Configure parameters to output summary - Parameters params( - CommandLineArguments(bmqtst::TestHelperUtil::allocator()), - bmqtst::TestHelperUtil::allocator()); + Parameters params = createTestParameters(); params.d_summary = true; params.d_minRecordsPerQueue = 0; diff --git a/src/applications/bmqstoragetool/m_bmqstoragetool_parameters.cpp b/src/applications/bmqstoragetool/m_bmqstoragetool_parameters.cpp index 2fff0d9479..d093a65789 100644 --- a/src/applications/bmqstoragetool/m_bmqstoragetool_parameters.cpp +++ b/src/applications/bmqstoragetool/m_bmqstoragetool_parameters.cpp @@ -346,7 +346,7 @@ Parameters::ProcessRecordTypes::ProcessRecordTypes(bool enableDefault) Parameters::Parameters(const CommandLineArguments& arguments, bslma::Allocator* allocator) -: d_processRecordTypes(true) +: d_processRecordTypes(false) , d_queueMap(allocator) , d_range() , d_guid(arguments.d_guid, allocator)