mbligh | 9f85792 | 2008-06-05 16:19:07 +0000 | [diff] [blame] | 1 | import os |
mbligh | 53da18e | 2009-01-05 21:13:26 +0000 | [diff] [blame] | 2 | from autotest_lib.client.bin import test, utils |
mbligh | 9f85792 | 2008-06-05 16:19:07 +0000 | [diff] [blame] | 3 | |
mbligh | e479513 | 2006-12-19 20:30:15 +0000 | [diff] [blame] | 4 | |
| 5 | class spew(test.test): |
jadmanski | 0afbb63 | 2008-06-06 21:10:57 +0000 | [diff] [blame] | 6 | version = 1 |
mbligh | e479513 | 2006-12-19 20:30:15 +0000 | [diff] [blame] | 7 | |
mbligh | c5ddfd1 | 2008-08-04 17:15:00 +0000 | [diff] [blame] | 8 | def initialize(self): |
| 9 | self.job.require_gcc() |
| 10 | |
| 11 | |
jadmanski | 0afbb63 | 2008-06-06 21:10:57 +0000 | [diff] [blame] | 12 | # ftp://ftp.berlios.de/pub/spew/1.0.5/spew-1.0.5.tgz |
| 13 | def setup(self, tarball = 'spew-1.0.5.tgz'): |
mbligh | 8b35285 | 2008-06-07 01:07:08 +0000 | [diff] [blame] | 14 | self.tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir) |
mbligh | 53da18e | 2009-01-05 21:13:26 +0000 | [diff] [blame] | 15 | utils.extract_tarball_to_dir(self.tarball, self.srcdir) |
mbligh | e479513 | 2006-12-19 20:30:15 +0000 | [diff] [blame] | 16 | |
jadmanski | 0afbb63 | 2008-06-06 21:10:57 +0000 | [diff] [blame] | 17 | os.chdir(self.srcdir) |
Eric Li | 6f27d4f | 2010-09-29 10:55:17 -0700 | [diff] [blame] | 18 | utils.configure() |
| 19 | utils.make() |
mbligh | e479513 | 2006-12-19 20:30:15 +0000 | [diff] [blame] | 20 | |
| 21 | |
mbligh | 55d3b58 | 2008-08-28 18:04:58 +0000 | [diff] [blame] | 22 | def run_once(self, testdir = None, filesize='100M', type='write', |
| 23 | pattern='random'): |
jadmanski | 0afbb63 | 2008-06-06 21:10:57 +0000 | [diff] [blame] | 24 | 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()) |
mbligh | 55d3b58 | 2008-08-28 18:04:58 +0000 | [diff] [blame] | 28 | 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) |
jadmanski | 0afbb63 | 2008-06-06 21:10:57 +0000 | [diff] [blame] | 31 | cmd += ' ' + args |
mbligh | e479513 | 2006-12-19 20:30:15 +0000 | [diff] [blame] | 32 | |
jadmanski | 0afbb63 | 2008-06-06 21:10:57 +0000 | [diff] [blame] | 33 | open(self.resultsdir + '/command', 'w').write(cmd + '\n') |
showard | 75cdfee | 2009-06-10 17:40:41 +0000 | [diff] [blame] | 34 | self.job.logging.redirect(results) |
jadmanski | 0afbb63 | 2008-06-06 21:10:57 +0000 | [diff] [blame] | 35 | try: |
| 36 | utils.system(cmd) |
| 37 | finally: |
showard | 75cdfee | 2009-06-10 17:40:41 +0000 | [diff] [blame] | 38 | self.job.logging.restore() |