old_contents: # This file is part of BenchExec, a framework for reliable benchmarking:
  # https://github.com/sosy-lab/benchexec
  #
  # SPDX-FileCopyrightText: 2007-2020 Dirk Beyer <https://www.sosy-lab.org>
  #
  # SPDX-License-Identifier: Apache-2.0
  
  import benchexec.util as util
  import benchexec.tools.template
  import benchexec.result as result
  
  
  class Tool(benchexec.tools.template.BaseTool):
      """
      Tool info for JayHorn (https://github.com/jayhorn/jayhorn).
      """
  
      REQUIRED_PATHS = ["jayhorn.jar", "EnumEliminator-assembly-0.1.jar", "jayhorn", "libz3.so", "libz3java.so"]
  
      def executable(self):
          return util.find_executable("jayhorn")
  
      def version(self, executable):
          return self._version_from_tool(executable)
  
      def name(self):
          return "JayHorn"
  
      def cmdline(self, executable, options, tasks, propertyfile, rlimits):
          options = options + ["--propertyfile", propertyfile]
          return [executable] + options + tasks
  
      def determine_result(self, returncode, returnsignal, output, isTimeout):
          # parse output
          status = result.RESULT_UNKNOWN
  
          for line in output:
              if "UNSAFE" in line:
                  status = result.RESULT_FALSE_PROP
              elif "SAFE" in line:
                  status = result.RESULT_TRUE_PROP
  
          return status
  
new_contents: # This file is part of BenchExec, a framework for reliable benchmarking:
  # https://github.com/sosy-lab/benchexec
  #
  # SPDX-FileCopyrightText: 2007-2020 Dirk Beyer <https://www.sosy-lab.org>
  #
  # SPDX-License-Identifier: Apache-2.0
  
  import benchexec.util as util
  import benchexec.tools.template
  import benchexec.result as result
  
  
  class Tool(benchexec.tools.template.BaseTool):
      """
      Tool info for JayHorn (https://github.com/jayhorn/jayhorn).
      """
  
      REQUIRED_PATHS = [
          "jayhorn.jar",
          "EnumEliminator-assembly-0.1.jar",
          "jayhorn",
          "libz3.so",
          "libz3java.so",
      ]
  
      def executable(self):
          return util.find_executable("jayhorn")
  
      def version(self, executable):
          return self._version_from_tool(executable)
  
      def name(self):
          return "JayHorn"
  
      def cmdline(self, executable, options, tasks, propertyfile, rlimits):
          options = options + ["--propertyfile", propertyfile]
          return [executable] + options + tasks
  
      def determine_result(self, returncode, returnsignal, output, isTimeout):
          # parse output
          status = result.RESULT_UNKNOWN
  
          for line in output:
              if "UNSAFE" in line:
                  status = result.RESULT_FALSE_PROP
              elif "SAFE" in line:
                  status = result.RESULT_TRUE_PROP
  
          return status
  
subject: fix source format