1import os, logging 2from autotest_lib.client.bin import test, utils 3 4 5class tiobench(test.test): 6 version = 1 7 8 # http://prdownloads.sourceforge.net/tiobench/tiobench-0.3.3.tar.gz 9 def setup(self, tarball = 'tiobench-0.3.3.tar.bz2'): 10 tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) 11 utils.extract_tarball_to_dir(tarball, self.srcdir) 12 os.chdir(self.srcdir) 13 utils.system('patch -p1 < ../makefile.patch') 14 utils.system('make') 15 16 17 def initialize(self): 18 self.job.require_gcc() 19 20 21 def run_once(self, dir = None, args = None): 22 if not dir: 23 self.dir = self.tmpdir 24 else: 25 self.dir = dir 26 if not args: 27 self.args = '--block=4096 --block=8192 --threads=10 --size=1024 --numruns=2' 28 else: 29 self.args = args 30 31 os.chdir(self.srcdir) 32 results = utils.system_output('./tiobench.pl --dir %s %s' % 33 (self.dir, self.args)) 34 35 logging.info(results) 36 results_path = os.path.join(self.resultsdir, 37 'raw_output_%s' % self.iteration) 38 39 utils.open_write_close(results_path, results) 40