updated TI for predatorHP
@@ -10,7 +10,7 @@ import benchexec.tools.template
import benchexec.result as result
-class Tool(benchexec.tools.template.BaseTool):
+class Tool(benchexec.tools.template.BaseTool2):
"""
Wrapper for a Predator - Hunting Party
http://www.fit.vutbr.cz/research/groups/verifit/tools/predator-hp/
@@ -18,8 +18,8 @@ class Tool(benchexec.tools.template.BaseTool):
REQUIRED_PATHS = ["predator", "predator-bfs", "predator-dfs", "predatorHP.py"]
- def executable(self):
- return util.find_executable("predatorHP.py")
+ def executable(self, tool_locator):
+ return tool_locator.find_executable("predatorHP.py")
def name(self):
return "PredatorHP"
@@ -27,12 +27,23 @@ class Tool(benchexec.tools.template.BaseTool):
def version(self, executable):
return self._version_from_tool(executable, use_stderr=True)
- def cmdline(self, executable, options, tasks, propertyfile=None, rlimits={}):
- spec = ["--propertyfile", propertyfile] if propertyfile is not None else []
- return [executable] + options + spec + tasks
+ def cmdline(self, executable, options, task, rlimits):
+ spec = (
+ ["--propertyfile", task.property_file]
+ if task.property_file is not None
+ else []
+ )
- def determine_result(self, returncode, returnsignal, output, isTimeout):
- output = "\n".join(output)
+ data_model_param = util.get_data_model_from_task(
+ task, {"ILP32": "-m32", "LP64": "-m64"}
+ )
+ if data_model_param and data_model_param not in options:
+ options += ["--compiler-options", data_model_param]
+
+ return [executable] + options + spec + list(task.input_files_or_identifier)
+
+ def determine_result(self, run):
+ output = "\n".join(run.output)
status = "UNKNOWN"
if "UNKNOWN" in output:
status = result.RESULT_UNKNOWN
@@ -48,6 +59,6 @@ class Tool(benchexec.tools.template.BaseTool):
status = result.RESULT_FALSE_MEMCLEANUP
elif "FALSE" in output:
status = result.RESULT_FALSE_REACH
- if status == "UNKNOWN" and isTimeout:
+ if status == "UNKNOWN" and run.was_timeout:
status = "TIMEOUT"
return status
