Skip to content

Commit 6decb64

Browse files
waskyosipma
authored andcommitted
add logging support for compare all and compare app commands
1 parent b854f4c commit 6decb64

File tree

2 files changed

+48
-2
lines changed

2 files changed

+48
-2
lines changed

chb/cmdline/chkx

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1328,6 +1328,19 @@ def parse() -> argparse.Namespace:
13281328
help="name of patch results file (required if there are trampolines)")
13291329
relationalcompareall.add_argument(
13301330
"--output", "-o", help="save json output in file")
1331+
relationalcompareall.add_argument(
1332+
"--loglevel", "-log",
1333+
choices=UL.LogLevel.options(),
1334+
default="NONE",
1335+
help="activate logging with the given level (default to stderr)")
1336+
relationalcompareall.add_argument(
1337+
"--logfilename",
1338+
help="name of file to write log messages")
1339+
relationalcompareall.add_argument(
1340+
"--logfilemode",
1341+
choices=["a", "w"],
1342+
default="a",
1343+
help="file mode for log file: append (a, default), or write (w)")
13311344
relationalcompareall.set_defaults(func=R.relational_compare_all_cmd)
13321345

13331346
# --- relational compare app --
@@ -1343,6 +1356,19 @@ def parse() -> argparse.Namespace:
13431356
help="name of patch results file (required if there are trampolines)")
13441357
relationalcomparefns.add_argument(
13451358
"--output", "-o", help="save output in file")
1359+
relationalcompareall.add_argument(
1360+
"--loglevel", "-log",
1361+
choices=UL.LogLevel.options(),
1362+
default="NONE",
1363+
help="activate logging with the given level (default to stderr)")
1364+
relationalcompareall.add_argument(
1365+
"--logfilename",
1366+
help="name of file to write log messages")
1367+
relationalcompareall.add_argument(
1368+
"--logfilemode",
1369+
choices=["a", "w"],
1370+
default="a",
1371+
help="file mode for log file: append (a, default), or write (w)")
13461372
relationalcomparefns.set_defaults(func=R.relational_compare_app_cmd)
13471373

13481374
# --- relational compare function --

chb/cmdline/relationalcmds.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,9 @@ def _relational_compare_generate_json(xname1: str,
324324
xpatchresults: Optional[str],
325325
usermappingfile: Optional[str],
326326
addresses: List[str],
327+
loglevel: str,
328+
logfilename: Optional[str],
329+
logfilemode: str,
327330
) -> JSONResult:
328331
try:
329332
(path1, xfile1) = UC.get_path_filename(xname1)
@@ -334,6 +337,13 @@ def _relational_compare_generate_json(xname1: str,
334337
print(str(e.wrap()))
335338
exit(1)
336339

340+
UC.set_logging(
341+
loglevel,
342+
path1,
343+
logfilename=logfilename,
344+
mode=logfilemode,
345+
msg="relational compare all")
346+
337347
usermapping: Dict[str, str] = {}
338348
if usermappingfile is not None:
339349
if os.path.isfile(usermappingfile):
@@ -387,8 +397,13 @@ def relational_compare_all_cmd(args: argparse.Namespace) -> NoReturn:
387397
xpatchresults: Optional[str] = args.patch_results_file
388398
xoutput: str = args.output
389399
usermappingfile: Optional[str] = args.usermapping
400+
loglevel: str = args.loglevel
401+
logfilename: Optional[str] = args.logfilename
402+
logfilemode: str = args.logfilemode
390403

391-
result = _relational_compare_generate_json(xname1, xname2, xpatchresults, usermappingfile, [])
404+
result = _relational_compare_generate_json(xname1, xname2, xpatchresults,
405+
usermappingfile, [],
406+
loglevel, logfilename, logfilemode)
392407
if result.is_ok:
393408
jsonresult = JU.jsonok("compareall", result.content)
394409
exitval = 0
@@ -418,8 +433,13 @@ def relational_compare_app_cmd(args: argparse.Namespace) -> NoReturn:
418433
xpatchresults: Optional[str] = args.patch_results_file
419434
xoutput: str = args.output
420435
usermappingfile: Optional[str] = args.usermapping
436+
loglevel: str = args.loglevel
437+
logfilename: Optional[str] = args.logfilename
438+
logfilemode: str = args.logfilemode
421439

422-
result = _relational_compare_generate_json(xname1, xname2, xpatchresults, usermappingfile, [])
440+
result = _relational_compare_generate_json(xname1, xname2, xpatchresults,
441+
usermappingfile, [],
442+
loglevel, logfilename, logfilemode)
423443
if not result.is_ok:
424444
print("ERROR: Couldn't generate app comparison results")
425445
exit(1)

0 commit comments

Comments
 (0)