Author: kwall
Date: Fri Mar 29 12:33:05 2013
New Revision: 1462458

URL: http://svn.apache.org/r1462458
Log:
NO-JIRA: Strengthen test code so that server is always stopped regardless of 
previous exception(s). Specifically, this avoids the "Address already in use" 
spurious test failures that we are currently seeing immediately after 
testSendBogus fails.

Modified:
    qpid/proton/trunk/tests/python/proton_tests/messenger.py

Modified: qpid/proton/trunk/tests/python/proton_tests/messenger.py
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/tests/python/proton_tests/messenger.py?rev=1462458&r1=1462457&r2=1462458&view=diff
==============================================================================
--- qpid/proton/trunk/tests/python/proton_tests/messenger.py (original)
+++ qpid/proton/trunk/tests/python/proton_tests/messenger.py Fri Mar 29 
12:33:05 2013
@@ -49,17 +49,19 @@ class Test(common.Test):
     self.client.start()
 
   def teardown(self):
-    if self.running:
-      # send a message to cause the server to promptly exit
-      self.running = False
-      msg = Message()
-      msg.address="amqp://0.0.0.0:12345"
-      self.client.put(msg)
-      self.client.send()
-    self.client.stop()
-    self.server_thread.join()
-    self.client = None
-    self.server = None
+    try:
+      if self.running:
+        # send a message to cause the server to promptly exit
+        self.running = False
+        msg = Message()
+        msg.address="amqp://0.0.0.0:12345"
+        self.client.put(msg)
+        self.client.send()
+    finally:
+      self.client.stop()
+      self.server_thread.join()
+      self.client = None
+      self.server = None
 
 REJECT_ME = "*REJECT-ME*"
 
@@ -67,12 +69,14 @@ class MessengerTest(Test):
 
   def run_server(self):
     msg = Message()
-    while self.running:
-      self.server_is_running_event.set()
-      self.server.recv(self.server_credit)
-      self.process_incoming(msg)
-    self.server.stop()
-    self.running = False
+    try:
+      while self.running:
+        self.server_is_running_event.set()
+        self.server.recv(self.server_credit)
+        self.process_incoming(msg)
+    finally:
+      self.server.stop()
+      self.running = False
 
   def process_incoming(self, msg):
     while self.server.incoming:



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to