aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton/server/initialize_threads_calculator/initialize_threads_calculator_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchcore/src/tests/proton/server/initialize_threads_calculator/initialize_threads_calculator_test.cpp')
-rw-r--r--searchcore/src/tests/proton/server/initialize_threads_calculator/initialize_threads_calculator_test.cpp23
1 files changed, 20 insertions, 3 deletions
diff --git a/searchcore/src/tests/proton/server/initialize_threads_calculator/initialize_threads_calculator_test.cpp b/searchcore/src/tests/proton/server/initialize_threads_calculator/initialize_threads_calculator_test.cpp
index 7aad69076ca..fc899f3a8c7 100644
--- a/searchcore/src/tests/proton/server/initialize_threads_calculator/initialize_threads_calculator_test.cpp
+++ b/searchcore/src/tests/proton/server/initialize_threads_calculator/initialize_threads_calculator_test.cpp
@@ -16,7 +16,8 @@ public:
void
expect_successful_init(uint32_t exp_threads)
{
- InitializeThreadsCalculator i("tmp", 9);
+ constexpr uint32_t cfg_threads = 9;
+ InitializeThreadsCalculator i(HwInfo::Cpu(cfg_threads), "tmp", cfg_threads);
EXPECT_EQ(exp_threads, i.num_threads());
EXPECT_TRUE(i.threads().get() != nullptr);
EXPECT_EQ(exp_threads, dynamic_cast<const ThreadStackExecutor&>(*i.threads()).getNumThreads());
@@ -27,7 +28,7 @@ expect_successful_init(uint32_t exp_threads)
void
expect_aborted_init(uint32_t exp_threads, uint32_t cfg_threads = 9)
{
- InitializeThreadsCalculator i("tmp", cfg_threads);
+ InitializeThreadsCalculator i(HwInfo::Cpu(cfg_threads), "tmp", cfg_threads);
EXPECT_EQ(exp_threads, i.num_threads());
EXPECT_TRUE(i.threads().get() != nullptr);
EXPECT_EQ(exp_threads, dynamic_cast<const ThreadStackExecutor&>(*i.threads()).getNumThreads());
@@ -53,7 +54,7 @@ TEST_F(InitializeThreadsCalculatorTest, initialize_threads_cut_in_half_when_init
TEST_F(InitializeThreadsCalculatorTest, zero_initialize_threads_is_special)
{
{
- InitializeThreadsCalculator i("tmp", 0);
+ InitializeThreadsCalculator i(HwInfo::Cpu(10), "tmp", 0);
EXPECT_EQ(0, i.num_threads());
EXPECT_TRUE(i.threads().get() == nullptr);
}
@@ -61,4 +62,20 @@ TEST_F(InitializeThreadsCalculatorTest, zero_initialize_threads_is_special)
expect_aborted_init(1, 0);
}
+void
+expect_lower(uint32_t cores, uint32_t configured) {
+ InitializeThreadsCalculator i(HwInfo::Cpu(cores), "tmp", configured);
+ EXPECT_EQ(std::min(cores, configured), i.num_threads());
+ i.init_done();
+}
+
+TEST_F(InitializeThreadsCalculatorTest, lower_of_wanted_and_cores)
+{
+ expect_lower(1, 7);
+ expect_lower(6, 7);
+ expect_lower(7, 7);
+ expect_lower(7, 6);
+ expect_lower(7, 1);
+}
+
GTEST_MAIN_RUN_ALL_TESTS()