[tor-commits] [stem/master] test_get_exit_policy failed if we get a public address

atagar at torproject.org atagar at torproject.org
Wed Jan 16 17:30:07 UTC 2013


commit a0e13fbcc8fd8e0678b7906329d11e7f567839d1
Author: Damian Johnson <atagar at torproject.org>
Date:   Wed Jan 16 09:09:06 2013 -0800

    test_get_exit_policy failed if we get a public address
    
    I forgot to account for the exit policy including a 'reject [public_addr]:*'
    entry. This is a bit of a pain both because it's dynamic, and because it may or
    may not be included at all. Accounting for this by just checking the policy
    prefix and suffix instead.
---
 test/integ/control/controller.py |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/test/integ/control/controller.py b/test/integ/control/controller.py
index 8b75c6f..4d39a8b 100644
--- a/test/integ/control/controller.py
+++ b/test/integ/control/controller.py
@@ -264,6 +264,7 @@ class TestController(unittest.TestCase):
       'reject 192.168.0.0/16:*',
       'reject 10.0.0.0/8:*',
       'reject 172.16.0.0/12:*',
+      # this is where 'reject [public_addr]:*' may or may not be
       'reject *:25',
       'reject *:119',
       'reject *:135-139',
@@ -280,7 +281,17 @@ class TestController(unittest.TestCase):
     runner = test.runner.get_runner()
 
     with runner.get_tor_controller() as controller:
-      self.assertEqual(expected, controller.get_exit_policy())
+      # We can't simply compare the policies because the tor policy may or may
+      # not have a reject entry for our public address. Hence, stripping it
+      # from the policy's string, then comparing those.
+
+      policy_str = str(controller.get_exit_policy())
+
+      public_addr_start = policy_str.find('reject 172.16.0.0/12:*') + 22
+      public_addr_end = policy_str.find(', reject *:25')
+
+      policy_str = policy_str[:public_addr_start] + policy_str[public_addr_end:]
+      self.assertEqual(str(expected), policy_str)
 
   def test_authenticate(self):
     """





More information about the tor-commits mailing list