Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gaoqiong
yaml-cpp
Commits
8d529cbc
Commit
8d529cbc
authored
May 22, 2012
by
Jesse Beder
Browse files
Started emitting test generator
parent
7d7075fd
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
44 additions
and
0 deletions
+44
-0
test/create-emitter-tests.py
test/create-emitter-tests.py
+44
-0
No files found.
test/create-emitter-tests.py
0 → 100644
View file @
8d529cbc
import
sys
import
yaml
import
hashlib
NS
=
'Emitter'
EVENT_COUNT
=
5
EVENTS
=
[
{
'emit'
:
'YAML::DocStart'
,
'handle'
:
'DOC_START()'
},
{
'emit'
:
'YAML::DocEnd'
,
'handle'
:
'DOC_END()'
},
]
def
gen_events
():
pass
def
gen_tests
():
for
events
in
gen_events
():
name
=
'test'
+
hashlib
.
sha1
(
''
.
join
(
yaml
.
dump
(
event
)
for
event
in
events
)).
hexdigest
()[:
20
]
yield
{
'name'
:
name
,
'events'
:
events
}
def
create_emitter_tests
(
out
):
out
.
write
(
'namespace %s {
\n
'
%
NS
)
for
test
in
gen_tests
():
out
.
write
(
'TEST %s(YAML::Emitter& out)
\n
'
%
test
[
'name'
])
out
.
write
(
'{
\n
'
)
for
event
in
test
[
'events'
]:
emit
=
event
[
'emit'
]
if
emit
:
out
.
write
(
' out << %s;
\n
'
%
emit
)
out
.
write
(
'
\n
'
)
out
.
write
(
' HANDLE(out.c_str());
\n
'
)
for
event
in
test
[
'events'
]:
handle
=
event
[
'handle'
]
if
handle
:
out
.
write
(
' EXPECT_%s;
\n
'
%
handle
)
out
.
write
(
' DONE();
\n
'
)
out
.
write
(
'}
\n
'
)
out
.
write
(
'}
\n
'
)
if
__name__
==
'__main__'
:
create_emitter_tests
(
sys
.
stdout
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment