From ba27643019be24f2a56437b8be35764d2f1c8054 Mon Sep 17 00:00:00 2001 From: wxyu Date: Tue, 13 Aug 2019 20:18:21 +0800 Subject: [PATCH] MS-348 Add ResourceFactory Test Former-commit-id: 19a40353320c2059090441120f93108ee89f1fc1 --- cpp/CHANGELOG.md | 1 + cpp/src/scheduler/ResourceFactory.cpp | 4 ++-- cpp/src/scheduler/resource/DiskResource.h | 11 +++++++++++ cpp/src/scheduler/resource/GpuResource.h | 11 +++++++++++ cpp/unittest/scheduler/resource_factory_test.cpp | 15 +++++++++++++++ 5 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 cpp/unittest/scheduler/resource_factory_test.cpp diff --git a/cpp/CHANGELOG.md b/cpp/CHANGELOG.md index 592cb79c..a8a849ba 100644 --- a/cpp/CHANGELOG.md +++ b/cpp/CHANGELOG.md @@ -7,6 +7,7 @@ Please mark all change in change log and use the ticket from JIRA. - MS-344 - Add TaskTable Test - MS-345 - Add Node Test - MS-346 - Add some implementation of scheduler to solve compile error +- MS-348 - Add ResourceFactory Test ## Bug diff --git a/cpp/src/scheduler/ResourceFactory.cpp b/cpp/src/scheduler/ResourceFactory.cpp index 65dd488e..496802cd 100644 --- a/cpp/src/scheduler/ResourceFactory.cpp +++ b/cpp/src/scheduler/ResourceFactory.cpp @@ -14,11 +14,11 @@ namespace engine { std::shared_ptr ResourceFactory::Create(const std::string &name, const std::string &alias) { if (name == "disk") { - return std::make_shared(alias); + return std::make_shared(alias); } else if (name == "cpu") { return std::make_shared(alias); } else if (name == "gpu") { - return std::make_shared(alias); + return std::make_shared(alias); } else { return nullptr; } diff --git a/cpp/src/scheduler/resource/DiskResource.h b/cpp/src/scheduler/resource/DiskResource.h index b4ff32e7..77d2e978 100644 --- a/cpp/src/scheduler/resource/DiskResource.h +++ b/cpp/src/scheduler/resource/DiskResource.h @@ -14,6 +14,17 @@ namespace milvus { namespace engine { class DiskResource : public Resource { +public: + explicit + DiskResource(std::string name) + : Resource(std::move(name), ResourceType::DISK) {} + +protected: + void + LoadFile(TaskPtr task) override {} + + void + Process(TaskPtr task) override {} }; } diff --git a/cpp/src/scheduler/resource/GpuResource.h b/cpp/src/scheduler/resource/GpuResource.h index be91950b..74fae13b 100644 --- a/cpp/src/scheduler/resource/GpuResource.h +++ b/cpp/src/scheduler/resource/GpuResource.h @@ -14,6 +14,17 @@ namespace milvus { namespace engine { class GpuResource : public Resource { +public: + explicit + GpuResource(std::string name) + : Resource(std::move(name), ResourceType::GPU) {} + +protected: + void + LoadFile(TaskPtr task) override {} + + void + Process(TaskPtr task) override {} }; } diff --git a/cpp/unittest/scheduler/resource_factory_test.cpp b/cpp/unittest/scheduler/resource_factory_test.cpp new file mode 100644 index 00000000..829fb46c --- /dev/null +++ b/cpp/unittest/scheduler/resource_factory_test.cpp @@ -0,0 +1,15 @@ +#include "scheduler/ResourceFactory.h" +#include + + +using namespace zilliz::milvus::engine; + +TEST(resource_factory_test, create) { + auto disk = ResourceFactory::Create("disk"); + auto cpu = ResourceFactory::Create("cpu"); + auto gpu = ResourceFactory::Create("gpu"); + + ASSERT_TRUE(std::dynamic_pointer_cast(disk)); + ASSERT_TRUE(std::dynamic_pointer_cast(cpu)); + ASSERT_TRUE(std::dynamic_pointer_cast(gpu)); +} -- GitLab