def test_result_add_operator_success(self): record1 = records.TestResultRecord(self.tn) record1.test_begin() s = signals.TestPass(self.details, self.float_extra) record1.test_pass(s) tr1 = records.TestResult() tr1.add_record(record1) record2 = records.TestResultRecord(self.tn) record2.test_begin() s = signals.TestPass(self.details, self.json_extra) record2.test_pass(s) tr2 = records.TestResult() tr2.add_record(record2) tr2 += tr1 self.assertTrue(tr2.passed, [tr1, tr2])
def __init__(self, test_configs, run_list): self.test_run_info = {} self.test_configs = test_configs self.testbed_configs = self.test_configs[keys.Config.key_testbed.value] self.testbed_name = self.testbed_configs[ keys.Config.key_testbed_name.value] start_time = logger.get_log_file_timestamp() self.id = "{}@{}".format(self.testbed_name, start_time) # log_path should be set before parsing configs. l_path = os.path.join( self.test_configs[keys.Config.key_log_path.value], self.testbed_name, start_time) self.log_path = os.path.abspath(l_path) logger.setup_test_logger(self.log_path, self.testbed_name) self.log = logging.getLogger() self.controller_registry = {} if self.test_configs.get(keys.Config.key_random.value): test_case_iterations = self.test_configs.get( keys.Config.key_test_case_iterations.value, 10) self.log.info( "Campaign randomizer is enabled with test_case_iterations %s", test_case_iterations) self.run_list = config_parser.test_randomizer( run_list, test_case_iterations=test_case_iterations) self.write_test_campaign() else: self.run_list = run_list self.results = records.TestResult() self.running = False
def test_result_add_operator_success(self): record1 = records.TestResultRecord(self.tn) record1.test_begin() s = signals.TestPass(self.details, self.float_extra) record1.test_pass(s) tr1 = records.TestResult() tr1.add_record(record1) tr1.add_controller_info("MockDevice", ["magicA", "magicB"]) record2 = records.TestResultRecord(self.tn) record2.test_begin() s = signals.TestPass(self.details, self.json_extra) record2.test_pass(s) tr2 = records.TestResult() tr2.add_record(record2) tr2.add_controller_info("MockDevice", ["magicC"]) tr2 += tr1 self.assertTrue(tr2.passed, [tr1, tr2]) self.assertTrue(tr2.controller_info, {"MockDevice": ["magicC"]})
def __init__(self, configs): self.tests = [] if not self.TAG: self.TAG = self.__class__.__name__ # Set all the controller objects and params. for name, value in configs.items(): setattr(self, name, value) self.results = records.TestResult() self.current_test_name = None
def test_result_add_operator_type_mismatch(self): record1 = records.TestResultRecord(self.tn) record1.test_begin() s = signals.TestPass(self.details, self.float_extra) record1.test_pass(s) tr1 = records.TestResult() tr1.add_record(record1) expected_msg = "Operand .* of type .* is not a TestResult." with self.assertRaisesRegexp(TypeError, expected_msg): tr1 += "haha"
def test_is_all_pass_with_fail_class(self): """Verifies that is_all_pass yields correct value when fail_class is used. """ record1 = records.TestResultRecord(self.tn) record1.test_begin() record1.test_fail(Exception("haha")) tr = records.TestResult() tr.fail_class(record1) self.assertFalse(tr.is_all_pass)
def test_result_add_operator_success(self): record1 = records.TestResultRecord(self.tn) record1.test_begin() s = signals.TestPass(self.details, self.float_extra) record1.test_pass(s) tr1 = records.TestResult() tr1.add_record(record1) device1 = ControllerInfoRecord('TestClass', 'MockDevice', 'device1') tr1.add_controller_info_record(device1) record2 = records.TestResultRecord(self.tn) record2.test_begin() s = signals.TestPass(self.details, self.json_extra) record2.test_pass(s) tr2 = records.TestResult() tr2.add_record(record2) device2 = ControllerInfoRecord('TestClass', 'MockDevice', 'device2') tr2.add_controller_info_record(device2) tr2 += tr1 self.assertTrue(tr2.passed, [tr1, tr2]) self.assertTrue(tr2.controller_info, [device1, device2])
def test_is_all_pass_negative(self): s = signals.TestFailure(self.details, self.float_extra) record1 = records.TestResultRecord(self.tn) record1.test_begin() record1.test_fail(s) record2 = records.TestResultRecord(self.tn) record2.test_begin() record2.test_error(s) tr = records.TestResult() tr.add_record(record1) tr.add_record(record2) self.assertFalse(tr.is_all_pass)
def test_result_fail_class_with_test_signal(self): record1 = records.TestResultRecord(self.tn) record1.test_begin() s = signals.TestPass(self.details, self.float_extra) record1.test_pass(s) tr = records.TestResult() tr.add_record(record1) s = signals.TestFailure(self.details, self.float_extra) record2 = records.TestResultRecord("SomeTest", s) tr.fail_class(record2) self.assertEqual(len(tr.passed), 1) self.assertEqual(len(tr.failed), 1) self.assertEqual(len(tr.executed), 2)
def test_is_all_pass(self): s = signals.TestPass(self.details, self.float_extra) record1 = records.TestResultRecord(self.tn) record1.test_begin() record1.test_pass(s) s = signals.TestSkip(self.details, self.float_extra) record2 = records.TestResultRecord(self.tn) record2.test_begin() record2.test_skip(s) tr = records.TestResult() tr.add_record(record1) tr.add_record(record2) tr.add_record(record1) self.assertEqual(len(tr.passed), 2) self.assertTrue(tr.is_all_pass)
def __init__(self, configs): self.tests = [] if not self.TAG: self.TAG = self.__class__.__name__ # Set all the controller objects and params. for name, value in configs.items(): setattr(self, name, value) self.results = records.TestResult() self.current_test_name = None self.log = tracelogger.TraceLogger(self.log) if 'android_devices' in self.__dict__: for ad in self.android_devices: if ad.droid: utils.set_location_service(ad, False) utils.sync_device_time(ad)
def __init__(self, test_configs, run_list): self.test_run_config = test_configs self.testbed_name = self.test_run_config.testbed_name start_time = logger.get_log_file_timestamp() self.id = '{}@{}'.format(self.testbed_name, start_time) self.test_run_config.log_path = os.path.abspath( os.path.join(self.test_run_config.log_path, self.testbed_name, start_time)) logger.setup_test_logger(self.log_path, self.testbed_name) self.log = logging.getLogger() self.test_run_config.summary_writer = records.TestSummaryWriter( os.path.join(self.log_path, records.OUTPUT_FILE_SUMMARY)) self.run_list = run_list self.dump_config() self.results = records.TestResult() self.running = False self.usage_publisher = UsageMetadataPublisher()
def __init__(self, test_configs, run_list): self.test_run_info = {} self.test_configs = test_configs self.testbed_configs = self.test_configs[keys.Config.key_testbed.value] self.testbed_name = self.testbed_configs[ keys.Config.key_testbed_name.value] start_time = logger.get_log_file_timestamp() self.id = "{}@{}".format(self.testbed_name, start_time) # log_path should be set before parsing configs. l_path = os.path.join( self.test_configs[keys.Config.key_log_path.value], self.testbed_name, start_time) self.log_path = os.path.abspath(l_path) logger.setup_test_logger(self.log_path, self.testbed_name) self.log = logging.getLogger() self.controller_registry = {} self.controller_destructors = {} self.run_list = run_list self.results = records.TestResult() self.running = False
def test_result_fail_class_with_special_error(self): """Call TestResult.fail_class with an error class that requires more than one arg to instantiate. """ record1 = records.TestResultRecord(self.tn) record1.test_begin() s = signals.TestPass(self.details, self.float_extra) record1.test_pass(s) tr = records.TestResult() tr.add_record(record1) class SpecialError(Exception): def __init__(self, arg1, arg2): self.msg = "%s %s" % (arg1, arg2) se = SpecialError("haha", 42) record2 = records.TestResultRecord("SomeTest", se) tr.fail_class(record2) self.assertEqual(len(tr.passed), 1) self.assertEqual(len(tr.failed), 1) self.assertEqual(len(tr.executed), 2)