import os, time import subprocess from autotest_lib.client.bin import test from autotest_lib.client.common_lib import utils, error class iosched_bugs(test.test): version = 1 preserve_srcdir = True def initialize(self): self.job.require_gcc() def setup(self): os.chdir(self.srcdir) utils.make() def execute(self): os.chdir(self.tmpdir) (p1, _) = utils.run_bg('dd if=/dev/hda3 of=/dev/null') time.sleep(60) blah = os.path.join(self.tmpdir, 'blah') dirty_bin = os.path.join(self.srcdir, 'dirty') dirty_op = os.path.join(self.tmpdir, 'dirty') utils.system('echo AA > ' + blah) p2 = subprocess.Popen(dirty_bin + ' ' + blah + ' 1 > ' + dirty_op, shell=True) time.sleep(600) if p2.poll() is None: utils.nuke_subprocess(p1) utils.nuke_subprocess(p2) raise error.TestFail('Writes made no progress') # Commenting out use of utils.run as there is a timeout bug # # try: # utils.run(dirty_bin + ' ' + blah + '1 > ' + dirty_op, 900, False, # None, None) # except: # utils.nuke_subprocess(p1) # raise error.TestFail('Writes made no progress') utils.nuke_subprocess(p1)