@@ -0,0 +1,1291 @@
+# This file is part of BenchExec, a framework for reliable benchmarking:%0A# https://github.com/sosy-lab/benchexec%0A#%0A# SPDX-FileCopyrightText: 2007-2020 Dirk Beyer %3Chttps://www.sosy-lab.org%3E%0A#%0A# SPDX-License-Identifier: Apache-2.0%0A%0Aimport benchexec.tools.template%0Afrom collections.abc import Mapping%0A%0A%0Aclass Tool(benchexec.tools.template.BaseTool2):%0A    %22%22%22%0A    Tool info for Infer with a wrapper for usage in the SVCOMP.%0A    URL: https://fbinfer.com/%0A    %22%22%22%0A%0A    REQUIRED_PATHS = %5B%22.%22%5D%0A    _TOOL_NAME = %22infer-sv%22%0A    _SCRIPT_NAME = _TOOL_NAME + %22.py%22%0A%0A    def executable(self, tool_locator):%0A        return tool_locator.find_executable(Tool._SCRIPT_NAME)%0A%0A    def version(self, executable):%0A        return self._version_from_tool(executable, line_prefix=%22infer version %22)%0A%0A    def name(self):%0A        return Tool._TOOL_NAME%0A%0A    def cmdline(self, executable, options, task, rlimits):%0A        cmd = %5Bexecutable, %22--program%22%5D + list(task.input_files)%0A        if task.property_file:%0A            cmd += %5B%22--property%22, task.property_file%5D%0A        if isinstance(task.options, Mapping) and %22data_model%22 in task.options:%0A            cmd += %5B%22--datamodel%22, task.options%5B%22data_model%22%5D%5D%0A        return cmd%0A%0A    def determine_result(self, run):%0A        return run.output%5B-1%5D.split(%22:%22, maxsplit=2)%5B-1%5D%0A

Implement Tool for Infer