def test_run_test_fails_twice(self): finished = defer.Deferred() def net_test_done(net_test): summary_items = net_test.summary.items() self.assertEqual(len(summary_items), 50) for input_name, run_count in summary_items: self.assertEqual(run_count, 3) finished.callback(None) net_test_loader = NetTestLoader(('spam','ham')) net_test_loader.loadNetTestString(test_failing_twice) director = Director() director.netTestDone = net_test_done director.start_net_test_loader(net_test_loader, None, no_yamloo=True) return finished
def test_singular_input_processor(self): """ Verify that all measurements use the same object as their input processor. """ ntl = NetTestLoader(dummyArgs) ntl.loadNetTestString(generator_id_net_test) ntl.checkOptions() director = Director() self.filename = 'dummy_report.njson' d = director.start_net_test_loader(ntl, self.filename) @d.addCallback def complete(result): with open(self.filename) as report_file: all_report_entries = map(json.loads, report_file) results_case_a = all_report_entries[0]['test_keys'] aa_test, ab_test, ac_test = results_case_a.get('results', []) results_case_b = all_report_entries[1]['test_keys'] ba_test = results_case_b.get('results', [])[0] # Within a NetTestCase an inputs object will be consistent self.assertEqual(aa_test, ab_test, ac_test) # An inputs object will be different between different NetTestCases self.assertNotEqual(aa_test, ba_test) return d
def test_nettest_timeout(self): ntl = NetTestLoader(('-u', 'http://localhost:8007/')) ntl.loadNetTestString(http_net_test) ntl.checkOptions() director = Director() self.filename = 'dummy_report.yamloo' d = director.start_net_test_loader(ntl, self.filename) @d.addCallback def complete(result): assert director.failedMeasurements == 1 return d
def test_net_test_completed_callback(self): ntl = NetTestLoader(dummyArgsWithFile) ntl.loadNetTestString(net_test_string_with_file) ntl.checkOptions() director = Director() self.filename = 'dummy_report.yamloo' d = director.start_net_test_loader(ntl, self.filename) @d.addCallback def complete(result): self.assertEqual(result, None) self.assertEqual(director.successfulMeasurements, 20) return d
def test_send_to_inputs_generator(self): """ Verify that a net test can send information back into an inputs generator. """ ntl = NetTestLoader(dummyArgs) ntl.loadNetTestString(generator_net_test) ntl.checkOptions() director = Director() self.filename = 'dummy_report.njson' d = director.start_net_test_loader(ntl, self.filename) @d.addCallback def complete(result): with open(self.filename) as report_file: all_report_entries = map(json.loads, report_file) results = [x['input'] for x in all_report_entries] self.assertEqual(results, [9, 8, 7, 6, 5, 5, 3, 2, 1, 0]) return d