Skip to content

Commit 9345f59

Browse files
committed
Fixed no error.log if no error detected #294
Signed-off-by: Chin Yeung Li <[email protected]>
1 parent cd39e56 commit 9345f59

File tree

2 files changed

+27
-4
lines changed

2 files changed

+27
-4
lines changed

src/attributecode/cmd.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -406,9 +406,8 @@ def log_errors(errors, quiet, show_all, base_dir=False):
406406

407407
msg_format = '%(sever)s: %(message)s'
408408

409-
# FIXME: do not create log file if there are NO errors
410-
# Create error.log
411-
if base_dir:
409+
# Create error.log if problematic_error detected
410+
if base_dir and have_problematic_error(errors):
412411
bdir = to_posix(base_dir)
413412
LOG_FILENAME = 'error.log'
414413
log_path = join(bdir, LOG_FILENAME)
@@ -426,8 +425,16 @@ def log_errors(errors, quiet, show_all, base_dir=False):
426425
elif sever in problematic_errors:
427426
print(msg_format % locals())
428427
if base_dir:
428+
# The logger will only log error if severity >= 30
429429
file_logger.log(severity, msg_format % locals())
430430

431431

432+
def have_problematic_error(errors):
433+
for severity, message in errors:
434+
sever = severities[severity]
435+
if sever in problematic_errors:
436+
return True
437+
return False
438+
432439
if __name__ == '__main__':
433440
cli()

tests/test_cmd.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,4 +85,20 @@ def test_log_errors_with_quiet(capsys):
8585
cmd.log_errors(errors, quiet, show_all, base_dir='')
8686
out, err = capsys.readouterr()
8787
assert '' == out
88-
assert '' == err
88+
assert '' == err
89+
90+
91+
def test_have_problematic_error():
92+
have_problematic_errors = [Error(CRITICAL, 'msg1'),
93+
Error(ERROR, 'msg2'),
94+
Error(INFO, 'msg3'),
95+
Error(WARNING, 'msg4'),
96+
Error(DEBUG, 'msg4'),
97+
Error(NOTSET, 'msg4'),
98+
]
99+
no_problematic_errors = [Error(INFO, 'msg3'),
100+
Error(DEBUG, 'msg4'),
101+
Error(NOTSET, 'msg4'),
102+
]
103+
assert cmd.have_problematic_error(have_problematic_errors)
104+
assert cmd.have_problematic_error(no_problematic_errors) == False

0 commit comments

Comments
 (0)