From 7b839d45301f14051c692707969a0b8598ca36fa Mon Sep 17 00:00:00 2001 From: wxyu Date: Mon, 9 Sep 2019 14:31:41 +0800 Subject: [PATCH] MS-524 Add some unittest in event_test and resource_test Former-commit-id: 7ed6988953724f2105da11ffaa4254c0276955d7 --- cpp/CHANGELOG.md | 1 + cpp/src/scheduler/event/Event.h | 6 ++--- cpp/unittest/scheduler/event_test.cpp | 20 +++++++--------- cpp/unittest/scheduler/resource_test.cpp | 30 ++++++++++++++++++++++++ 4 files changed, 41 insertions(+), 16 deletions(-) diff --git a/cpp/CHANGELOG.md b/cpp/CHANGELOG.md index 425538826a..3c81868e32 100644 --- a/cpp/CHANGELOG.md +++ b/cpp/CHANGELOG.md @@ -103,6 +103,7 @@ Please mark all change in change log and use the ticket from JIRA. - MS-518 - Add schedinst_test in scheduler - MS-519 - Add event_test in scheduler - MS-520 - Update resource_test in scheduler +- MS-524 - Add some unittest in event_test and resource_test ## New Feature - MS-343 - Implement ResourceMgr diff --git a/cpp/src/scheduler/event/Event.h b/cpp/src/scheduler/event/Event.h index 777bede842..c022f96788 100644 --- a/cpp/src/scheduler/event/Event.h +++ b/cpp/src/scheduler/event/Event.h @@ -32,10 +32,8 @@ public: return type_; } - inline virtual std::string - Dump() const { - return ""; - } + virtual std::string + Dump() const = 0; friend std::ostream &operator<<(std::ostream &out, const Event &event); diff --git a/cpp/unittest/scheduler/event_test.cpp b/cpp/unittest/scheduler/event_test.cpp index 7de820c83b..d2814b4da1 100644 --- a/cpp/unittest/scheduler/event_test.cpp +++ b/cpp/unittest/scheduler/event_test.cpp @@ -19,27 +19,24 @@ TEST(EventTest, start_up_event) { ResourceWPtr res(ResourcePtr(nullptr)); auto event = std::make_shared(res); ASSERT_FALSE(event->Dump().empty()); - std::stringstream ss; - ss << event; - ASSERT_FALSE(ss.str().empty()); + std::cout << *event; + std::cout << *EventPtr(event); } TEST(EventTest, load_completed_event) { ResourceWPtr res(ResourcePtr(nullptr)); auto event = std::make_shared(res, nullptr); ASSERT_FALSE(event->Dump().empty()); - std::stringstream ss; - ss << event; - ASSERT_FALSE(ss.str().empty()); + std::cout << *event; + std::cout << *EventPtr(event); } TEST(EventTest, finish_task_event) { ResourceWPtr res(ResourcePtr(nullptr)); auto event = std::make_shared(res, nullptr); ASSERT_FALSE(event->Dump().empty()); - std::stringstream ss; - ss << event; - ASSERT_FALSE(ss.str().empty()); + std::cout << *event; + std::cout << *EventPtr(event); } @@ -47,9 +44,8 @@ TEST(EventTest, tasktable_updated_event) { ResourceWPtr res(ResourcePtr(nullptr)); auto event = std::make_shared(res); ASSERT_FALSE(event->Dump().empty()); - std::stringstream ss; - ss << event; - ASSERT_FALSE(ss.str().empty()); + std::cout << *event; + std::cout << *EventPtr(event); } } diff --git a/cpp/unittest/scheduler/resource_test.cpp b/cpp/unittest/scheduler/resource_test.cpp index 88774df5e7..03500941b7 100644 --- a/cpp/unittest/scheduler/resource_test.cpp +++ b/cpp/unittest/scheduler/resource_test.cpp @@ -100,9 +100,11 @@ protected: disk_resource_ = ResourceFactory::Create("ssd", "DISK", 0); cpu_resource_ = ResourceFactory::Create("cpu", "CPU", 0); gpu_resource_ = ResourceFactory::Create("gpu", "GPU", 0); + test_resource_ = std::make_shared("test", 0, true, true); resources_.push_back(disk_resource_); resources_.push_back(cpu_resource_); resources_.push_back(gpu_resource_); + resources_.push_back(test_resource_); auto subscriber = [&](EventPtr event) { if (event->Type() == EventType::LOAD_COMPLETED) { @@ -125,10 +127,12 @@ protected: disk_resource_->RegisterSubscriber(subscriber); cpu_resource_->RegisterSubscriber(subscriber); gpu_resource_->RegisterSubscriber(subscriber); + test_resource_->RegisterSubscriber(subscriber); disk_resource_->Start(); cpu_resource_->Start(); gpu_resource_->Start(); + test_resource_->Start(); } void @@ -136,6 +140,7 @@ protected: disk_resource_->Stop(); cpu_resource_->Stop(); gpu_resource_->Stop(); + test_resource_->Stop(); } void @@ -153,6 +158,7 @@ protected: ResourcePtr disk_resource_; ResourcePtr cpu_resource_; ResourcePtr gpu_resource_; + ResourcePtr test_resource_; std::vector resources_; uint64_t load_count_ = 0; uint64_t exec_count_ = 0; @@ -236,6 +242,30 @@ TEST_F(ResourceAdvanceTest, gpu_resource_test) { } } +TEST_F(ResourceAdvanceTest, test_resource_test) { + const uint64_t NUM = 100; + std::vector> tasks; + TableFileSchemaPtr dummy = nullptr; + for (uint64_t i = 0; i < NUM; ++i) { + auto task = std::make_shared(dummy); + tasks.push_back(task); + test_resource_->task_table().Put(task); + } + + test_resource_->WakeupLoader(); + WaitLoader(NUM); + + for (uint64_t i = 0; i < NUM; ++i) { + ASSERT_EQ(tasks[i]->load_count_, 1); + } + + test_resource_->WakeupExecutor(); + WaitExecutor(NUM); + + for (uint64_t i = 0; i < NUM; ++i) { + ASSERT_EQ(tasks[i]->exec_count_, 1); + } +} } }