[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [ooni-probe/master] Move Measurement and ReportEntry into the tasks module
commit 89c8bd37973b87f9eb405f0020f9caf82e07ce8d
Author: Arturo Filastò <art@xxxxxxxxx>
Date: Fri Jan 11 20:57:45 2013 +0100
Move Measurement and ReportEntry into the tasks module
---
ooni/tasks.py | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 49 insertions(+), 0 deletions(-)
diff --git a/ooni/tasks.py b/ooni/tasks.py
index 361dccb..909f3e5 100644
--- a/ooni/tasks.py
+++ b/ooni/tasks.py
@@ -72,4 +72,53 @@ class TaskWithTimeout(BaseTask):
"""
pass
+class Measurement(TaskWithTimeout):
+ def __init__(self, test_class, test_method, test_input, net_test):
+ """
+ test_class:
+ is the class, subclass of NetTestCase, of the test to be run
+
+ test_method:
+ is a string representing the test method to be called to perform
+ this measurement
+
+ test_input:
+ is the input to the test
+
+ net_test:
+ a reference to the net_test object such measurement belongs to.
+ """
+ self.test_instance = test_class()
+ self.test_instance.input = test_input
+ self.test_instance.report = {}
+ self.test_instance._start_time = time.time()
+ self.test_instance._setUp()
+ self.test_instance.setUp()
+ self.test = getattr(self.test_instance, test_method)
+
+ self.netTest = net_test
+
+ def succeeded(self):
+ self.net_test.succeeded()
+
+ def failed(self):
+ pass
+
+ def timedOut(self):
+ self.net_test.timedOut()
+
+ def run(self):
+ d = defer.maybeDeferred(self.test)
+ d.addCallback(self.success)
+ d.addErrback(self.failure)
+ return d
+
+class ReportEntry(TimedOutTask):
+ def __init__(self, reporter, measurement):
+ self.reporter = reporter
+ self.measurement = measurement
+ TimedOutTask.__init__(self)
+
+ def run(self):
+ return self.reporter.writeReportEntry(self.measurement)
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits