[tor-commits] [stem/master] Don't rely on order for test_setconf_event test

atagar at torproject.org atagar at torproject.org
Tue Jan 31 17:11:03 UTC 2017


commit d7bdb1ecaa137d0bdb38b5731c7e5b1a7469728b
Author: Damian Johnson <atagar at torproject.org>
Date:   Tue Jan 31 09:10:19 2017 -0800

    Don't rely on order for test_setconf_event test
    
    With the recent tor push our test_setconf_event fails for me. This is because
    our test expected CONF_CHANGED events to come before the SETCONF 'OK' response.
    Changing our test to accept either ordering.
---
 test/integ/socket/control_message.py | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/test/integ/socket/control_message.py b/test/integ/socket/control_message.py
index b873a59..47f77c1 100644
--- a/test/integ/socket/control_message.py
+++ b/test/integ/socket/control_message.py
@@ -159,13 +159,20 @@ class TestControlMessage(unittest.TestCase):
       self.assertEqual('250 OK\r\n', setevents_response.raw_content())
       self.assertEqual([('250', ' ', 'OK')], setevents_response.content())
 
-      # CONF_CHANGED event will come before the SETCONF 'OK' response
+      # We'll receive both a CONF_CHANGED event and 'OK' response for the
+      # SETCONF, but not necessarily in any specific order.
 
       control_socket.send('SETCONF NodeFamily=%s' % test.mocking.random_fingerprint())
+      msg1 = control_socket.recv()
+      msg2 = control_socket.recv()
+
+      if msg1.content()[0][0] == 650:
+        conf_changed_event, setconf_response = msg1, msg2
+      else:
+        setconf_response, conf_changed_event = msg1, msg2
 
-      conf_changed_event = control_socket.recv()
       self.assertTrue(re.match('CONF_CHANGED\nNodeFamily=.*', str(conf_changed_event)))
       self.assertTrue(re.match('650-CONF_CHANGED\r\n650-NodeFamily=.*\r\n650 OK', conf_changed_event.raw_content()))
       self.assertEqual(('650', '-'), conf_changed_event.content()[0][:2])
 
-      self.assertEqual([('250', ' ', 'OK')], control_socket.recv().content())
+      self.assertEqual([('250', ' ', 'OK')], setconf_response.content())



More information about the tor-commits mailing list