242 def testStopPropagation(self):
244 monitoring_socket = self.create_socket(self.monitoring_port)
246 input_socket = self.create_socket(self.input_port)
247 self.send(input_socket,
"h")
248 self.assertIsMsgType(input_socket,
"c")
250 second_input_socket = self.create_socket(self.input_port, identity=
"other_socket")
251 self.send(second_input_socket,
"h")
252 self.assertIsMsgType(second_input_socket,
"c")
255 self.assertMonitoring(monitoring_socket,
"input.registered_workers", 2)
256 self.assertNotHasOutputFile(
"outputFile.root", timeout=1)
259 self.assertMonitoring(monitoring_socket,
"input.received_stop_messages", 0)
260 self.assertMonitoring(monitoring_socket,
"input.all_stop_messages",
False)
263 self.send(input_socket,
"l")
264 self.assertIsMsgType(input_socket,
"c")
265 self.assertMonitoring(monitoring_socket,
"input.received_stop_messages", 1)
266 self.assertMonitoring(monitoring_socket,
"input.all_stop_messages",
False)
267 self.assertNotHasOutputFile(
"outputFile.root", timeout=1)
270 self.send(second_input_socket,
"l")
271 self.assertIsMsgType(second_input_socket,
"c")
272 self.assertMonitoring(monitoring_socket,
"input.received_stop_messages", 2)
273 self.assertMonitoring(monitoring_socket,
"input.all_stop_messages",
True)
274 self.assertNotHasOutputFile(
"outputFile.root", timeout=1)
277 self.send(monitoring_socket,
"n")
278 self.assertMonitoring(monitoring_socket,
"input.received_stop_messages", 0)
279 self.assertMonitoring(monitoring_socket,
"input.all_stop_messages",
False)
282 self.send(input_socket,
"v", self.histogram_data, self.event_data)
283 self.assertIsMsgType(input_socket,
"c")
285 self.send(input_socket,
"v", self.histogram_data, self.event_data)
286 self.assertIsMsgType(input_socket,
"c")
288 self.send(second_input_socket,
"v", self.histogram_data, self.event_data)
289 self.assertIsMsgType(second_input_socket,
"c")
291 self.send(input_socket,
"v", self.histogram_data, self.event_data)
292 self.assertIsMsgType(input_socket,
"c")
294 self.send(second_input_socket,
"v", self.histogram_data, self.event_data)
295 self.assertIsMsgType(second_input_socket,
"c")
297 self.send(second_input_socket,
"v", self.histogram_data, self.event_data)
298 self.assertIsMsgType(second_input_socket,
"c")
301 self.assertMonitoring(monitoring_socket,
"input.received_events", 6)
302 self.assertNotHasOutputFile(
"outputFile.root", timeout=1)
305 self.send(input_socket,
"l")
306 self.assertIsMsgType(input_socket,
"c")
307 self.send(second_input_socket,
"l")
308 self.assertIsMsgType(second_input_socket,
"c")
311 self.assertMonitoring(monitoring_socket,
"input.received_stop_messages", 2)
312 self.assertMonitoring(monitoring_socket,
"input.all_stop_messages",
True)
313 self.assertHasOutputFile(
"outputFile.root", unlink=
False)
314 self.assertTrue(check_histogram_output(
"outputFile.root", 2))
317 self.send(input_socket,
"x")
318 self.assertIsMsgType(input_socket,
"c")
319 self.send(second_input_socket,
"x")
320 self.assertIsMsgType(second_input_socket,
"c")
323 self.assertNotHasOutputFile(
"outputFile.root")
325 self.assertIsDown(
"histoserver")