scripts: check_init_priorities: add extra verbose output
Add support for more verbose output enabling debugging output and add a first debug print to output the file to device path mapping. Found this to be extremely useful to find what file is instantiating a specific device for non obvious cases. Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
This commit is contained in:
parent
0064b6e8b6
commit
44e691e20e
2 changed files with 14 additions and 5 deletions
|
@ -194,6 +194,9 @@ class Validator():
|
||||||
obj = ZephyrObjectFile(file)
|
obj = ZephyrObjectFile(file)
|
||||||
if obj.defined_devices:
|
if obj.defined_devices:
|
||||||
self._objs.append(obj)
|
self._objs.append(obj)
|
||||||
|
for dev in obj.defined_devices:
|
||||||
|
dev_path = self._ord2node[dev].path
|
||||||
|
self.log.debug(f"{file}: {dev_path}")
|
||||||
|
|
||||||
self._dev_priorities = {}
|
self._dev_priorities = {}
|
||||||
for obj in self._objs:
|
for obj in self._objs:
|
||||||
|
@ -279,8 +282,9 @@ def _parse_args(argv):
|
||||||
|
|
||||||
parser.add_argument("-d", "--build-dir", default="build",
|
parser.add_argument("-d", "--build-dir", default="build",
|
||||||
help="build directory to use")
|
help="build directory to use")
|
||||||
parser.add_argument("-v", "--verbose", action="store_true",
|
parser.add_argument("-v", "--verbose", action="count",
|
||||||
help="enable verbose Output")
|
help=("enable verbose output, can be used multiple times "
|
||||||
|
"to increase verbosity level"))
|
||||||
parser.add_argument("-w", "--fail-on-warning", action="store_true",
|
parser.add_argument("-w", "--fail-on-warning", action="store_true",
|
||||||
help="fail on both warnings and errors")
|
help="fail on both warnings and errors")
|
||||||
parser.add_argument("--always-succeed", action="store_true",
|
parser.add_argument("--always-succeed", action="store_true",
|
||||||
|
@ -306,7 +310,9 @@ def _init_log(verbose, output):
|
||||||
file.setFormatter(logging.Formatter("%(levelname)s: %(message)s"))
|
file.setFormatter(logging.Formatter("%(levelname)s: %(message)s"))
|
||||||
log.addHandler(file)
|
log.addHandler(file)
|
||||||
|
|
||||||
if verbose:
|
if verbose and verbose > 1:
|
||||||
|
log.setLevel(logging.DEBUG)
|
||||||
|
elif verbose and verbose > 0:
|
||||||
log.setLevel(logging.INFO)
|
log.setLevel(logging.INFO)
|
||||||
else:
|
else:
|
||||||
log.setLevel(logging.WARNING)
|
log.setLevel(logging.WARNING)
|
||||||
|
|
|
@ -143,13 +143,14 @@ class testValidator(unittest.TestCase):
|
||||||
def test_initialize(self, mock_pl, mock_fbo, mock_zof):
|
def test_initialize(self, mock_pl, mock_fbo, mock_zof):
|
||||||
mock_fbo.return_value = ["filepath"]
|
mock_fbo.return_value = ["filepath"]
|
||||||
|
|
||||||
|
mock_log = mock.Mock()
|
||||||
mock_prio = mock.Mock()
|
mock_prio = mock.Mock()
|
||||||
mock_obj = mock.Mock()
|
mock_obj = mock.Mock()
|
||||||
mock_obj.defined_devices = {123: mock_prio}
|
mock_obj.defined_devices = {123: mock_prio}
|
||||||
mock_zof.return_value = mock_obj
|
mock_zof.return_value = mock_obj
|
||||||
|
|
||||||
with mock.patch("builtins.open", mock.mock_open()) as mock_open:
|
with mock.patch("builtins.open", mock.mock_open()) as mock_open:
|
||||||
validator = check_init_priorities.Validator("path", "pickle", None)
|
validator = check_init_priorities.Validator("path", "pickle", mock_log)
|
||||||
|
|
||||||
self.assertListEqual(validator._objs, [mock_obj])
|
self.assertListEqual(validator._objs, [mock_obj])
|
||||||
self.assertDictEqual(validator._dev_priorities, {123: mock_prio})
|
self.assertDictEqual(validator._dev_priorities, {123: mock_prio})
|
||||||
|
@ -160,7 +161,9 @@ class testValidator(unittest.TestCase):
|
||||||
@mock.patch("pathlib.Path")
|
@mock.patch("pathlib.Path")
|
||||||
@mock.patch("check_init_priorities.Validator.__init__", return_value=None)
|
@mock.patch("check_init_priorities.Validator.__init__", return_value=None)
|
||||||
def test_find_build_objfiles(self, mock_vinit, mock_path):
|
def test_find_build_objfiles(self, mock_vinit, mock_path):
|
||||||
validator = check_init_priorities.Validator("", "", None)
|
mock_log = mock.Mock()
|
||||||
|
|
||||||
|
validator = check_init_priorities.Validator("", "", mock_log)
|
||||||
|
|
||||||
mock_file = mock.Mock()
|
mock_file = mock.Mock()
|
||||||
mock_file.is_file.return_value = True
|
mock_file.is_file.return_value = True
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue