def test_invalid_class(self): class NotDiagnoser(object): pass with self.assertRaises(diagnoses_lib.DiagnoserError) as cm: diagnoses_lib._check_diagnoser(NotDiagnoser(), diagnoses_lib.BasePhaseDiagnoser) # pytype: disable=wrong-arg-types self.assertEqual( 'Diagnoser "NotDiagnoser" is not a BasePhaseDiagnoser.', cm.exception.args[0])
def test_result_type_not_set(self): @htf.PhaseDiagnoser(None) def bad_diag(phase_rec): del phase_rec # Unused. with self.assertRaises(diagnoses_lib.DiagnoserError) as cm: diagnoses_lib._check_diagnoser(bad_diag, diagnoses_lib.PhaseDiagnoser) self.assertEqual('Diagnoser "bad_diag" does not have a result_type set.', cm.exception.args[0])
def test_invalid_class(self): class NotDiagnoser(object): pass with self.assertRaises(diagnoses_lib.DiagnoserError) as cm: diagnoses_lib._check_diagnoser(NotDiagnoser(), diagnoses_lib.PhaseDiagnoser) self.assertEqual('Diagnoser "NotDiagnoser" is not a PhaseDiagnoser.', cm.exception.args[0])
def test_result_type_not_result_enum(self): class BadEnum(str, enum.Enum): BAD = 'bad' @htf.PhaseDiagnoser(BadEnum) # pytype: disable=wrong-arg-types def bad_enum_diag(phase_rec): del phase_rec # Unused. with self.assertRaises(diagnoses_lib.DiagnoserError) as cm: diagnoses_lib._check_diagnoser(bad_enum_diag, diagnoses_lib.BasePhaseDiagnoser) self.assertEqual( 'Diagnoser "bad_enum_diag" result_type "BadEnum" does not inherit ' 'from DiagResultEnum.', cm.exception.args[0])
def test_inomplete_test_diagnoser(self): incomplete = htf.TestDiagnoser(BadResult, 'NotFinished') with self.assertRaises(diagnoses_lib.DiagnoserError): diagnoses_lib._check_diagnoser(incomplete, diagnoses_lib.BaseTestDiagnoser)
def test_pass(self): diagnoses_lib._check_diagnoser(basic_wrapper_phase_diagnoser, diagnoses_lib.BasePhaseDiagnoser)