Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
milvus
提交
741035b4
milvus
项目概览
BaiXuePrincess
/
milvus
与 Fork 源项目一致
从无法访问的项目Fork
通知
7
Star
4
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
milvus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
741035b4
编写于
8月 13, 2019
作者:
W
wxyu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
MS-345 Add Node Test
Former-commit-id: 71877f19888587a8ede17babdd332e852f587731
上级
065b8d49
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
82 addition
and
8 deletion
+82
-8
CHANGELOGS.md
CHANGELOGS.md
+0
-2
cpp/CHANGELOG.md
cpp/CHANGELOG.md
+3
-0
cpp/src/scheduler/resource/Node.h
cpp/src/scheduler/resource/Node.h
+12
-6
cpp/unittest/scheduler/CMakeLists.txt
cpp/unittest/scheduler/CMakeLists.txt
+1
-0
cpp/unittest/scheduler/node_test.cpp
cpp/unittest/scheduler/node_test.cpp
+66
-0
未找到文件。
CHANGELOGS.md
浏览文件 @
741035b4
...
...
@@ -19,5 +19,3 @@ Please mark all change in change log and use the ticket from JIRA.
-
MS-202 - Add Milvus Jenkins project email notification
-
MS-215 - Add Milvus cluster CI/CD groovy file
-
MS-277 - Update CUDA Version to V10.1
-
MS-336 - Scheduler interface
-
MS-344 - Add TaskTable Test
cpp/CHANGELOG.md
浏览文件 @
741035b4
...
...
@@ -3,6 +3,9 @@
Please mark all change in change log and use the ticket from JIRA.
# Milvus 0.4.0 (2019-07-28)
-
MS-336 - Scheduler interface
-
MS-344 - Add TaskTable Test
-
MS-345 - Add Node Test
## Bug
...
...
cpp/src/scheduler/resource/Node.h
浏览文件 @
741035b4
...
...
@@ -21,6 +21,9 @@ class Node;
using
NeighbourNodePtr
=
std
::
weak_ptr
<
Node
>
;
struct
Neighbour
{
Neighbour
(
NeighbourNodePtr
nei
,
Connection
conn
)
:
neighbour_node
(
nei
),
connection
(
conn
)
{}
NeighbourNodePtr
neighbour_node
;
Connection
connection
;
};
...
...
@@ -29,18 +32,18 @@ class Node {
public:
void
AddNeighbour
(
const
NeighbourNodePtr
&
neighbour_node
,
Connection
&
connection
)
{
Neighbour
neighbour
{.
neighbour_node
=
neighbour_node
,
.
connection
=
connection
}
;
neighbours_
.
push
_back
(
neighbour
);
Neighbour
neighbour
(
neighbour_node
,
connection
)
;
neighbours_
.
emplace
_back
(
neighbour
);
}
void
DelNeighbour
(
NeighbourNodePtr
&
neighbour_ptr
);
DelNeighbour
(
NeighbourNodePtr
neighbour_ptr
)
{}
bool
IsNeighbour
(
NeighbourNodePtr
&
neighbour_ptr
);
IsNeighbour
(
NeighbourNodePtr
neighbour_ptr
)
{}
std
::
vector
<
NeighbourNodePtr
>
GetNeighbours
()
;
const
std
::
vector
<
Neighbour
>
&
GetNeighbours
()
{}
public:
std
::
string
...
...
@@ -50,6 +53,9 @@ private:
std
::
vector
<
Neighbour
>
neighbours_
;
};
using
NodePtr
=
std
::
shared_ptr
<
Node
>
;
using
NodeWPtr
=
std
::
weak_ptr
<
Node
>
;
}
}
}
cpp/unittest/scheduler/CMakeLists.txt
浏览文件 @
741035b4
...
...
@@ -15,6 +15,7 @@ include_directories(/usr/include/mysql)
#add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY)
set
(
scheduler_test_src
${
unittest_srcs
}
${
scheduler_resource_srcs
}
${
scheduler_srcs
}
${
test_srcs
}
...
...
cpp/unittest/scheduler/node_test.cpp
0 → 100644
浏览文件 @
741035b4
#include "scheduler/resource/Node.h"
#include <gtest/gtest.h>
using
namespace
zilliz
::
milvus
::
engine
;
class
NodeTest
:
public
::
testing
::
Test
{
protected:
void
SetUp
()
override
{
node1_
=
std
::
make_shared
<
Node
>
();
node2_
=
std
::
make_shared
<
Node
>
();
auto
pcie
=
Connection
(
"PCIe"
,
11.0
);
node1_
->
AddNeighbour
(
node2_
,
pcie
);
node2_
->
AddNeighbour
(
node1_
,
pcie
);
}
NodePtr
node1_
;
NodePtr
node2_
;
NodePtr
node3_
;
NodePtr
node4_
;
};
TEST_F
(
NodeTest
,
add_neighbour
)
{
ASSERT_EQ
(
node3_
->
GetNeighbours
().
size
(),
0
);
ASSERT_EQ
(
node4_
->
GetNeighbours
().
size
(),
0
);
auto
pcie
=
Connection
(
"PCIe"
,
11.0
);
node3_
->
AddNeighbour
(
node4_
,
pcie
);
node4_
->
AddNeighbour
(
node3_
,
pcie
);
ASSERT_EQ
(
node3_
->
GetNeighbours
().
size
(),
1
);
ASSERT_EQ
(
node4_
->
GetNeighbours
().
size
(),
1
);
}
TEST_F
(
NodeTest
,
del_neighbour
)
{
ASSERT_EQ
(
node1_
->
GetNeighbours
().
size
(),
1
);
ASSERT_EQ
(
node2_
->
GetNeighbours
().
size
(),
1
);
ASSERT_EQ
(
node3_
->
GetNeighbours
().
size
(),
0
);
node1_
->
DelNeighbour
(
node2_
);
node2_
->
DelNeighbour
(
node2_
);
node3_
->
DelNeighbour
(
node2_
);
ASSERT_EQ
(
node1_
->
GetNeighbours
().
size
(),
0
);
ASSERT_EQ
(
node2_
->
GetNeighbours
().
size
(),
1
);
ASSERT_EQ
(
node3_
->
GetNeighbours
().
size
(),
0
);
}
TEST_F
(
NodeTest
,
is_neighbour
)
{
ASSERT_TRUE
(
node1_
->
IsNeighbour
(
node2_
));
ASSERT_TRUE
(
node2_
->
IsNeighbour
(
node1_
));
ASSERT_FALSE
(
node1_
->
IsNeighbour
(
node3_
));
ASSERT_FALSE
(
node2_
->
IsNeighbour
(
node3_
));
ASSERT_FALSE
(
node3_
->
IsNeighbour
(
node1_
));
ASSERT_FALSE
(
node3_
->
IsNeighbour
(
node2_
));
}
TEST_F
(
NodeTest
,
get_neighbours
)
{
auto
node1_neighbours
=
node1_
->
GetNeighbours
();
ASSERT_EQ
(
node1_neighbours
.
size
(),
1
);
ASSERT_EQ
(
node1_neighbours
[
0
].
neighbour_node
.
lock
(),
node2_
);
auto
node2_neighbours
=
node2_
->
GetNeighbours
();
ASSERT_EQ
(
node2_neighbours
.
size
(),
1
);
ASSERT_EQ
(
node2_neighbours
[
0
].
neighbour_node
.
lock
(),
node1_
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录