commit b8f6fd2c1a601676be30dd2850211f8fedfb3c14 Author: Damian Johnson atagar@torproject.org Date: Fri Apr 13 22:57:33 2012 -0700
Removing integ test for descriptor digests
Dropping the server descriptor integ test for digest(). It was a valiant effort, but is flaky because it'll always fail when the consensus or descriptor changes and are out of sync. --- test/integ/descriptor/server_descriptor.py | 41 +--------------------------- 1 files changed, 1 insertions(+), 40 deletions(-)
diff --git a/test/integ/descriptor/server_descriptor.py b/test/integ/descriptor/server_descriptor.py index 24d9ee5..f1af13c 100644 --- a/test/integ/descriptor/server_descriptor.py +++ b/test/integ/descriptor/server_descriptor.py @@ -103,6 +103,7 @@ Qlx9HNCqCY877ztFRC624ja2ql6A2hBcuoYMbkHjcQ4= self.assertEquals(expected_signing_key, desc.signing_key) self.assertEquals(expected_signature, desc.signature) self.assertEquals([], desc.get_unrecognized_lines()) + self.assertEquals("LHsnvqsEtOJFnYnKbVzRzF+Vpok", desc.digest())
def test_cached_descriptor(self): """ @@ -229,44 +230,4 @@ Qlx9HNCqCY877ztFRC624ja2ql6A2hBcuoYMbkHjcQ4= self.assertEquals(5120, desc.observed_bandwidth) self.assertEquals(["reject *:*"], desc.exit_policy) self.assertEquals([], desc.get_unrecognized_lines()) - - def test_digest(self): - """ - Checks that the digest for a descriptor matches its consensus digest value. - """ - - # TODO: Remove manual parsing with proper objects when we have them... - # - parsing of consensus_digest with the NetworkStatus class - # - low level msg() calls with Controller - - if not self.is_descriptors_available: - self.skipTest("(no cached descriptors)") - - with test.runner.get_runner().get_tor_socket() as control_socket: - controller = stem.control.BaseController(control_socket) - - # picking one of the directory authorities (gabelmoo) since they're - # pretty stable and this is trivial to revise if they change - - fingerprint = "F2044413DAC2E02E3D6BCF4735A19BCA1DE97281" - desc_entry = controller.msg("GETINFO desc/id/%s" % fingerprint) - ns_entry = controller.msg("GETINFO ns/id/%s" % fingerprint) - - # parse the consensus digest from the ns_entry - consensus_digest = None - for line in str(ns_entry).split("\n"): - if line.startswith("r "): - consensus_digest = line.split()[3] - break - - if not consensus_digest: - self.fail("Malformed network descriptor: %s" % ns_entry) - - # parse the descriptor content from the desc_entry - - desc_content = list(desc_entry)[0] - desc_content = desc_content[desc_content.find("=\n") + 2:] - - desc = stem.descriptor.server_descriptor.RelayDescriptorV3(desc_content) - self.assertEquals(consensus_digest, desc.digest())
tor-commits@lists.torproject.org