blob: d58e514d341dd74ca35e249f03f9832a2ea07e3e [file] [log] [blame]
mbligh34d01172008-06-05 16:26:31 +00001import os
mbligh9f857922008-06-05 16:19:07 +00002from autotest_lib.client.bin import test, autotest_utils
mbligh34d01172008-06-05 16:26:31 +00003from autotest_lib.client.common_lib import utils
mbligh9f857922008-06-05 16:19:07 +00004
mblighba8be6b2006-10-23 21:59:42 +00005
6class fsfuzzer(test.test):
jadmanski0afbb632008-06-06 21:10:57 +00007 version = 1
mblighba8be6b2006-10-23 21:59:42 +00008
mblighc5ddfd12008-08-04 17:15:00 +00009 def initialize(self):
10 self.job.require_gcc()
11
12
jadmanski0afbb632008-06-06 21:10:57 +000013 # http://people.redhat.com/sgrubb/files/fsfuzzer-0.6.tar.gz
14 def setup(self, tarball = 'fsfuzzer-0.6.tar.gz'):
mbligh8b352852008-06-07 01:07:08 +000015 tarball = utils.unmap_url(self.bindir, tarball, self.tmpdir)
jadmanski0afbb632008-06-06 21:10:57 +000016 autotest_utils.extract_tarball_to_dir(tarball, self.srcdir)
17 os.chdir(self.srcdir)
mblighba8be6b2006-10-23 21:59:42 +000018
jadmanski0afbb632008-06-06 21:10:57 +000019 utils.system('make')
mblighba8be6b2006-10-23 21:59:42 +000020
mblighc5ddfd12008-08-04 17:15:00 +000021
jadmanski0afbb632008-06-06 21:10:57 +000022 def execute(self, iterations = 1, fstype = 'iso9660'):
23 profilers = self.job.profilers
24 args = fstype + ' 1'
25 if not profilers.only():
26 for i in range(iterations):
27 utils.system(self.srcdir + '/run_test ' + args)
28
29 # Do a profiling run if necessary
30 if profilers.present():
31 profilers.start(self)
32 utils.system(self.srcdir + '/run_test ' + args)
33 profilers.stop(self)
34 profilers.report(self)