Home | History | Annotate | Download | only in iosched_bugs
      1 import os, time
      2 import subprocess
      3 from autotest_lib.client.bin import test
      4 from autotest_lib.client.common_lib import utils, error
      5 
      6 
      7 class iosched_bugs(test.test):
      8     version = 1
      9     preserve_srcdir = True
     10 
     11     def initialize(self):
     12         self.job.require_gcc()
     13 
     14 
     15     def setup(self):
     16         os.chdir(self.srcdir)
     17         utils.make()
     18 
     19 
     20     def execute(self):
     21         os.chdir(self.tmpdir)
     22         (p1, _) = utils.run_bg('dd if=/dev/hda3 of=/dev/null')
     23         time.sleep(60)
     24         blah = os.path.join(self.tmpdir, 'blah')
     25         dirty_bin = os.path.join(self.srcdir, 'dirty')
     26         dirty_op = os.path.join(self.tmpdir, 'dirty')
     27         utils.system('echo AA > ' + blah)
     28         p2 = subprocess.Popen(dirty_bin + ' ' + blah + ' 1 > ' + dirty_op,
     29                               shell=True)
     30         time.sleep(600)
     31         if p2.poll() is None:
     32             utils.nuke_subprocess(p1)
     33             utils.nuke_subprocess(p2)
     34             raise error.TestFail('Writes made no progress')
     35 # Commenting out use of utils.run as there is a timeout bug
     36 #
     37 #       try:
     38 #           utils.run(dirty_bin + ' ' + blah + '1 > ' + dirty_op, 900, False,
     39 #                     None, None)
     40 #       except:
     41 #           utils.nuke_subprocess(p1)
     42 #           raise error.TestFail('Writes made no progress')
     43         utils.nuke_subprocess(p1)
     44