Source code for benchbuild.projects.benchbuild.minisat
from plumbum import local
from benchbuild import project
from benchbuild.utils import compiler, download, run, wrapping
from benchbuild.utils.cmd import git, make
[docs]@download.with_git("https://github.com/niklasso/minisat", limit=5)
class Minisat(project.Project):
""" minisat benchmark """
NAME = 'minisat'
DOMAIN = 'verification'
GROUP = 'benchbuild'
SRC_FILE = 'minisat.git'
VERSION = 'HEAD'
[docs] def run_tests(self, runner):
src_path = local.path(self.src_file)
minisat_lib_path = src_path / "build" / "dynamic" / "lib"
testfiles = local.path(self.testdir) // "*.cnf.gz"
minisat = wrapping.wrap(
src_path / "build" / "dynamic" / "bin" / "minisat", self)
for test_f in testfiles:
cmd = (minisat.with_env(LD_LIBRARY_PATH=minisat_lib_path) < test_f)
runner(cmd, None)
[docs] def compile(self):
self.download()
with local.cwd(self.src_file):
git("fetch", "origin", "pull/17/head:clang")
git("checkout", "clang")
run.run(make["config"])
clang = compiler.cc(self)
clang_cxx = compiler.cxx(self)
run.run(make["CC=" + str(clang), "CXX=" +
str(clang_cxx), "clean", "lsh", "sh"])