| Index: client/common_lib/log.py
|
| diff --git a/client/common_lib/log.py b/client/common_lib/log.py
|
| index 4af1d3f1bb803ab21f45f6de0c2935eb5c736e72..a54ad2dd7caa638d54ff874c674a5c8dc8182410 100644
|
| --- a/client/common_lib/log.py
|
| +++ b/client/common_lib/log.py
|
| @@ -1,17 +1,29 @@
|
| import sys, re, traceback
|
|
|
| -
|
| +# these statuses are ordered such that a status earlier in the list will
|
| +# override a status later in a list (e.g. ERROR during a test will override
|
| +# prior GOOD results, but WARN will not override a FAIL)
|
| job_statuses = ["TEST_NA", "ABORT", "ERROR", "FAIL", "WARN", "GOOD", "ALERT",
|
| "RUNNING", "NOSTATUS"]
|
|
|
| def is_valid_status(status):
|
| - if not re.match(r'(START|INFO|(END )?('+'|'.join(job_statuses)+'))$',
|
| + if not re.match(r'(START|INFO|(END )?(' + '|'.join(job_statuses) + '))$',
|
| status):
|
| return False
|
| else:
|
| return True
|
|
|
|
|
| +def is_failure(status):
|
| + if not is_valid_status(status):
|
| + return False
|
| + if status in ('START', 'INFO'):
|
| + return False
|
| + if status.startswith('END '):
|
| + status = status[len('END '):]
|
| + return job_statuses.index(status) <= job_statuses.index("FAIL")
|
| +
|
| +
|
| def record(fn):
|
| """
|
| Generic method decorator for logging calls under the
|
|
|