Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
6d7a287c
L
libvirt
项目概览
openeuler
/
libvirt
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
libvirt
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6d7a287c
编写于
4月 06, 2014
作者:
R
Roman Bogorodskiy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tests: add bhyve xml2xml test
The only implemented test for now is domain metadata test.
上级
b291cb5e
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
187 addition
and
2 deletion
+187
-2
tests/Makefile.am
tests/Makefile.am
+8
-2
tests/bhyvexml2argvdata/bhyvexml2argv-metadata.xml
tests/bhyvexml2argvdata/bhyvexml2argv-metadata.xml
+26
-0
tests/bhyvexml2xmloutdata/bhyvexml2xmlout-metadata.xml
tests/bhyvexml2xmloutdata/bhyvexml2xmlout-metadata.xml
+33
-0
tests/bhyvexml2xmltest.c
tests/bhyvexml2xmltest.c
+120
-0
未找到文件。
tests/Makefile.am
浏览文件 @
6d7a287c
...
...
@@ -65,6 +65,7 @@ LDADDS = \
EXTRA_DIST
=
\
bhyvexml2argvdata
\
bhyvexml2xmloutdata
\
capabilityschemadata
\
capabilityschematest
\
commanddata
\
...
...
@@ -236,7 +237,7 @@ test_programs += vmwarevertest
endif
WITH_VMWARE
if
WITH_BHYVE
test_programs
+=
bhyvexml2argvtest
test_programs
+=
bhyvexml2argvtest
bhyvexml2xmltest
endif
WITH_BHYVE
if
WITH_CIL
...
...
@@ -634,8 +635,13 @@ bhyvexml2argvtest_SOURCES = \
bhyvexml2argvtest.c
\
testutils.c testutils.h
bhyvexml2argvtest_LDADD
=
$(bhyve_LDADDS)
bhyvexml2xmltest_SOURCES
=
\
bhyvexml2xmltest.c
\
testutils.c testutils.h
bhyvexml2xmltest_LDADD
=
$(bhyve_LDADDS)
else
!
WITH_BHYVE
EXTRA_DIST
+=
bhyvexml2argvtest.c bhyvexml2argvmock.c
EXTRA_DIST
+=
bhyvexml2argvtest.c bhyvexml2
xmltest.c bhyvexml2
argvmock.c
endif
!
WITH_BHYVE
networkxml2xmltest_SOURCES
=
\
...
...
tests/bhyvexml2argvdata/bhyvexml2argv-metadata.xml
0 → 100644
浏览文件 @
6d7a287c
<domain
type=
'bhyve'
>
<name>
bhyve
</name>
<uuid>
df3be7e7-a104-11e3-aeb0-50e5492bd3dc
</uuid>
<memory>
219136
</memory>
<vcpu>
1
</vcpu>
<os>
<type>
hvm
</type>
</os>
<devices>
<disk
type=
'file'
>
<driver
name=
'file'
type=
'raw'
/>
<source
file=
'/tmp/freebsd.img'
/>
<target
dev=
'hda'
bus=
'sata'
/>
</disk>
<interface
type=
'bridge'
>
<mac
address=
'52:54:00:ad:55:51'
/>
<model
type=
'virtio'
/>
<source
bridge=
"virbr0"
/>
</interface>
</devices>
<!-- intentional mis-indentation -->
<metadata>
<app1:foo
xmlns:app1=
"http://foo.org/"
>
fooish
</app1:foo>
<app2:bar
xmlns:app2=
"http://bar.com/"
maman=
"baz"
>
barish
</app2:bar>
</metadata>
</domain>
tests/bhyvexml2xmloutdata/bhyvexml2xmlout-metadata.xml
0 → 100644
浏览文件 @
6d7a287c
<domain
type=
'bhyve'
>
<name>
bhyve
</name>
<uuid>
df3be7e7-a104-11e3-aeb0-50e5492bd3dc
</uuid>
<metadata>
<app1:foo
xmlns:app1=
"http://foo.org/"
>
fooish
</app1:foo>
<app2:bar
xmlns:app2=
"http://bar.com/"
maman=
"baz"
>
barish
</app2:bar>
</metadata>
<memory
unit=
'KiB'
>
219136
</memory>
<currentMemory
unit=
'KiB'
>
219136
</currentMemory>
<vcpu
placement=
'static'
>
1
</vcpu>
<os>
<type
arch=
'x86_64'
>
hvm
</type>
<boot
dev=
'hd'
/>
</os>
<clock
offset=
'utc'
/>
<on_poweroff>
destroy
</on_poweroff>
<on_reboot>
restart
</on_reboot>
<on_crash>
destroy
</on_crash>
<devices>
<disk
type=
'file'
device=
'disk'
>
<driver
name=
'file'
type=
'raw'
/>
<source
file=
'/tmp/freebsd.img'
/>
<target
dev=
'hda'
bus=
'sata'
/>
<address
type=
'drive'
controller=
'0'
bus=
'0'
target=
'0'
unit=
'0'
/>
</disk>
<controller
type=
'sata'
index=
'0'
/>
<interface
type=
'bridge'
>
<mac
address=
'52:54:00:ad:55:51'
/>
<source
bridge=
'virbr0'
/>
<model
type=
'virtio'
/>
</interface>
</devices>
</domain>
tests/bhyvexml2xmltest.c
0 → 100644
浏览文件 @
6d7a287c
#include <config.h>
#include "testutils.h"
#ifdef WITH_BHYVE
# include "bhyve/bhyve_capabilities.h"
# include "bhyve/bhyve_utils.h"
# define VIR_FROM_THIS VIR_FROM_NONE
static
bhyveConn
driver
;
static
int
testCompareXMLToXMLFiles
(
const
char
*
inxml
,
const
char
*
outxml
)
{
char
*
inXmlData
=
NULL
;
char
*
outXmlData
=
NULL
;
char
*
actual
=
NULL
;
virDomainDefPtr
def
=
NULL
;
int
ret
=
-
1
;
if
(
virtTestLoadFile
(
inxml
,
&
inXmlData
)
<
0
)
goto
fail
;
if
(
virtTestLoadFile
(
outxml
,
&
outXmlData
)
<
0
)
goto
fail
;
if
(
!
(
def
=
virDomainDefParseString
(
inXmlData
,
driver
.
caps
,
driver
.
xmlopt
,
1
<<
VIR_DOMAIN_VIRT_BHYVE
,
VIR_DOMAIN_XML_INACTIVE
)))
goto
fail
;
if
(
!
(
actual
=
virDomainDefFormat
(
def
,
VIR_DOMAIN_XML_INACTIVE
)))
goto
fail
;
if
(
STRNEQ
(
outXmlData
,
actual
))
{
virtTestDifference
(
stderr
,
outXmlData
,
actual
);
goto
fail
;
}
ret
=
0
;
fail:
VIR_FREE
(
inXmlData
);
VIR_FREE
(
outXmlData
);
VIR_FREE
(
actual
);
virDomainDefFree
(
def
);
return
ret
;
}
struct
testInfo
{
const
char
*
name
;
bool
different
;
};
static
int
testCompareXMLToXMLHelper
(
const
void
*
data
)
{
const
struct
testInfo
*
info
=
data
;
char
*
xml_in
=
NULL
;
char
*
xml_out
=
NULL
;
int
ret
=
-
1
;
if
(
virAsprintf
(
&
xml_in
,
"%s/bhyvexml2argvdata/bhyvexml2argv-%s.xml"
,
abs_srcdir
,
info
->
name
)
<
0
||
virAsprintf
(
&
xml_out
,
"%s/bhyvexml2xmloutdata/bhyvexml2xmlout-%s.xml"
,
abs_srcdir
,
info
->
name
)
<
0
)
goto
cleanup
;
ret
=
testCompareXMLToXMLFiles
(
xml_in
,
info
->
different
?
xml_out
:
xml_in
);
cleanup:
VIR_FREE
(
xml_in
);
VIR_FREE
(
xml_out
);
return
ret
;
}
static
int
mymain
(
void
)
{
int
ret
=
0
;
if
((
driver
.
caps
=
virBhyveCapsBuild
())
==
NULL
)
return
EXIT_FAILURE
;
if
((
driver
.
xmlopt
=
virDomainXMLOptionNew
(
NULL
,
NULL
,
NULL
))
==
NULL
)
return
EXIT_FAILURE
;
# define DO_TEST_FULL(name, is_different) \
do { \
const struct testInfo info = {name, is_different}; \
if (virtTestRun("BHYVE XML-2-XML " name, \
testCompareXMLToXMLHelper, &info) < 0) \
ret = -1; \
} while (0)
# define DO_TEST_DIFFERENT(name) \
DO_TEST_FULL(name, true)
DO_TEST_DIFFERENT
(
"metadata"
);
virObjectUnref
(
driver
.
caps
);
virObjectUnref
(
driver
.
xmlopt
);
return
ret
==
0
?
EXIT_SUCCESS
:
EXIT_FAILURE
;
}
VIRT_TEST_MAIN
(
mymain
)
#else
int
main
(
void
)
{
return
EXIT_AM_SKIP
;
}
#endif
/* WITH_BHYVE */
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录