[PATCH 02/10] dtoc: add option to disable warnings
Walter Lozano
walter.lozano at collabora.com
Mon Jun 8 17:51:20 CEST 2020
Hi Simon,
On 4/6/20 12:59, Simon Glass wrote:
> Hi Walter,
>
> On Fri, 29 May 2020 at 12:15, Walter Lozano <walter.lozano at collabora.com> wrote:
>> As dtoc now performs checks for valid driver names, when running dtoc
>> tests several warnings arise as these tests don't use valid driver
>> names.
>>
>> This patch adds an option to disable those warning, which is only
>> intended for running tests.
>>
>> Signed-off-by: Walter Lozano <walter.lozano at collabora.com>
>> ---
>> tools/dtoc/dtb_platdata.py | 11 +++++---
>> tools/dtoc/test_dtoc.py | 54 +++++++++++++++++++-------------------
>> 2 files changed, 34 insertions(+), 31 deletions(-)
>>
>> diff --git a/tools/dtoc/dtb_platdata.py b/tools/dtoc/dtb_platdata.py
>> index 23cfda2f88..0a54188348 100644
>> --- a/tools/dtoc/dtb_platdata.py
>> +++ b/tools/dtoc/dtb_platdata.py
>> @@ -141,17 +141,19 @@ class DtbPlatdata(object):
>> _valid_nodes: A list of Node object with compatible strings
>> _include_disabled: true to include nodes marked status = "disabled"
>> _outfile: The current output file (sys.stdout or a real file)
>> + _warning_disabled: true to disable warnings about driver names not found
>> _lines: Stashed list of output lines for outputting in the future
>> _aliases: Dict that hold aliases for compatible strings
>> _drivers: List of valid driver names found in drivers/
>> _driver_aliases: Dict that holds aliases for driver names
>> """
>> - def __init__(self, dtb_fname, include_disabled):
>> + def __init__(self, dtb_fname, include_disabled, warning_disable):
>> self._fdt = None
>> self._dtb_fname = dtb_fname
>> self._valid_nodes = None
>> self._include_disabled = include_disabled
>> self._outfile = None
>> + self._warning_disable = warning_disable
>> self._lines = []
>> self._aliases = {}
>> self._drivers = []
>> @@ -177,7 +179,8 @@ class DtbPlatdata(object):
>> compat_c_old = compat_c
>> compat_c = self._driver_aliases.get(compat_c)
>> if not compat_c:
>> - print('WARNING: the driver %s was not found in the driver list' % (compat_c_old))
>> + if not self._warning_disable: # pragma: no cover
> Need coverage for this.
No problem!
>
>> + print('WARNING: the driver %s was not found in the driver list' % (compat_c_old))
>> compat_c = compat_c_old
>> else: # pragma: no cover
>> aliases_c = [compat_c_old] + aliases_c
>> @@ -623,7 +626,7 @@ class DtbPlatdata(object):
>> nodes_to_output.remove(node)
>>
>>
>> -def run_steps(args, dtb_file, include_disabled, output):
>> +def run_steps(args, dtb_file, include_disabled, output, warning_disable = False):
> no spaces around =
Sure.
>> """Run all the steps of the dtoc tool
>>
>> Args:
>> @@ -635,7 +638,7 @@ def run_steps(args, dtb_file, include_disabled, output):
>> if not args:
>> raise ValueError('Please specify a command: struct, platdata')
>>
>> - plat = DtbPlatdata(dtb_file, include_disabled)
>> + plat = DtbPlatdata(dtb_file, include_disabled, warning_disable)
>> plat.scan_drivers()
>> plat.scan_dtb()
>> plat.scan_tree()
>> diff --git a/tools/dtoc/test_dtoc.py b/tools/dtoc/test_dtoc.py
>> index 8498e8303c..a9b605cac8 100755
>> --- a/tools/dtoc/test_dtoc.py
>> +++ b/tools/dtoc/test_dtoc.py
>> @@ -154,12 +154,12 @@ class TestDtoc(unittest.TestCase):
>> """Test output from a device tree file with no nodes"""
>> dtb_file = get_dtb_file('dtoc_test_empty.dts')
>> output = tools.GetOutputFilename('output')
>> - dtb_platdata.run_steps(['struct'], dtb_file, False, output)
>> + dtb_platdata.run_steps(['struct'], dtb_file, False, output, True)
>> with open(output) as infile:
>> lines = infile.read().splitlines()
>> self.assertEqual(HEADER.splitlines(), lines)
>>
>> - dtb_platdata.run_steps(['platdata'], dtb_file, False, output)
>> + dtb_platdata.run_steps(['platdata'], dtb_file, False, output, True)
> Can you create run_test which calls run_steps with that set that to
> True, to avoid adding the param everywhere in this file?
Sure, no problem. Thanks!
Regards,
Walter
More information about the U-Boot
mailing list