blob: 0c04bb06f3b5ce708be38a3e9af8426190fbd121 [file] [log] [blame]
mbligh9f857922008-06-05 16:19:07 +00001import os
mbligh53da18e2009-01-05 21:13:26 +00002from autotest_lib.client.bin import test, utils
mbligh9f857922008-06-05 16:19:07 +00003
mblighe4795132006-12-19 20:30:15 +00004
5class spew(test.test):
jadmanski0afbb632008-06-06 21:10:57 +00006 version = 1
mblighe4795132006-12-19 20:30:15 +00007
mblighc5ddfd12008-08-04 17:15:00 +00008 def initialize(self):
9 self.job.require_gcc()
10
11
jadmanski0afbb632008-06-06 21:10:57 +000012 # ftp://ftp.berlios.de/pub/spew/1.0.5/spew-1.0.5.tgz
13 def setup(self, tarball = 'spew-1.0.5.tgz'):
mbligh8b352852008-06-07 01:07:08 +000014 self.tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir)
mbligh53da18e2009-01-05 21:13:26 +000015 utils.extract_tarball_to_dir(self.tarball, self.srcdir)
mblighe4795132006-12-19 20:30:15 +000016
jadmanski0afbb632008-06-06 21:10:57 +000017 os.chdir(self.srcdir)
Eric Li6f27d4f2010-09-29 10:55:17 -070018 utils.configure()
19 utils.make()
mblighe4795132006-12-19 20:30:15 +000020
21
mbligh55d3b582008-08-28 18:04:58 +000022 def run_once(self, testdir = None, filesize='100M', type='write',
23 pattern='random'):
jadmanski0afbb632008-06-06 21:10:57 +000024 cmd = os.path.join(self.srcdir, 'src/spew')
25 if not testdir:
26 testdir = self.tmpdir
27 tmpfile = os.path.join(testdir, 'spew-test.%d' % os.getpid())
mbligh55d3b582008-08-28 18:04:58 +000028 results = os.path.join(self.resultsdir, 'stdout.%d' % self.iteration)
29 args = '--%s -p %s -b 2k -B 2M %s %s' % \
30 (type, pattern, filesize, tmpfile)
jadmanski0afbb632008-06-06 21:10:57 +000031 cmd += ' ' + args
mblighe4795132006-12-19 20:30:15 +000032
jadmanski0afbb632008-06-06 21:10:57 +000033 open(self.resultsdir + '/command', 'w').write(cmd + '\n')
showard75cdfee2009-06-10 17:40:41 +000034 self.job.logging.redirect(results)
jadmanski0afbb632008-06-06 21:10:57 +000035 try:
36 utils.system(cmd)
37 finally:
showard75cdfee2009-06-10 17:40:41 +000038 self.job.logging.restore()