aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <cb15g11@soton.ac.uk>2014-04-04 00:50:19 +0100
committerChristopher Baines <cb15g11@soton.ac.uk>2014-04-04 00:50:19 +0100
commitdbd356492f854c530660ea817fc2bde82191671a (patch)
treee7e33ddb5f15aaeab0aa953478e21d95dec47199
parent09ccece5303e1ed877bbb75105a8eb62cd721238 (diff)
downloadchutney-dbd356492f854c530660ea817fc2bde82191671a.tar
chutney-dbd356492f854c530660ea817fc2bde82191671a.tar.gz
Better test stuff
-rw-r--r--lib/chutney/Testing.py23
-rw-r--r--lib/chutney/TorNet.py3
-rw-r--r--networks/hs-intro-fail-35
3 files changed, 25 insertions, 6 deletions
diff --git a/lib/chutney/Testing.py b/lib/chutney/Testing.py
index ad69b52..ee1e62b 100644
--- a/lib/chutney/Testing.py
+++ b/lib/chutney/Testing.py
@@ -46,7 +46,7 @@ def track_introduction_points(node):
node_intro_events[nodenum].put(("added", fingerprint))
- prefix = "rend_services_introduce(): Giving up on "
+ """prefix = "rend_services_introduce(): Giving up on "
if logevent.message.startswith(prefix) or "Giving up on" in logevent.message:
fingerprint = logevent.message[len(prefix):].split(" ")[0][1:41]
@@ -68,7 +68,28 @@ def track_introduction_points(node):
logging.info("%s: removed %s (%s)" % (nodenick, removed_intro_node._env["nick"], fingerprint))
node_intro_events[nodenum].put(("removed", fingerprint))
+ del node_intro_circuits[nodenum][circuit]"""
+ prefix = "rend_services_introduce(): Circuit to "
+ if logevent.message.startswith(prefix) and "disapeared" in logevent.message:
+ fingerprint = logevent.message[len(prefix):].split(" ")[0][1:41]
+
+ for_deletion = []
+
+ for circuit, fp in node_intro_circuits[nodenum].iteritems():
+ #log("circuit " + str(circuit) + " fp " + str(fp))
+ if fingerprint == fp:
+ for_deletion.append(circuit)
+
+ for circuit in for_deletion:
+ fingerprint = node_intro_circuits[nodenum][circuit]
+
+ removed_intro_node = nodes_by_fingerprint[fingerprint]
+
+ logging.info("%s: removed %s (%s)" % (nodenick, removed_intro_node._env["nick"], fingerprint))
+
+ node_intro_events[nodenum].put(("removed", fingerprint))
del node_intro_circuits[nodenum][circuit]
+
logging.debug(nodenick + ": " + logevent.message)
diff --git a/lib/chutney/TorNet.py b/lib/chutney/TorNet.py
index 0fdeb04..497af5f 100644
--- a/lib/chutney/TorNet.py
+++ b/lib/chutney/TorNet.py
@@ -134,8 +134,7 @@ class Node(object):
return urllib.urlopen(url).read()
except:
e = sys.exc_info()[0]
- print(e)
- return "Unable to reach %s" % url
+ return "Unable to reach " + url + "(exception " + str(e)
#####
# These are internal:
diff --git a/networks/hs-intro-fail-3 b/networks/hs-intro-fail-3
index dac8e26..43b2d07 100644
--- a/networks/hs-intro-fail-3
+++ b/networks/hs-intro-fail-3
@@ -12,8 +12,6 @@ hs_nodes = []
hs_servers = []
-port = 8081
-
from twisted.web import server, resource
from twisted.internet import reactor
@@ -30,7 +28,7 @@ class Site(resource.Resource):
request.setHeader("content-type", "text/plain")
return str(self.siteNum)
-base_port = 9080
+base_port = 10080
for i in range(3):
port = base_port + i
@@ -129,6 +127,7 @@ def test_intro_failure(nodes_by_fingerprint):
logging.info("stopping " + node._env["nick"] + " (" + fingerprint + ")")
+ node.getStemController().close()
node.getController().stop()
logging.info("begining to watch for the establishment of new introduction points")