updated TI for pinaka
@@ -10,12 +10,12 @@ import benchexec.tools.template
import benchexec.result as result
-class Tool(benchexec.tools.template.BaseTool):
+class Tool(benchexec.tools.template.BaseTool2):
REQUIRED_PATHS = ["pinaka-wrapper.sh", "pinaka"]
- def executable(self):
- return util.find_executable("pinaka-wrapper.sh")
+ def executable(self, tool_locator):
+ return tool_locator.find_executable("pinaka-wrapper.sh")
def version(self, executable):
return self._version_from_tool(executable)
@@ -23,13 +23,21 @@ class Tool(benchexec.tools.template.BaseTool):
def name(self):
return "Pinaka"
- def cmdline(self, executable, options, tasks, propertyfile, rlimits):
- if propertyfile:
- options = options + ["--propertyfile", propertyfile]
-
- return [executable] + options + tasks
-
- def determine_result(self, returncode, returnsignal, output, isTimeout):
+ def cmdline(self, executable, options, task, rlimits):
+ if task.property_file:
+ options = options + ["--propertyfile", task.property_file]
+ data_model_param = util.get_data_model_from_task(
+ task, {"ILP32": "--32", "LP64": "--64"}
+ )
+ if data_model_param and data_model_param not in options:
+ options += [data_model_param]
+
+ return [executable] + options + list(task.input_files_or_identifier)
+
+ def determine_result(self, run):
+ returnsignal = run.exit_code.signal or 0
+ returncode = run.exit_code.value or 0
+ output = run.output._lines
status = ""
if returnsignal == 0 and ((returncode == 0) or (returncode == 10)):
