diff --git a/benchexec/tools/deagle.py b/benchexec/tools/deagle.py index 72812118c..dc57ed059 100644 --- a/benchexec/tools/deagle.py +++ b/benchexec/tools/deagle.py @@ -60,6 +60,17 @@ def determine_result(self, run): status = result.RESULT_TRUE_PROP elif run.output.any_line_contains("FAILED"): status = result.RESULT_FALSE_REACH + for line in run.output: + if "nodatarace.assertion." in line and "FAILURE" in line: + status = result.RESULT_FALSE_DATARACE + if ( + "alloc.assertion." in line or "pointer_dereference." in line + ) and "FAILURE" in line: + status = result.RESULT_FALSE_DEREF + if "memory-leak." in line and "FAILURE" in line: + status = result.RESULT_FALSE_MEMTRACK + if "overflow." in line and "FAILURE" in line: + status = result.RESULT_FALSE_OVERFLOW elif run.exit_code.value == 1: status = result.RESULT_UNKNOWN else: