Revision b6522276 test/ganeti.utils.io_unittest.py

b/test/ganeti.utils.io_unittest.py
711 711
    read_pid = utils.ReadPidFile(pid_file)
712 712
    self.failUnlessEqual(read_pid, os.getpid())
713 713
    self.failUnless(utils.IsProcessAlive(read_pid))
714
    self.failUnlessRaises(errors.LockError, utils.WritePidFile,
714
    self.failUnlessRaises(errors.PidFileLockError, utils.WritePidFile,
715 715
                          self.f_dpn('test'))
716 716
    os.close(fd)
717 717
    utils.RemoveFile(self.f_dpn("test"))
......
747 747
    read_pid = utils.ReadPidFile(pid_file)
748 748
    self.failUnlessEqual(read_pid, new_pid)
749 749
    self.failUnless(utils.IsProcessAlive(new_pid))
750

  
751
    # Try writing to locked file
752
    try:
753
      utils.WritePidFile(pid_file)
754
    except errors.PidFileLockError, err:
755
      errmsg = str(err)
756
      self.assertTrue(errmsg.endswith(" %s" % new_pid),
757
                      msg=("Error message ('%s') didn't contain correct"
758
                           " PID (%s)" % (errmsg, new_pid)))
759
    else:
760
      self.fail("Writing to locked file didn't fail")
761

  
750 762
    utils.KillProcess(new_pid, waitpid=True)
751 763
    self.failIf(utils.IsProcessAlive(new_pid))
752 764
    utils.RemoveFile(self.f_dpn('child'))
753 765
    self.failUnlessRaises(errors.ProgrammerError, utils.KillProcess, 0)
754 766

  
767
  def testExceptionType(self):
768
    # Make sure the PID lock error is a subclass of LockError in case some code
769
    # depends on it
770
    self.assertTrue(issubclass(errors.PidFileLockError, errors.LockError))
771

  
755 772
  def tearDown(self):
756 773
    shutil.rmtree(self.dir)
757 774

  

Also available in: Unified diff