| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | 
							- from __future__ import absolute_import, unicode_literals
 
- import sys
 
- import time
 
- from case import Mock, patch, call
 
- import celery.utils.timer2 as timer2
 
- class test_Timer:
 
-     def test_enter_after(self):
 
-         t = timer2.Timer()
 
-         try:
 
-             done = [False]
 
-             def set_done():
 
-                 done[0] = True
 
-             t.call_after(0.3, set_done)
 
-             mss = 0
 
-             while not done[0]:
 
-                 if mss >= 2.0:
 
-                     raise Exception('test timed out')
 
-                 time.sleep(0.1)
 
-                 mss += 0.1
 
-         finally:
 
-             t.stop()
 
-     def test_exit_after(self):
 
-         t = timer2.Timer()
 
-         t.call_after = Mock()
 
-         t.exit_after(0.3, priority=10)
 
-         t.call_after.assert_called_with(0.3, sys.exit, 10)
 
-     def test_ensure_started_not_started(self):
 
-         t = timer2.Timer()
 
-         t.running = True
 
-         t.start = Mock()
 
-         t.ensure_started()
 
-         t.start.assert_not_called()
 
-         t.running = False
 
-         t.on_start = Mock()
 
-         t.ensure_started()
 
-         t.on_start.assert_called_with(t)
 
-         t.start.assert_called_with()
 
-     @patch('celery.utils.timer2.sleep')
 
-     def test_on_tick(self, sleep):
 
-         on_tick = Mock(name='on_tick')
 
-         t = timer2.Timer(on_tick=on_tick)
 
-         ne = t._next_entry = Mock(name='_next_entry')
 
-         ne.return_value = 3.33
 
-         ne.on_nth_call_do(t._is_shutdown.set, 3)
 
-         t.run()
 
-         sleep.assert_called_with(3.33)
 
-         on_tick.assert_has_calls([call(3.33), call(3.33), call(3.33)])
 
-     @patch('os._exit')
 
-     def test_thread_crash(self, _exit):
 
-         t = timer2.Timer()
 
-         t._next_entry = Mock()
 
-         t._next_entry.side_effect = OSError(131)
 
-         t.run()
 
-         _exit.assert_called_with(1)
 
-     def test_gc_race_lost(self):
 
-         t = timer2.Timer()
 
-         t._is_stopped.set = Mock()
 
-         t._is_stopped.set.side_effect = TypeError()
 
-         t._is_shutdown.set()
 
-         t.run()
 
-         t._is_stopped.set.assert_called_with()
 
-     def test_test_enter(self):
 
-         t = timer2.Timer()
 
-         t._do_enter = Mock()
 
-         e = Mock()
 
-         t.enter(e, 13, 0)
 
-         t._do_enter.assert_called_with('enter_at', e, 13, priority=0)
 
-     def test_test_enter_after(self):
 
-         t = timer2.Timer()
 
-         t._do_enter = Mock()
 
-         t.enter_after()
 
-         t._do_enter.assert_called_with('enter_after')
 
-     def test_cancel(self):
 
-         t = timer2.Timer()
 
-         tref = Mock()
 
-         t.cancel(tref)
 
-         tref.cancel.assert_called_with()
 
 
  |