Source code for benchbuild.projects.benchbuild.ccrypt
from plumbum import local
from benchbuild import project
from benchbuild.utils import compiler, download, run, wrapping
from benchbuild.utils.cmd import make, tar
[docs]@download.with_wget({
"1.10":
"http://ccrypt.sourceforge.net/download/ccrypt-1.10.tar.gz"
})
class Ccrypt(project.Project):
""" ccrypt benchmark """
NAME = 'ccrypt'
DOMAIN = 'encryption'
GROUP = 'benchbuild'
VERSION = '1.10'
SRC_FILE = 'ccrypt.tar.gz'
[docs] def compile(self):
self.download()
tar('xfz', self.src_file)
unpack_dir = 'ccrypt-{0}'.format(self.version)
clang = compiler.cc(self)
clang_cxx = compiler.cxx(self)
with local.cwd(unpack_dir):
configure = local["./configure"]
with local.env(CC=str(clang), CXX=str(clang_cxx)):
run.run(configure)
run.run(make["check"])
[docs] def run_tests(self, runner):
unpack_dir = 'ccrypt-{0}'.format(self.version)
with local.cwd(unpack_dir):
wrapping.wrap(local.path("src") / self.name, self)
wrapping.wrap(local.path("check") / "crypt3-check", self)
wrapping.wrap(local.path("check") / "rijndael-check", self)
run.run(make["check"])