def test_reproducible_crash(self): """should_create_testcase=True when the group is reproducible.""" self.mock.find_testcase.return_value = self.unreproducible_testcase self.mock.find_main_crash.return_value = (self.crashes[0], False) group = fuzz_task.CrashGroup(self.crashes, self.context) self.assertEqual(self.crashes[0].gestures, group.main_crash.gestures) self.mock.find_main_crash.assert_called_once_with(self.crashes, self.context.test_timeout) self.assertFalse(group.is_new()) self.assertTrue(group.should_create_testcase()) self.assertFalse(group.has_existing_reproducible_testcase()) self.assertFalse(group.one_time_crasher_flag)
def test_no_existing_testcase(self): """is_new=True and should_create_testcase=True when there's no existing testcase.""" self.mock.find_testcase.return_value = None self.mock.find_main_crash.return_value = self.crashes[0], True group = fuzz_task.CrashGroup(self.crashes, self.context) self.assertTrue(group.should_create_testcase()) self.mock.find_main_crash.assert_called_once_with(self.crashes, self.context.test_timeout) self.assertIsNone(group.existing_testcase) self.assertEqual(self.crashes[0], group.main_crash) self.assertTrue(group.is_new())