mirror of
https://gitlab.com/ita1024/waf.git
synced 2024-11-25 19:30:04 +01:00
Merge branch 'waf_unit_tg' into 'waf-2.1'
waf_unit_test: return also task generator in report tuples See merge request ita1024/waf!2285
This commit is contained in:
commit
b599c8bb9d
@ -2,6 +2,7 @@ CHANGES IN WAF 2.1.0
|
||||
--------------------
|
||||
* While the Waf file runs on Python 2 and 3, creating it requires version 3
|
||||
+ Added wafcache
|
||||
+ waf_unit_test: Added task in returned tuples, custom reports should be adapted
|
||||
- Remove waflib.Runner.PriorityTasks.appendleft
|
||||
- Remove waflib.Task.TaskBase
|
||||
- Remove the upper class of waflib.Task.Task (metaclass syntax)
|
||||
|
@ -78,7 +78,7 @@ def print_test_results(bld):
|
||||
lst = getattr(bld, 'utest_results', [])
|
||||
if not lst:
|
||||
return
|
||||
for (f, code, out, err) in lst:
|
||||
for (f, code, out, err, ut_task) in lst:
|
||||
print(out.decode('utf-8'))
|
||||
print(err.decode('utf-8'))
|
||||
|
||||
|
@ -7,6 +7,7 @@ bld(
|
||||
source = 'HelloWorldTest.cpp',
|
||||
target = 'unit_test_program',
|
||||
use = 'unittestmain useless CPPUNIT',
|
||||
ut_str = '${SRC[0].abspath()} -flag1 ${NARG}'
|
||||
ut_str = '${SRC[0].abspath()} -flag1 ${NARG}',
|
||||
name = 'test0',
|
||||
)
|
||||
|
||||
|
@ -7,5 +7,6 @@ bld(
|
||||
target = 'unit_test_program',
|
||||
use = 'unittestmain useless CPPUNIT',
|
||||
ut_cwd = bld.path,
|
||||
name = 'test1',
|
||||
)
|
||||
|
||||
|
@ -5,7 +5,8 @@ if bld.env['PYTHON']:
|
||||
bld(
|
||||
features = 'test_scripts',
|
||||
test_scripts_source = 'test.py',
|
||||
test_scripts_template = '${PYTHON} ${SCRIPT}'
|
||||
test_scripts_template = '${PYTHON} ${SCRIPT}',
|
||||
name = 'test2',
|
||||
)
|
||||
|
||||
|
||||
|
@ -23,7 +23,8 @@ if bld.env['PYTHON']:
|
||||
features = 'test_scripts',
|
||||
test_scripts_source = 'test.1.py test.2.py',
|
||||
test_scripts_template = '${PYTHON} ${SCRIPT}',
|
||||
test_scripts_paths = paths
|
||||
test_scripts_paths = paths,
|
||||
name = 'test3',
|
||||
)
|
||||
|
||||
|
||||
|
@ -40,9 +40,11 @@ def summary(bld):
|
||||
Logs.pprint('CYAN', 'test report %3.0f%% success' % val)
|
||||
|
||||
Logs.pprint('CYAN', ' tests that fail %d/%d' % (tfail, total))
|
||||
for (f, code, out, err) in lst:
|
||||
for (f, code, out, err, ut_task) in lst:
|
||||
if code:
|
||||
Logs.pprint('CYAN', ' %s' % f)
|
||||
# In ut_task we have the task running the test and we can get any extra information
|
||||
# from there (in this example just the generator name)
|
||||
Logs.pprint('CYAN', ' %s (%s)' % (f, ut_task.generator.name))
|
||||
Logs.pprint('RED', 'status: %r' % code)
|
||||
if out: Logs.pprint('RED', 'out: %r' % out)
|
||||
if err: Logs.pprint('RED', 'err: %r' % err)
|
||||
|
@ -29,7 +29,7 @@ def gtest_results(bld):
|
||||
lst = getattr(bld, 'utest_results', [])
|
||||
if not lst:
|
||||
return
|
||||
for (f, code, out, err) in lst:
|
||||
for (f, code, out, err, ut_task) in lst:
|
||||
# if not code:
|
||||
# continue
|
||||
|
||||
|
@ -14,7 +14,7 @@ def test_results(bld):
|
||||
lst = getattr(bld, 'utest_results', [])
|
||||
if not lst:
|
||||
return
|
||||
for (f, code, out, err) in lst:
|
||||
for (f, code, out, err, ut_task) in lst:
|
||||
print(out.decode('utf-8'))
|
||||
print(err.decode('utf-8'))
|
||||
|
||||
|
@ -18,7 +18,7 @@ def test_results(bld):
|
||||
lst = getattr(bld, 'utest_results', [])
|
||||
if not lst:
|
||||
return
|
||||
for (f, code, out, err) in lst:
|
||||
for (f, code, out, err, ut_task) in lst:
|
||||
print(out.decode('utf-8'))
|
||||
print(err.decode('utf-8'))
|
||||
|
||||
|
@ -222,7 +222,7 @@ class utest(Task.Task):
|
||||
proc = Utils.subprocess.Popen(cmd, cwd=self.get_cwd().abspath(), env=self.get_test_env(),
|
||||
stderr=Utils.subprocess.PIPE, stdout=Utils.subprocess.PIPE, shell=isinstance(cmd,str))
|
||||
(stdout, stderr) = proc.communicate()
|
||||
self.waf_unit_test_results = tup = (self.inputs[0].abspath(), proc.returncode, stdout, stderr)
|
||||
self.waf_unit_test_results = tup = (self.inputs[0].abspath(), proc.returncode, stdout, stderr, self)
|
||||
testlock.acquire()
|
||||
try:
|
||||
return self.generator.add_test_results(tup)
|
||||
@ -249,12 +249,12 @@ def summary(bld):
|
||||
tfail = len([x for x in lst if x[1]])
|
||||
|
||||
Logs.pprint('GREEN', ' tests that pass %d/%d' % (total-tfail, total))
|
||||
for (f, code, out, err) in lst:
|
||||
for (f, code, out, err, ut_task) in lst:
|
||||
if not code:
|
||||
Logs.pprint('GREEN', ' %s' % f)
|
||||
|
||||
Logs.pprint('GREEN' if tfail == 0 else 'RED', ' tests that fail %d/%d' % (tfail, total))
|
||||
for (f, code, out, err) in lst:
|
||||
for (f, code, out, err, ut_task) in lst:
|
||||
if code:
|
||||
Logs.pprint('RED', ' %s' % f)
|
||||
|
||||
@ -271,7 +271,7 @@ def set_exit_code(bld):
|
||||
bld.add_post_fun(waf_unit_test.set_exit_code)
|
||||
"""
|
||||
lst = getattr(bld, 'utest_results', [])
|
||||
for (f, code, out, err) in lst:
|
||||
for (f, code, out, err, ut_task) in lst:
|
||||
if code:
|
||||
msg = []
|
||||
if out:
|
||||
|
Loading…
Reference in New Issue
Block a user