mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-06-19 13:11:30 +00:00
binman: Allow verbosity control when running tests
At present the -v flag is ignored with tests, so that (for example) -v2 does not have any effect. Update binman to pass this flag through to tests so that they work just like running binman normally, except in a few special cases where we are actually testing behaviour with different levels of verbosity. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
2569e10f5b
commit
ee0c9a739f
2 changed files with 22 additions and 3 deletions
|
@ -46,11 +46,12 @@ except:
|
||||||
import control
|
import control
|
||||||
import test_util
|
import test_util
|
||||||
|
|
||||||
def RunTests(debug, processes, args):
|
def RunTests(debug, verbosity, processes, args):
|
||||||
"""Run the functional tests and any embedded doctests
|
"""Run the functional tests and any embedded doctests
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
debug: True to enable debugging, which shows a full stack trace on error
|
debug: True to enable debugging, which shows a full stack trace on error
|
||||||
|
verbosity: Verbosity level to use
|
||||||
args: List of positional args provided to binman. This can hold a test
|
args: List of positional args provided to binman. This can hold a test
|
||||||
name to execute (as in 'binman -t testSections', for example)
|
name to execute (as in 'binman -t testSections', for example)
|
||||||
processes: Number of processes to use to run tests (None=same as #CPUs)
|
processes: Number of processes to use to run tests (None=same as #CPUs)
|
||||||
|
@ -71,6 +72,8 @@ def RunTests(debug, processes, args):
|
||||||
sys.argv = [sys.argv[0]]
|
sys.argv = [sys.argv[0]]
|
||||||
if debug:
|
if debug:
|
||||||
sys.argv.append('-D')
|
sys.argv.append('-D')
|
||||||
|
if verbosity:
|
||||||
|
sys.argv.append('-v%d' % verbosity)
|
||||||
|
|
||||||
# Run the entry tests first ,since these need to be the first to import the
|
# Run the entry tests first ,since these need to be the first to import the
|
||||||
# 'entry' module.
|
# 'entry' module.
|
||||||
|
@ -153,7 +156,8 @@ def RunBinman(options, args):
|
||||||
sys.tracebacklimit = 0
|
sys.tracebacklimit = 0
|
||||||
|
|
||||||
if options.test:
|
if options.test:
|
||||||
ret_code = RunTests(options.debug, options.processes, args[1:])
|
ret_code = RunTests(options.debug, options.verbosity, options.processes,
|
||||||
|
args[1:])
|
||||||
|
|
||||||
elif options.test_coverage:
|
elif options.test_coverage:
|
||||||
RunTestCoverage()
|
RunTestCoverage()
|
||||||
|
|
|
@ -153,6 +153,19 @@ class TestFunctional(unittest.TestCase):
|
||||||
TestFunctional._MakeInputFile('spl/u-boot-spl.dtb', U_BOOT_SPL_DTB_DATA)
|
TestFunctional._MakeInputFile('spl/u-boot-spl.dtb', U_BOOT_SPL_DTB_DATA)
|
||||||
TestFunctional._MakeInputFile('tpl/u-boot-tpl.dtb', U_BOOT_TPL_DTB_DATA)
|
TestFunctional._MakeInputFile('tpl/u-boot-tpl.dtb', U_BOOT_TPL_DTB_DATA)
|
||||||
|
|
||||||
|
def _GetVerbosity(self):
|
||||||
|
"""Check if verbosity should be enabled
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
list containing either:
|
||||||
|
- Verbosity flag (e.g. '-v2') if it is present on the cmd line
|
||||||
|
- nothing if the flag is not present
|
||||||
|
"""
|
||||||
|
for arg in sys.argv[1:]:
|
||||||
|
if arg.startswith('-v'):
|
||||||
|
return [arg]
|
||||||
|
return []
|
||||||
|
|
||||||
def _RunBinman(self, *args, **kwargs):
|
def _RunBinman(self, *args, **kwargs):
|
||||||
"""Run binman using the command line
|
"""Run binman using the command line
|
||||||
|
|
||||||
|
@ -213,6 +226,8 @@ class TestFunctional(unittest.TestCase):
|
||||||
args.append('--fake-dtb')
|
args.append('--fake-dtb')
|
||||||
if verbosity is not None:
|
if verbosity is not None:
|
||||||
args.append('-v%d' % verbosity)
|
args.append('-v%d' % verbosity)
|
||||||
|
else:
|
||||||
|
args += self._GetVerbosity()
|
||||||
if entry_args:
|
if entry_args:
|
||||||
for arg, value in entry_args.items():
|
for arg, value in entry_args.items():
|
||||||
args.append('-a%s=%s' % (arg, value))
|
args.append('-a%s=%s' % (arg, value))
|
||||||
|
@ -1471,7 +1486,7 @@ class TestFunctional(unittest.TestCase):
|
||||||
expected = 'Skipping images: image1'
|
expected = 'Skipping images: image1'
|
||||||
|
|
||||||
# We should only get the expected message in verbose mode
|
# We should only get the expected message in verbose mode
|
||||||
for verbosity in (None, 2):
|
for verbosity in (0, 2):
|
||||||
with test_util.capture_sys_output() as (stdout, stderr):
|
with test_util.capture_sys_output() as (stdout, stderr):
|
||||||
retcode = self._DoTestFile('006_dual_image.dts',
|
retcode = self._DoTestFile('006_dual_image.dts',
|
||||||
verbosity=verbosity,
|
verbosity=verbosity,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue