|  | @@ -25,15 +25,26 @@ from celery.tests.utils import AppCase, Case, mock_open
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  class test_WorkerComponent(AppCase):
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    def test_create(self):
 | 
	
		
			
				|  |  | +    def test_create_threaded(self):
 | 
	
		
			
				|  |  |          w = Mock()
 | 
	
		
			
				|  |  | +        w.use_eventloop = False
 | 
	
		
			
				|  |  |          x = WorkerComponent(w)
 | 
	
		
			
				|  |  |          x.instantiate = Mock()
 | 
	
		
			
				|  |  |          r = x.create(w)
 | 
	
		
			
				|  |  | -        x.instantiate.assert_called_with(w.autoreloader_cls,
 | 
	
		
			
				|  |  | -                                         controller=w)
 | 
	
		
			
				|  |  | +        x.instantiate.assert_called_with(w.autoreloader_cls, w)
 | 
	
		
			
				|  |  |          self.assertIs(r, w.autoreloader)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    def test_create_ev(self):
 | 
	
		
			
				|  |  | +        w = Mock()
 | 
	
		
			
				|  |  | +        w.use_eventloop = True
 | 
	
		
			
				|  |  | +        x = WorkerComponent(w)
 | 
	
		
			
				|  |  | +        x.instantiate = Mock()
 | 
	
		
			
				|  |  | +        r = x.create(w)
 | 
	
		
			
				|  |  | +        x.instantiate.assert_called_with(w.autoreloader_cls, w)
 | 
	
		
			
				|  |  | +        self.assertIsNone(r)
 | 
	
		
			
				|  |  | +        w.hub.on_init.append.assert_called_with(w.autoreloader.on_poll_init)
 | 
	
		
			
				|  |  | +        w.hub.on_close.append.assert_called_with(w.autoreloader.on_poll_close)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  class test_file_hash(Case):
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -92,32 +103,36 @@ class test_KQueueMontior(Case):
 | 
	
		
			
				|  |  |      @patch("os.close")
 | 
	
		
			
				|  |  |      def test_stop(self, close, kqueue):
 | 
	
		
			
				|  |  |          x = KQueueMonitor(["a", "b"])
 | 
	
		
			
				|  |  | -        x._kq = Mock()
 | 
	
		
			
				|  |  | +        x.poller = Mock()
 | 
	
		
			
				|  |  |          x.filemap["a"] = 10
 | 
	
		
			
				|  |  |          x.stop()
 | 
	
		
			
				|  |  | -        x._kq.close.assert_called_with()
 | 
	
		
			
				|  |  | +        x.poller.close.assert_called_with()
 | 
	
		
			
				|  |  |          close.assert_called_with(10)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          close.side_effect = OSError()
 | 
	
		
			
				|  |  |          close.side_effect.errno = errno.EBADF
 | 
	
		
			
				|  |  |          x.stop()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    @patch("select.kqueue", create=True)
 | 
	
		
			
				|  |  | -    @patch("select.kevent", create=True)
 | 
	
		
			
				|  |  | +    @patch("kombu.utils.eventio.kqueue", create=True)
 | 
	
		
			
				|  |  | +    @patch("kombu.utils.eventio.kevent", create=True)
 | 
	
		
			
				|  |  |      @patch("os.open")
 | 
	
		
			
				|  |  | -    def test_start(self, osopen, kevent, kqueue):
 | 
	
		
			
				|  |  | +    @patch("select.kqueue")
 | 
	
		
			
				|  |  | +    def test_start(self, _kq, osopen, kevent, kqueue):
 | 
	
		
			
				|  |  | +        from kombu.utils import eventio
 | 
	
		
			
				|  |  |          prev = {}
 | 
	
		
			
				|  |  |          flags = ["KQ_FILTER_VNODE", "KQ_EV_ADD", "KQ_EV_ENABLE",
 | 
	
		
			
				|  |  |                   "KQ_EV_CLEAR", "KQ_NOTE_WRITE", "KQ_NOTE_EXTEND"]
 | 
	
		
			
				|  |  |          for i, flag in enumerate(flags):
 | 
	
		
			
				|  |  | -            prev[flag] = getattr(select, flag, None)
 | 
	
		
			
				|  |  | +            prev[flag] = getattr(eventio, flag, None)
 | 
	
		
			
				|  |  |              if not prev[flag]:
 | 
	
		
			
				|  |  | -                setattr(select, flag, i)
 | 
	
		
			
				|  |  | +                setattr(eventio, flag, i)
 | 
	
		
			
				|  |  |          try:
 | 
	
		
			
				|  |  |              kq = kqueue.return_value = Mock()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              class ev(object):
 | 
	
		
			
				|  |  |                  ident = 10
 | 
	
		
			
				|  |  | +                filter = eventio.KQ_FILTER_VNODE
 | 
	
		
			
				|  |  | +                fflags = eventio.KQ_NOTE_WRITE
 | 
	
		
			
				|  |  |              kq.control.return_value = [ev()]
 | 
	
		
			
				|  |  |              x = KQueueMonitor(["a"])
 | 
	
		
			
				|  |  |              osopen.return_value = 10
 | 
	
	
		
			
				|  | @@ -134,9 +149,9 @@ class test_KQueueMontior(Case):
 | 
	
		
			
				|  |  |          finally:
 | 
	
		
			
				|  |  |              for flag in flags:
 | 
	
		
			
				|  |  |                  if prev[flag]:
 | 
	
		
			
				|  |  | -                    setattr(select, flag, prev[flag])
 | 
	
		
			
				|  |  | +                    setattr(eventio, flag, prev[flag])
 | 
	
		
			
				|  |  |                  else:
 | 
	
		
			
				|  |  | -                    delattr(select, flag)
 | 
	
		
			
				|  |  | +                    delattr(eventio, flag)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  class test_InotifyMonitor(Case):
 |