Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MindSpore
mindinsight
提交
5657491a
M
mindinsight
项目概览
MindSpore
/
mindinsight
通知
7
Star
3
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
mindinsight
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
5657491a
编写于
5月 25, 2020
作者:
M
mindspore-ci-bot
提交者:
Gitee
5月 25, 2020
浏览文件
操作
浏览文件
下载
差异文件
!165 Add more profiler ut
Merge pull request !165 from yuximiao/master
上级
4bdf80be
71866d28
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
160 addition
and
71 deletion
+160
-71
mindinsight/profiler/common/validator/validate.py
mindinsight/profiler/common/validator/validate.py
+119
-71
tests/ut/backend/profiler/test_profiler_restful_api.py
tests/ut/backend/profiler/test_profiler_restful_api.py
+41
-0
未找到文件。
mindinsight/profiler/common/validator/validate.py
浏览文件 @
5657491a
...
...
@@ -14,7 +14,7 @@
# ============================================================================
"""Validate the profiler parameters."""
from
mindinsight.profiler.common.exceptions.exceptions
import
ProfilerParamTypeErrorException
,
\
Profiler
ParamValueErrorException
,
Profiler
DeviceIdException
,
ProfilerOpTypeException
,
\
ProfilerDeviceIdException
,
ProfilerOpTypeException
,
\
ProfilerSortConditionException
,
ProfilerFilterConditionException
,
ProfilerGroupConditionException
from
mindinsight.profiler.common.log
import
logger
as
log
...
...
@@ -63,6 +63,24 @@ def validate_condition(search_condition):
raise
ProfilerOpTypeException
(
"The op_type must in ['aicpu', 'aicore_type', 'aicore_detail']"
)
if
"group_condition"
in
search_condition
:
validata_group_condition
(
search_condition
)
if
"sort_condition"
in
search_condition
:
validate_sort_condition
(
search_condition
,
search_scope
)
if
"filter_condition"
in
search_condition
:
validate_filter_condition
(
search_condition
)
def
validata_group_condition
(
search_condition
):
"""
Verify the group_condition in search_condition is valid or not.
Args:
search_condition (dict): The search condition.
Raises:
ProfilerGroupConditionException: If the group_condition param in search_condition is invalid.
"""
group_condition
=
search_condition
.
get
(
"group_condition"
)
if
not
isinstance
(
group_condition
,
dict
):
raise
ProfilerGroupConditionException
(
"The group condition must be dict."
)
...
...
@@ -87,7 +105,18 @@ def validate_condition(search_condition):
if
offset
>
1000000
:
raise
ProfilerGroupConditionException
(
"The offset must le 1000000."
)
if
"sort_condition"
in
search_condition
:
def
validate_sort_condition
(
search_condition
,
search_scope
):
"""
Verify the sort_condition in search_condition is valid or not.
Args:
search_condition (dict): The search condition.
search_scope (list): The search scope.
Raises:
ProfilerSortConditionException: If the sort_condition param in search_condition is invalid.
"""
sort_condition
=
search_condition
.
get
(
"sort_condition"
)
if
not
isinstance
(
sort_condition
,
dict
):
raise
ProfilerSortConditionException
(
"The sort condition must be dict."
)
...
...
@@ -107,10 +136,29 @@ def validate_condition(search_condition):
if
sorted_type
not
in
sorted_type_param
:
err_msg
=
"The sorted type must be ascending or descending."
log
.
error
(
err_msg
)
raise
ProfilerParamValueError
Exception
(
err_msg
)
raise
ProfilerSortCondition
Exception
(
err_msg
)
if
"filter_condition"
in
search_condition
:
def
validate_filter_condition
(
search_condition
):
"""
Verify the filter_condition in search_condition is valid or not.
Args:
search_condition (dict): The search condition.
Raises:
ProfilerFilterConditionException: If the filter_condition param in search_condition is invalid.
"""
def
validate_op_filter_condition
(
op_condition
):
"""
Verify the op_condition in filter_condition is valid or not.
Args:
op_condition (dict): The op_condition in search_condition.
Raises:
ProfilerFilterConditionException: If the filter_condition param in search_condition is invalid.
"""
if
not
isinstance
(
op_condition
,
dict
):
raise
ProfilerFilterConditionException
(
"Wrong op_type filter condition."
)
for
key
,
value
in
op_condition
.
items
():
...
...
tests/ut/backend/profiler/test_profiler_restful_api.py
浏览文件 @
5657491a
...
...
@@ -78,3 +78,44 @@ class TestProfilerRestfulApi(TestCase):
result
=
response
.
get_json
()
del
result
[
"error_msg"
]
self
.
assertDictEqual
(
expect_result
,
result
)
body_data
=
{
"op_type"
:
"aicore_type"
,
"device_id"
:
1
}
response
=
self
.
app_client
.
post
(
self
.
url
,
data
=
json
.
dumps
(
body_data
))
self
.
assertEqual
(
400
,
response
.
status_code
)
expect_result
=
{
'error_code'
:
'50546182'
,
}
result
=
response
.
get_json
()
del
result
[
"error_msg"
]
self
.
assertDictEqual
(
expect_result
,
result
)
body_data
=
{
"op_type"
:
"aicore_type"
,
"device_id"
:
"1"
,
"group_condition"
:
1
}
response
=
self
.
app_client
.
post
(
self
.
url
,
data
=
json
.
dumps
(
body_data
))
self
.
assertEqual
(
400
,
response
.
status_code
)
expect_result
=
{
'error_code'
:
'50546184'
,
}
result
=
response
.
get_json
()
del
result
[
"error_msg"
]
self
.
assertDictEqual
(
expect_result
,
result
)
body_data
=
{
"op_type"
:
"aicore_type"
,
"device_id"
:
"1"
,
"sort_condition"
:
{
"type"
:
1
}}
response
=
self
.
app_client
.
post
(
self
.
url
,
data
=
json
.
dumps
(
body_data
))
self
.
assertEqual
(
400
,
response
.
status_code
)
expect_result
=
{
'error_code'
:
'50546185'
,
}
result
=
response
.
get_json
()
del
result
[
"error_msg"
]
self
.
assertDictEqual
(
expect_result
,
result
)
body_data
=
{
"op_type"
:
"aicore_type"
,
"device_id"
:
"1"
,
"filter_condition"
:
{
"op_type"
:
{
"in"
:
[
"1"
,
2
]}}}
response
=
self
.
app_client
.
post
(
self
.
url
,
data
=
json
.
dumps
(
body_data
))
self
.
assertEqual
(
400
,
response
.
status_code
)
expect_result
=
{
'error_code'
:
'50546186'
,
}
result
=
response
.
get_json
()
del
result
[
"error_msg"
]
self
.
assertDictEqual
(
expect_result
,
result
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录