Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小代码2016
tinyxml2-study
提交
a08cb7c7
tinyxml2-study
项目概览
小代码2016
/
tinyxml2-study
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
1
Wiki
分析
仓库
DevOps
项目成员
Pages
tinyxml2-study
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
1
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a08cb7c7
编写于
2月 01, 2023
作者:
小代码2016
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
从路径加载 xml
上级
f2126927
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
53 addition
and
26 deletion
+53
-26
cm.py
cm.py
+15
-5
include/khl_xml_config/khl_xml_config.hpp
include/khl_xml_config/khl_xml_config.hpp
+1
-1
include/khl_xml_config/khl_xml_config.hpp.in
include/khl_xml_config/khl_xml_config.hpp.in
+1
-1
test/test_tinyxml2_load.cpp
test/test_tinyxml2_load.cpp
+35
-0
test/testmain.cpp
test/testmain.cpp
+1
-19
未找到文件。
cm.py
浏览文件 @
a08cb7c7
...
...
@@ -20,6 +20,7 @@ SUB_COMMAND_RE_BUILD = 'rebuild'
SUB_COMMAND_RUN
=
'run'
SUB_COMMAND_TEST
=
'test'
ARG_TEST_TC
=
'tc'
SUB_COMMAND_CLEAN
=
'clean'
...
...
@@ -38,6 +39,7 @@ def register_run_args():
def
register_test_args
():
test_parsers
=
subparsers
.
add_parser
(
SUB_COMMAND_TEST
,
help
=
'测试'
)
test_parsers
.
add_argument
(
ARG_PREFIX
+
KEY_CM_ACTION
,
help
=
'动作类型'
,
default
=
SUB_COMMAND_TEST
)
test_parsers
.
add_argument
(
ARG_PREFIX
+
ARG_TEST_TC
,
help
=
'测试用例'
,
required
=
False
)
def
register_clean_args
():
test_parsers
=
subparsers
.
add_parser
(
SUB_COMMAND_CLEAN
,
help
=
'清理'
)
...
...
@@ -76,12 +78,16 @@ def execute_run():
else
:
os
.
system
(
'./bin/'
+
app_name
)
def
execute_test
():
def
execute_test
(
tc
):
command
=
None
execute_build
()
if
is_windows
():
os
.
system
(
".
\\
bin
\\
Release
\\
"
+
app_test_name
)
command
=
".
\\
bin
\\
Release
\\
"
+
app_test_name
else
:
os
.
system
(
'./bin/'
+
app_test_name
)
command
=
'./bin/'
+
app_test_name
if
tc
:
command
=
command
+
' -tc='
+
tc
os
.
system
(
command
)
def
execute_clean
():
if
is_windows
():
...
...
@@ -108,8 +114,11 @@ if __name__ == '__main__':
register_clean_args
()
args
=
parser
.
parse_args
()
print
(
args
)
if
0
==
len
(
args
.
__dict__
):
execute_test
()
tc
=
args
.
__dict__
[
ARG_TEST_TC
]
execute_test
(
tc
)
else
:
if
SUB_COMMAND_BUILD
==
args
.
__dict__
[
KEY_CM_ACTION
]:
execute_build
()
...
...
@@ -118,6 +127,7 @@ if __name__ == '__main__':
if
SUB_COMMAND_RUN
==
args
.
__dict__
[
KEY_CM_ACTION
]:
execute_run
()
if
SUB_COMMAND_TEST
==
args
.
__dict__
[
KEY_CM_ACTION
]:
execute_test
()
tc
=
args
.
__dict__
[
ARG_TEST_TC
]
execute_test
(
tc
)
if
SUB_COMMAND_CLEAN
==
args
.
__dict__
[
KEY_CM_ACTION
]:
execute_clean
()
include/khl_xml_config/khl_xml_config.hpp
浏览文件 @
a08cb7c7
...
...
@@ -12,7 +12,7 @@
#define STR2(x) STR(x)
std
::
string
getXmlPath
(
const
char
*
xmlFileName
)
inline
std
::
string
getXmlPath
(
const
char
*
xmlFileName
)
{
std
::
string
xmlPath
;
std
::
stringstream
ss
;
...
...
include/khl_xml_config/khl_xml_config.hpp.in
浏览文件 @
a08cb7c7
...
...
@@ -12,7 +12,7 @@
#define STR2(x) STR(x)
std::string getXmlPath(const char* xmlFileName)
inline
std::string getXmlPath(const char* xmlFileName)
{
std::string xmlPath;
std::stringstream ss;
...
...
test/test_tinyxml2_load.cpp
0 → 100644
浏览文件 @
a08cb7c7
#include "doctest/doctest.h"
#include "tinyxml2.h"
#include "spdlog/spdlog.h"
#include "khl_xml_config/khl_xml_config.hpp"
TEST_CASE
(
"tinyxml2_load"
)
{
std
::
string
simpleXmlPath
;
tinyxml2
::
XMLDocument
doc
;
tinyxml2
::
XMLError
xmlError
;
/**
* 指定路径加载
*/
SUBCASE
(
"load_by_path"
)
{
simpleXmlPath
=
getXmlPath
(
"/data/simple.xml"
);
xmlError
=
doc
.
LoadFile
(
simpleXmlPath
.
c_str
());
CHECK
(
tinyxml2
::
XMLError
::
XML_SUCCESS
==
xmlError
);
}
/**
* 指定路径加载
*/
SUBCASE
(
"load_by_path_file_not_found"
)
{
simpleXmlPath
=
getXmlPath
(
"/data/simple.not.exist.xml"
);
xmlError
=
doc
.
LoadFile
(
simpleXmlPath
.
c_str
());
CHECK
(
tinyxml2
::
XMLError
::
XML_ERROR_FILE_NOT_FOUND
==
xmlError
);
}
}
\ No newline at end of file
test/testmain.cpp
浏览文件 @
a08cb7c7
...
...
@@ -19,25 +19,7 @@ TEST_CASE("test 001")
CHECK
(
3
==
add
(
1
,
2
));
}
TEST_CASE
(
"test 002"
)
{
spdlog
::
info
(
"test 002"
);
std
::
string
simpleXmlPath
=
getXmlPath
(
"/data/simple.xml"
);
tinyxml2
::
XMLDocument
doc
;
tinyxml2
::
XMLError
xmlError
=
doc
.
LoadFile
(
simpleXmlPath
.
c_str
());
CHECK
(
tinyxml2
::
XMLError
::
XML_SUCCESS
==
xmlError
);
auto
rootEl
=
doc
.
RootElement
();
auto
personEl
=
rootEl
->
FirstChildElement
(
"person"
);
const
char
*
p
=
personEl
->
Attribute
(
"id"
);
std
::
string
str
;
std
::
stringstream
ss
;
ss
<<
p
;
ss
>>
str
;
CHECK
(
"1001"
==
str
);
}
TEST_CASE
(
"test 003"
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录