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
pybind11
Commits
6d6fd099
Commit
6d6fd099
authored
Oct 01, 2015
by
Wenzel Jakob
Browse files
fixed testing infrastructure
parent
be0e834b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
36 additions
and
4 deletions
+36
-4
CMakeLists.txt
CMakeLists.txt
+1
-1
example/run_test.py
example/run_test.py
+35
-3
No files found.
CMakeLists.txt
View file @
6d6fd099
...
...
@@ -113,6 +113,6 @@ endif()
enable_testing
()
set
(
RUN_TEST
${
PYTHON_EXECUTABLE
}
${
CMAKE_CURRENT_SOURCE_DIR
}
/example/run_test.py
)
foreach
(
i RANGE 1
7
)
foreach
(
i RANGE 1
12
)
add_test
(
NAME example
${
i
}
COMMAND
${
RUN_TEST
}
example
${
i
}
)
endforeach
()
example/run_test.py
View file @
6d6fd099
import
subprocess
,
sys
,
os
import
sys
import
os
import
re
import
subprocess
remove_unicode_marker
=
re
.
compile
(
r
'u(\'[^\']*\')'
)
remove_long_marker
=
re
.
compile
(
r
'([0-9])L'
)
remove_hex
=
re
.
compile
(
r
'0x[0-9a-f]+'
)
shorten_floats
=
re
.
compile
(
r
'([1-9][0-9]*\.[0-9]{4})[0-9]*'
)
def
sanitize
(
lines
):
lines
=
lines
.
split
(
'
\n
'
)
for
i
in
range
(
len
(
lines
)):
line
=
lines
[
i
]
if
line
.
startswith
(
" |"
):
line
=
""
line
=
remove_unicode_marker
.
sub
(
r
'\1'
,
line
)
line
=
remove_long_marker
.
sub
(
r
'\1'
,
line
)
line
=
remove_hex
.
sub
(
r
'0xHEX'
,
line
)
line
=
shorten_floats
.
sub
(
r
'\1'
,
line
)
line
=
line
.
replace
(
'__builtin__'
,
'builtins'
)
line
=
line
.
replace
(
'example.'
,
''
)
line
=
line
.
replace
(
'method of builtins.PyCapsule instance'
,
''
)
line
=
line
.
strip
()
lines
[
i
]
=
line
lines
=
'
\n
'
.
join
(
sorted
([
l
for
l
in
lines
if
l
!=
""
]))
print
(
'=================='
)
print
(
lines
)
return
lines
path
=
os
.
path
.
dirname
(
__file__
)
if
path
!=
''
:
os
.
chdir
(
path
)
name
=
sys
.
argv
[
1
]
output
=
subprocess
.
check_output
([
sys
.
executable
,
name
+
".py"
]).
decode
(
'utf-8'
)
reference
=
open
(
name
+
'.ref'
,
'r'
).
read
()
output_bytes
=
subprocess
.
check_output
([
sys
.
executable
,
name
+
".py"
])
output
=
sanitize
(
output_bytes
.
decode
(
'utf-8'
))
reference
=
sanitize
(
open
(
name
+
'.ref'
,
'r'
).
read
())
if
output
==
reference
:
print
(
'Test "%s" succeeded.'
%
name
)
...
...
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