This is an automated email from the ASF dual-hosted git repository. szaszm pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
commit cfe582672f85c36fca39326e517ec4eae63a9f22 Author: Ferenc Gerlits <[email protected]> AuthorDate: Tue Dec 13 16:10:33 2022 +0100 MINIFICPP-1932 Increase the timeout in TailFileTest from 2s to the default 10s It's not actually going to wait 10s, as it re-checks every 100ms if the condition has been satisfied yet. Closes #1469 Signed-off-by: Marton Szasz <[email protected]> --- .../tests/integration/TailFileTest.cpp | 7 ++----- libminifi/include/utils/IntegrationTestUtils.h | 19 ++++--------------- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/extensions/standard-processors/tests/integration/TailFileTest.cpp b/extensions/standard-processors/tests/integration/TailFileTest.cpp index 01df3836b..470c36566 100644 --- a/extensions/standard-processors/tests/integration/TailFileTest.cpp +++ b/extensions/standard-processors/tests/integration/TailFileTest.cpp @@ -19,14 +19,11 @@ #undef NDEBUG #include <cassert> #include <cstdio> -#include <memory> #include <string> #include <iostream> -#include "core/logging/Logger.h" #include "FlowController.h" #include "TestBase.h" -#include "Catch.h" #include "processors/TailFile.h" #include "processors/LogAttribute.h" #include "state/ProcessorController.h" @@ -38,7 +35,7 @@ using namespace std::literals::chrono_literals; class TailFileTestHarness : public IntegrationBase { public: - TailFileTestHarness() : IntegrationBase(2s) { + TailFileTestHarness() { dir = testController.createTempDirectory(); statefile = dir + utils::file::get_separator(); @@ -67,7 +64,7 @@ class TailFileTestHarness : public IntegrationBase { void runAssertions() override { using org::apache::nifi::minifi::utils::verifyLogLinePresenceInPollTime; - assert(verifyLogLinePresenceInPollTime(std::chrono::milliseconds(wait_time_), + assert(verifyLogLinePresenceInPollTime(wait_time_, "5 flowfiles were received from TailFile input", "Looking for delimiter 0xA", "li\\ne5")); diff --git a/libminifi/include/utils/IntegrationTestUtils.h b/libminifi/include/utils/IntegrationTestUtils.h index 04ee92aeb..4d96132b7 100644 --- a/libminifi/include/utils/IntegrationTestUtils.h +++ b/libminifi/include/utils/IntegrationTestUtils.h @@ -24,11 +24,7 @@ #include "../../../libminifi/test/TestBase.h" -namespace org { -namespace apache { -namespace nifi { -namespace minifi { -namespace utils { +namespace org::apache::nifi::minifi::utils { template <class Rep, class Period, typename Fun> bool verifyEventHappenedInPollTime( @@ -47,18 +43,11 @@ bool verifyEventHappenedInPollTime( template <class Rep, class Period, typename ...String> bool verifyLogLinePresenceInPollTime(const std::chrono::duration<Rep, Period>& wait_duration, String&&... patterns) { - // gcc before 4.9 does not support capturing parameter packs in lambdas: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41933 - // Once we support gcc >= 4.9 only, this vector will no longer be necessary, we'll be able to iterate on the parameter pack directly. - std::vector<std::string> pattern_list{std::forward<String>(patterns)...}; - auto check = [&] { + auto check = [&patterns...] { const std::string logs = LogTestController::getInstance().log_output.str(); - return std::all_of(pattern_list.cbegin(), pattern_list.cend(), [&logs] (const std::string& pattern) { return logs.find(pattern) != std::string::npos; }); + return ((logs.find(patterns) != std::string::npos) && ...); }; return verifyEventHappenedInPollTime(wait_duration, check); } -} // namespace utils -} // namespace minifi -} // namespace nifi -} // namespace apache -} // namespace org +} // namespace org::apache::nifi::minifi::utils
