diff --git a/src/agnocastlib/test/integration/test_agnocast_multi_threaded_executor.cpp b/src/agnocastlib/test/integration/test_agnocast_multi_threaded_executor.cpp index bcf1f5ce..99643529 100644 --- a/src/agnocastlib/test/integration/test_agnocast_multi_threaded_executor.cpp +++ b/src/agnocastlib/test/integration/test_agnocast_multi_threaded_executor.cpp @@ -10,11 +10,14 @@ class MultiThreadedAgnocastExecutorNoStarvationTest private: void set_spin_duration_based_on_params(const int agnocast_next_exec_timeout_ms) { - std::chrono::seconds buffer = std::chrono::seconds(3); // Rough value + std::chrono::seconds buffer = std::chrono::seconds(1); // Rough value spin_duration_ = - std::chrono::seconds( - agnocast_next_exec_timeout_ms * (NUM_AGNOCAST_SUB_CBS + NUM_AGNOCAST_CBS_TO_BE_ADDED) / - 1000 / NUMBER_OF_AGNOCAST_THREADS) + + std::max( + std::chrono::seconds( + agnocast_next_exec_timeout_ms * (NUM_AGNOCAST_SUB_CBS + NUM_AGNOCAST_CBS_TO_BE_ADDED) / + 1000 / NUMBER_OF_AGNOCAST_THREADS), + std::chrono::duration_cast( + PUB_PERIOD * NUM_AGNOCAST_CBS_TO_BE_ADDED)) + buffer; } diff --git a/src/agnocastlib/test/integration/test_agnocast_single_threaded_executor.cpp b/src/agnocastlib/test/integration/test_agnocast_single_threaded_executor.cpp index f5e772a8..1e66caba 100644 --- a/src/agnocastlib/test/integration/test_agnocast_single_threaded_executor.cpp +++ b/src/agnocastlib/test/integration/test_agnocast_single_threaded_executor.cpp @@ -9,10 +9,13 @@ class SingleThreadedAgnocastExecutorNoStarvationTest : public ::testing::TestWit private: void set_spin_duration_based_on_params(const int next_exec_timeout_ms) { - std::chrono::seconds buffer = std::chrono::seconds(3); // Rough value + std::chrono::seconds buffer = std::chrono::seconds(1); // Rough value spin_duration_ = - std::chrono::seconds( - next_exec_timeout_ms * (NUM_AGNOCAST_SUB_CBS + NUM_AGNOCAST_CBS_TO_BE_ADDED) / 1000) + + std::max( + std::chrono::seconds( + next_exec_timeout_ms * (NUM_AGNOCAST_SUB_CBS + NUM_AGNOCAST_CBS_TO_BE_ADDED) / 1000), + std::chrono::duration_cast( + PUB_PERIOD * NUM_AGNOCAST_CBS_TO_BE_ADDED)) + buffer; }