[PATCH i-g-t 6/6] scripts/xls_to_doc.py: don't be verbose by default
Mauro Carvalho Chehab
mauro.chehab at linux.intel.com
Wed Mar 13 07:56:09 UTC 2024
From: Mauro Carvalho Chehab <mchehab at kernel.org>
Add a verbosity parameter to hide messages used mostly for debugging
purposes, as, on several cases, the output may be misleading.
Signed-off-by: Mauro Carvalho Chehab <mchehab at kernel.org>
---
scripts/xls_to_doc.py | 32 ++++++++++++++++++++++----------
1 file changed, 22 insertions(+), 10 deletions(-)
diff --git a/scripts/xls_to_doc.py b/scripts/xls_to_doc.py
index 477a1561ee16..a7eaeead1a49 100755
--- a/scripts/xls_to_doc.py
+++ b/scripts/xls_to_doc.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# pylint: disable=C0301,R0912,R0913,R0914,R0915
+# pylint: disable=C0301,R0912,R0913,R0914,R0915,R1702
# SPDX-License-Identifier: (GPL-2.0 OR MIT)
## Copyright (C) 2023 Intel Corporation ##
@@ -28,11 +28,13 @@ class FillTests(TestList):
Fill documentation source code test comments from a spreadsheet.
"""
- def __init__(self, config_path):
+ def __init__(self, config_path, verbose):
self.tests = {}
self.spreadsheet_data = {}
self.ignore_fields = []
+ self.verbose = verbose
+ # Read current documentation
TestList.__init__(self, config_path)
self.testname_regex = re.compile(r'^\s*(igt@[^\n\@]+)\@?(\S*)\s*')
@@ -236,7 +238,7 @@ class FillTests(TestList):
subtest = ''
if testname not in self.tests:
- print(f"Ignoring {test}, as test is not documented.")
+ print(f"Warning: {testname} file is not present at JSON config file.")
continue
if subtest not in self.tests[testname]["subtests"]:
@@ -272,7 +274,10 @@ class FillTests(TestList):
subtest_nr = subtest_content['subtest_nr']
if subtest_nr not in self.doc[test_nr]["subtest"]:
- print(f"Error: missing subtest {subtest_nr} at {self.doc[test_nr]['subtest']}")
+ if self.verbose:
+ print(f"Error: missing subtest {subtest_nr} at {self.doc[test_nr]['subtest']}")
+ else:
+ print(f"Warning: test {testname}, subtest {subtest} is not documented.")
continue
doc_content = self.doc[test_nr]["subtest"][subtest_nr]
@@ -292,11 +297,13 @@ class FillTests(TestList):
print(f"Warning: {subtest} field {field} has wildcards.")
continue
if doc_value == value:
- print(f"{testname}@{subtest} field {field}: Value unchanged. Ignoring it")
+ if self.verbose > 1:
+ print(f"{testname}@{subtest} field {field}: Value unchanged. Ignoring it")
continue
- print(f"Update {testname}@{subtest} field {field} on line {line}:")
- print(f" Change from {doc_value} to {value}")
+ if self.verbose > 0:
+ print(f"Update {testname}@{subtest} field {field} on line {line}:")
+ print(f" Change from {doc_value} to {value}")
# Just in case, handle continuation lines
value = re.sub(r"\n", "\n * ", value)
@@ -320,7 +327,9 @@ class FillTests(TestList):
# Write changes
try:
- print(f"Writing to {sourcename}")
+ if self.verbose:
+ print(f"Writing to {sourcename}")
+
with open(sourcename, 'w', encoding='utf8') as out_fp:
out_fp.write("".join(content))
except EnvironmentError:
@@ -331,6 +340,9 @@ class FillTests(TestList):
Populate all test files with the documentation from self.tests.
"""
+ if self.verbose == 0:
+ print("Update source files")
+
for testname in self.tests:
self.update_test_file(testname, args)
@@ -353,11 +365,11 @@ def main():
help='Ignore fields that are updated via test lists')
parser.add_argument("--store-json", action="store_true",
help="Generate JSON files with documentation. Useful for debugging purposes.")
-
+ parser.add_argument('-v', '--verbose', action='count', default=0)
parse_args = parser.parse_args()
- fill_test = FillTests(parse_args.config)
+ fill_test = FillTests(parse_args.config, parse_args.verbose)
fill_test.parse_spreadsheet(parse_args.xls, parse_args.sheets)
--
2.43.2
More information about the igt-dev
mailing list