40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
import os, logging
|
|
from autotest_lib.client.bin import test, utils
|
|
|
|
|
|
class tiobench(test.test):
|
|
version = 1
|
|
|
|
# http://prdownloads.sourceforge.net/tiobench/tiobench-0.3.3.tar.gz
|
|
def setup(self, tarball = 'tiobench-0.3.3.tar.bz2'):
|
|
tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir)
|
|
utils.extract_tarball_to_dir(tarball, self.srcdir)
|
|
os.chdir(self.srcdir)
|
|
utils.system('patch -p1 < ../makefile.patch')
|
|
utils.system('make')
|
|
|
|
|
|
def initialize(self):
|
|
self.job.require_gcc()
|
|
|
|
|
|
def run_once(self, dir = None, args = None):
|
|
if not dir:
|
|
self.dir = self.tmpdir
|
|
else:
|
|
self.dir = dir
|
|
if not args:
|
|
self.args = '--block=4096 --block=8192 --threads=10 --size=1024 --numruns=2'
|
|
else:
|
|
self.args = args
|
|
|
|
os.chdir(self.srcdir)
|
|
results = utils.system_output('./tiobench.pl --dir %s %s' %
|
|
(self.dir, self.args))
|
|
|
|
logging.info(results)
|
|
results_path = os.path.join(self.resultsdir,
|
|
'raw_output_%s' % self.iteration)
|
|
|
|
utils.open_write_close(results_path, results)
|