Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
badw-it
DHParser
Commits
58da0c15
Commit
58da0c15
authored
Mar 04, 2019
by
di68kap
Browse files
- testing.grammar_unit(): bugfix: creating of "REPORT"-dir now thread/process safe
parent
e5d0ad60
Changes
1
Hide whitespace changes
Inline
Side-by-side
DHParser/testing.py
View file @
58da0c15
...
...
@@ -57,6 +57,7 @@ __all__ = ('unit_from_config',
'reset_unit'
,
'runner'
)
UNIT_STAGES
=
{
'match*'
,
'match'
,
'fail'
,
'ast'
,
'cst'
}
RESULT_STAGES
=
{
'__cst__'
,
'__ast__'
,
'__err__'
}
...
...
@@ -481,8 +482,10 @@ def grammar_unit(test_unit, parser_factory, transformer_factory, report=True, ve
report_dir
=
"REPORT"
test_report
=
get_report
(
test_unit
)
if
test_report
:
if
not
os
.
path
.
exists
(
report_dir
)
:
try
:
os
.
mkdir
(
report_dir
)
except
FileExistsError
:
pass
with
open
(
os
.
path
.
join
(
report_dir
,
unit_name
+
'.md'
),
'w'
,
encoding
=
'utf8'
)
as
f
:
f
.
write
(
test_report
)
...
...
@@ -528,7 +531,6 @@ def grammar_suite(directory, parser_factory, transformer_factory,
if
any
(
fnmatch
.
fnmatch
(
filename
,
pattern
)
for
pattern
in
fn_patterns
):
parameters
=
filename
,
parser_factory
,
transformer_factory
,
report
,
verbose
results
.
append
((
filename
,
pool
.
submit
(
grammar_unit
,
*
parameters
)))
# grammar_unit(*parameters)
for
filename
,
err_future
in
results
:
try
:
errata
=
err_future
.
result
()
...
...
@@ -542,7 +544,7 @@ def grammar_suite(directory, parser_factory, transformer_factory,
for
filename
in
sorted
(
os
.
listdir
(
'.'
)):
if
any
(
fnmatch
.
fnmatch
(
filename
,
pattern
)
for
pattern
in
fn_patterns
):
parameters
=
filename
,
parser_factory
,
transformer_factory
,
report
,
verbose
print
(
filename
)
#
print(filename)
results
.
append
((
filename
,
grammar_unit
(
*
parameters
)))
for
filename
,
errata
in
results
:
if
errata
:
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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