25
25
26
26
class test_WorkerComponent (AppCase ):
27
27
28
- def test_create (self ):
28
+ def test_create_threaded (self ):
29
29
w = Mock ()
30
+ w .use_eventloop = False
30
31
x = WorkerComponent (w )
31
32
x .instantiate = Mock ()
32
33
r = x .create (w )
33
- x .instantiate .assert_called_with (w .autoreloader_cls ,
34
- controller = w )
34
+ x .instantiate .assert_called_with (w .autoreloader_cls , w )
35
35
self .assertIs (r , w .autoreloader )
36
36
37
+ def test_create_ev (self ):
38
+ w = Mock ()
39
+ w .use_eventloop = True
40
+ x = WorkerComponent (w )
41
+ x .instantiate = Mock ()
42
+ r = x .create (w )
43
+ x .instantiate .assert_called_with (w .autoreloader_cls , w )
44
+ self .assertIsNone (r )
45
+ w .hub .on_init .append .assert_called_with (w .autoreloader .on_poll_init )
46
+ w .hub .on_close .append .assert_called_with (w .autoreloader .on_poll_close )
47
+
37
48
38
49
class test_file_hash (Case ):
39
50
@@ -92,32 +103,36 @@ class test_KQueueMontior(Case):
92
103
@patch ("os.close" )
93
104
def test_stop (self , close , kqueue ):
94
105
x = KQueueMonitor (["a" , "b" ])
95
- x ._kq = Mock ()
106
+ x .poller = Mock ()
96
107
x .filemap ["a" ] = 10
97
108
x .stop ()
98
- x ._kq .close .assert_called_with ()
109
+ x .poller .close .assert_called_with ()
99
110
close .assert_called_with (10 )
100
111
101
112
close .side_effect = OSError ()
102
113
close .side_effect .errno = errno .EBADF
103
114
x .stop ()
104
115
105
- @patch ("select .kqueue" , create = True )
106
- @patch ("select .kevent" , create = True )
116
+ @patch ("kombu.utils.eventio .kqueue" , create = True )
117
+ @patch ("kombu.utils.eventio .kevent" , create = True )
107
118
@patch ("os.open" )
108
- def test_start (self , osopen , kevent , kqueue ):
119
+ @patch ("select.kqueue" )
120
+ def test_start (self , _kq , osopen , kevent , kqueue ):
121
+ from kombu .utils import eventio
109
122
prev = {}
110
123
flags = ["KQ_FILTER_VNODE" , "KQ_EV_ADD" , "KQ_EV_ENABLE" ,
111
124
"KQ_EV_CLEAR" , "KQ_NOTE_WRITE" , "KQ_NOTE_EXTEND" ]
112
125
for i , flag in enumerate (flags ):
113
- prev [flag ] = getattr (select , flag , None )
126
+ prev [flag ] = getattr (eventio , flag , None )
114
127
if not prev [flag ]:
115
- setattr (select , flag , i )
128
+ setattr (eventio , flag , i )
116
129
try :
117
130
kq = kqueue .return_value = Mock ()
118
131
119
132
class ev (object ):
120
133
ident = 10
134
+ filter = eventio .KQ_FILTER_VNODE
135
+ fflags = eventio .KQ_NOTE_WRITE
121
136
kq .control .return_value = [ev ()]
122
137
x = KQueueMonitor (["a" ])
123
138
osopen .return_value = 10
@@ -134,9 +149,9 @@ def on_is_set():
134
149
finally :
135
150
for flag in flags :
136
151
if prev [flag ]:
137
- setattr (select , flag , prev [flag ])
152
+ setattr (eventio , flag , prev [flag ])
138
153
else :
139
- delattr (select , flag )
154
+ delattr (eventio , flag )
140
155
141
156
142
157
class test_InotifyMonitor (Case ):
0 commit comments