def startNetTest(self, net_test_loader, report_filename, collector_client=None, no_yamloo=False): """ Create the Report for the NetTest and start the report NetTest. Args: net_test_loader: an instance of :class:ooni.nettest.NetTestLoader """ test_details = net_test_loader.getTestDetails() test_cases = net_test_loader.getTestCases() if self.allTestsDone.called: self.allTestsDone = defer.Deferred() if config.privacy.includepcap or config.global_options.get('pcapfile', None): self.startSniffing(test_details) report = Report(test_details, report_filename, self.reportEntryManager, collector_client, no_yamloo) yield report.open() net_test = NetTest(test_cases, test_details, report) net_test.director = self yield net_test.initialize() try: self.activeNetTests.append(net_test) self.measurementManager.schedule(net_test.generateMeasurements()) yield net_test.done yield report.close() finally: self.netTestDone(net_test)
def test_net_test_inputs(self): ntl = NetTestLoader(dummyArgsWithFile) ntl.loadNetTestString(net_test_string_with_file) ntl.checkOptions() nt = NetTest(ntl.getTestCases(), ntl.getTestDetails(), None) yield nt.initialize() for test_class, test_methods in nt.testCases: self.assertEqual(len(list(test_class.inputs)), 10)
def test_generate_measurements_size(self): ntl = NetTestLoader(dummyArgsWithFile) ntl.loadNetTestString(net_test_string_with_file) ntl.checkOptions() net_test = NetTest(ntl.getTestCases(), ntl.getTestDetails(), None) yield net_test.initialize() measurements = list(net_test.generateMeasurements()) self.assertEqual(len(measurements), 20)
def start_net_test_loader(self, net_test_loader, report_filename, collector_client=None, no_yamloo=False, test_details=None, measurement_id=None): """ Create the Report for the NetTest and start the report NetTest. Args: net_test_loader: an instance of :class:ooni.nettest.NetTestLoader """ if test_details is None: test_details = net_test_loader.getTestDetails() test_cases = net_test_loader.getTestCases() if self.allTestsDone.called: self.allTestsDone = defer.Deferred() if config.privacy.includepcap or config.global_options.get( 'pcapfile', None): self.start_sniffing(test_details) report = Report(test_details, report_filename, self.reportEntryManager, collector_client, no_yamloo, measurement_id) yield report.open() net_test = NetTest(test_cases, test_details, report) net_test.director = self yield net_test.initialize() try: self.activeNetTests.append(net_test) if measurement_id: self.activeMeasurements[measurement_id] = net_test self.measurementManager.schedule(net_test.generateMeasurements()) yield net_test.done yield report.close() finally: if measurement_id: del self.activeMeasurements[measurement_id] self.netTestDone(net_test)