예제 #1
0
    def test_remove_if_stale_process_alive(self, kill):
        p = Pidfile('/var/pid')
        p.read_pid = Mock()
        p.read_pid.return_value = 1816
        kill.return_value = 0
        assert not p.remove_if_stale()
        kill.assert_called_with(1816, 0)
        p.read_pid.assert_called_with()

        kill.side_effect = OSError()
        kill.side_effect.errno = errno.ENOENT
        assert not p.remove_if_stale()
예제 #2
0
    def test_remove_if_stale_process_alive(self, kill):
        p = Pidfile('/var/pid')
        p.read_pid = Mock()
        p.read_pid.return_value = 1816
        kill.return_value = 0
        self.assertFalse(p.remove_if_stale())
        kill.assert_called_with(1816, 0)
        p.read_pid.assert_called_with()

        kill.side_effect = OSError()
        kill.side_effect.errno = errno.ENOENT
        self.assertFalse(p.remove_if_stale())
예제 #3
0
    def test_remove_if_stale_no_pidfile(self):
        p = Pidfile('/var/pid')
        p.read_pid = Mock()
        p.read_pid.return_value = None
        p.remove = Mock()

        assert p.remove_if_stale()
        p.remove.assert_called_with()
예제 #4
0
    def test_remove_if_stale_no_pidfile(self):
        p = Pidfile('/var/pid')
        p.read_pid = Mock()
        p.read_pid.return_value = None
        p.remove = Mock()

        self.assertTrue(p.remove_if_stale())
        p.remove.assert_called_with()
예제 #5
0
    def test_remove_if_stale_broken_pid(self):
        with mock.stdouts():
            p = Pidfile('/var/pid')
            p.read_pid = Mock()
            p.read_pid.side_effect = ValueError()
            p.remove = Mock()

            assert p.remove_if_stale()
            p.remove.assert_called_with()
예제 #6
0
    def test_remove_if_stale_broken_pid(self):
        with override_stdouts():
            p = Pidfile('/var/pid')
            p.read_pid = Mock()
            p.read_pid.side_effect = ValueError()
            p.remove = Mock()

            self.assertTrue(p.remove_if_stale())
            p.remove.assert_called_with()
예제 #7
0
 def test_remove_if_stale_process_dead(self, kill):
     with mock.stdouts():
         p = Pidfile('/var/pid')
         p.read_pid = Mock()
         p.read_pid.return_value = 1816
         p.remove = Mock()
         exc = OSError()
         exc.errno = errno.ESRCH
         kill.side_effect = exc
         assert p.remove_if_stale()
         kill.assert_called_with(1816, 0)
         p.remove.assert_called_with()
예제 #8
0
 def test_remove_if_stale_process_dead(self, kill):
     with override_stdouts():
         p = Pidfile('/var/pid')
         p.read_pid = Mock()
         p.read_pid.return_value = 1816
         p.remove = Mock()
         exc = OSError()
         exc.errno = errno.ESRCH
         kill.side_effect = exc
         self.assertTrue(p.remove_if_stale())
         kill.assert_called_with(1816, 0)
         p.remove.assert_called_with()
예제 #9
0
 def test_remove_if_stale_unprivileged_user(self, kill):
     with mock.stdouts():
         p = Pidfile('/var/pid')
         p.read_pid = Mock()
         p.read_pid.return_value = 1817
         p.remove = Mock()
         exc = OSError()
         exc.errno = errno.EPERM
         kill.side_effect = exc
         assert p.remove_if_stale()
         kill.assert_called_with(1817, 0)
         p.remove.assert_called_with()