@@ -69,17 +69,8 @@ def __init__(self, cmd, name=None, colour=None, quiet=None, env=None, cwd=None):
69
69
self .env = env
70
70
self .cwd = cwd
71
71
72
- self ._events = None
73
- self ._options = {}
74
-
75
72
def run (self , events = None , ignore_signals = False ):
76
- self ._report ('run' , events_passed = events is not None )
77
-
78
- def _report (self , type , ** data ):
79
- if self ._events is not None :
80
- data .update ({'type' : type ,
81
- 'name' : self .name })
82
- self ._events .put (data )
73
+ pass
83
74
84
75
85
76
class Harness (object ):
@@ -89,11 +80,8 @@ def __init__(self, history, manager):
89
80
self .manager = manager
90
81
self .events_local = []
91
82
92
- self ._q = multiprocessing .Queue ()
93
- self ._rc = multiprocessing .Value ('i' , - 999 )
94
-
95
83
def run (self , wait = True ):
96
- self .manager ._process_ctor = self . _process_ctor
84
+ self .manager ._process_ctor = FakeProcess
97
85
98
86
for name , options in self .history ['processes' ].items ():
99
87
self .manager .add_process (name ,
@@ -104,55 +92,15 @@ def _loop(rc):
104
92
self .manager .loop ()
105
93
rc .value = self .manager .returncode
106
94
107
- self ._mproc = multiprocessing .Process (target = _loop , args = (self ._rc ,))
108
- self ._mproc .start ()
109
-
110
95
for msg in self .history ['messages' ]:
111
- self .send_manager (* msg )
112
-
113
- self ._mproc .join ()
114
-
115
- @property
116
- def manager_returncode (self ):
117
- if self ._rc .value == - 999 :
118
- return None
119
- return self ._rc .value
120
-
121
- def send_manager (self , process_name , type , data , ** kwargs ):
122
- self .manager .events .put (Message (type = type ,
123
- data = data ,
124
- time = datetime .datetime .now (),
125
- name = process_name ,
126
- colour = None ))
96
+ process_name , type , data = msg
97
+ self .manager .events .put (Message (type = type ,
98
+ data = data ,
99
+ time = datetime .datetime .now (),
100
+ name = process_name ,
101
+ colour = None ))
127
102
128
- def fetch_events (self ):
129
- """
130
- Retrieve any pending events from the queue and put them on the local
131
- event cache
132
- """
133
- while 1 :
134
- try :
135
- self .events_local .append (self ._q .get (False ))
136
- except queue .Empty :
137
- break
138
-
139
- def find_events (self , name = None , type = None ):
140
- self .fetch_events ()
141
- results = []
142
- for event in self .events_local :
143
- if name is not None and event ['name' ] != name :
144
- continue
145
- if type is not None and event ['type' ] != type :
146
- continue
147
- results .append (event )
148
- return results
149
-
150
- def _process_ctor (self , * args , ** kwargs ):
151
- options = self .history ['processes' ][kwargs ['name' ]]
152
- p = FakeProcess (* args , ** kwargs )
153
- p ._events = self ._q
154
- p ._options = options
155
- return p
103
+ self .manager .loop ()
156
104
157
105
158
106
class FakePrinter (object ):
@@ -240,13 +188,6 @@ def test_add_process_sets_cwd(self):
240
188
def test_loop_with_empty_manager_returns_immediately (self ):
241
189
self .m .loop ()
242
190
243
- def test_loop_calls_process_run (self ):
244
- self .run_history ('one' )
245
- evts = self .h .find_events (type = 'run' )
246
- assert len (evts ) == 1
247
- assert evts [0 ]['name' ] == 'foo'
248
- assert evts [0 ]['events_passed' ]
249
-
250
191
def test_printer_receives_messages_in_correct_order (self ):
251
192
self .run_history ('one' )
252
193
self .p .fetch_lines ()
@@ -263,7 +204,7 @@ def test_printer_receives_lines_multi_process(self):
263
204
264
205
def test_returncode_set_by_first_exiting_process (self ):
265
206
self .run_history ('returncode' )
266
- assert self .h .manager_returncode == 456
207
+ assert self .h .manager . returncode == 456
267
208
268
209
def test_printer_receives_lines_after_stop (self ):
269
210
self .run_history ('output_after_stop' )
0 commit comments