[tor-commits] [ooni-probe/master] Only lookup and set collectors when it is needed.
art at torproject.org
art at torproject.org
Sat Sep 28 20:14:37 UTC 2013
commit 23567662bea818287c26a448c88b43fe8d6c641c
Author: Arturo Filastò <art at fuffa.org>
Date: Thu Sep 12 15:00:07 2013 +0200
Only lookup and set collectors when it is needed.
---
ooni/deck.py | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/ooni/deck.py b/ooni/deck.py
index 22ae066..98d90e0 100644
--- a/ooni/deck.py
+++ b/ooni/deck.py
@@ -140,27 +140,34 @@ class Deck(InputFile):
if self.bouncer:
log.msg("Looking up test helpers...")
yield self.lookupTestHelpers()
-
+
@defer.inlineCallbacks
def lookupTestHelpers(self):
from ooni.oonibclient import OONIBClient
oonibclient = OONIBClient(self.bouncer)
required_test_helpers = []
+ requires_collector = []
for net_test_loader in self.netTestLoaders:
+ if not net_test_loader.collector:
+ requires_collector.append(net_test_loader)
+
for th in net_test_loader.requiredTestHelpers:
+ # {'name':'', 'option':'', 'test_class':''}
if th['test_class'].localOptions[th['option']]:
continue
- # {'name':'', 'option':'', 'test_class':''}
required_test_helpers.append(th['name'])
-
- if not required_test_helpers:
+
+ if not required_test_helpers and not requires_collector:
defer.returnValue(None)
response = yield oonibclient.lookupTestHelpers(required_test_helpers)
for net_test_loader in self.netTestLoaders:
log.msg("Setting collector and test helpers for %s" % net_test_loader.testDetails['test_name'])
- if not net_test_loader.requiredTestHelpers:
+
+ # Only set the collector if the no collector has been specified
+ # from the command line or via the test deck.
+ if not net_test_loader.requiredTestHelpers and net_test_loader in requires_collector:
log.msg("Using the default collector: %s" % response['default']['collector'])
net_test_loader.collector = response['default']['collector'].encode('utf-8')
@@ -168,7 +175,8 @@ class Deck(InputFile):
test_helper = response[th['name']]
log.msg("Using this helper: %s" % test_helper)
th['test_class'].localOptions[th['option']] = test_helper['address']
- net_test_loader.collector = test_helper['collector'].encode('utf-8')
+ if net_test_loader in requires_collector:
+ net_test_loader.collector = test_helper['collector'].encode('utf-8')
@defer.inlineCallbacks
def fetchAndVerifyNetTestInput(self, net_test_loader):
More information about the tor-commits
mailing list