Revision 232144d0 test/ganeti.utils_unittest.py

b/test/ganeti.utils_unittest.py
39 39
import distutils.version
40 40
import glob
41 41
import md5
42
import errno
42 43

  
43 44
import ganeti
44 45
import testutils
......
1822 1823
                             "", "x"])
1823 1824

  
1824 1825

  
1826
class TestIgnoreSignals(unittest.TestCase):
1827
  """Test the IgnoreSignals decorator"""
1828

  
1829
  @staticmethod
1830
  def _Raise(exception):
1831
    raise exception
1832

  
1833
  @staticmethod
1834
  def _Return(rval):
1835
    return rval
1836

  
1837
  def testIgnoreSignals(self):
1838
    sock_err_intr = socket.error(errno.EINTR, "Message")
1839
    sock_err_intr.errno = errno.EINTR
1840
    sock_err_inval = socket.error(errno.EINVAL, "Message")
1841
    sock_err_inval.errno = errno.EINVAL
1842

  
1843
    env_err_intr = EnvironmentError(errno.EINTR, "Message")
1844
    env_err_inval = EnvironmentError(errno.EINVAL, "Message")
1845

  
1846
    self.assertRaises(socket.error, self._Raise, sock_err_intr)
1847
    self.assertRaises(socket.error, self._Raise, sock_err_inval)
1848
    self.assertRaises(EnvironmentError, self._Raise, env_err_intr)
1849
    self.assertRaises(EnvironmentError, self._Raise, env_err_inval)
1850

  
1851
    self.assertEquals(utils.IgnoreSignals(self._Raise, sock_err_intr), None)
1852
    self.assertEquals(utils.IgnoreSignals(self._Raise, env_err_intr), None)
1853
    self.assertRaises(socket.error, utils.IgnoreSignals, self._Raise,
1854
                      sock_err_inval)
1855
    self.assertRaises(EnvironmentError, utils.IgnoreSignals, self._Raise,
1856
                      env_err_inval)
1857

  
1858
    self.assertEquals(utils.IgnoreSignals(self._Return, True), True)
1859
    self.assertEquals(utils.IgnoreSignals(self._Return, 33), 33)
1860

  
1861

  
1825 1862
if __name__ == '__main__':
1826 1863
  testutils.GanetiTestProgram()

Also available in: Unified diff