def _RecordStageFailureMessage(self, name, exception, prefix=None, build_stage_id=None): self._failure_message_results.append( failures_lib.GetStageFailureMessageFromException( name, build_stage_id, exception, stage_prefix_name=prefix))
def testGetStageFailureMessageFromExceptionOnStepFailure(self): """Test GetStageFailureMessageFromException on StepFailure.""" exc = failures_lib.StepFailure('step failure message') msg = failures_lib.GetStageFailureMessageFromException( 'CommitQueueSync', 1, exc) self.assertEqual(msg.build_stage_id, 1) self.assertEqual(msg.stage_name, 'CommitQueueSync') self.assertEqual(msg.stage_prefix_name, 'CommitQueueSync') self.assertEqual(msg.exception_type, 'StepFailure') self.assertEqual(msg.exception_category, 'unknown')
def testGetStageFailureMessageFromExceptionOnException(self): """Test GetStageFailureMessageFromException on regular exception.""" exc = ValueError('Invalid valure.') msg = failures_lib.GetStageFailureMessageFromException( 'CommitQueueSync', 1, exc) self.assertEqual(msg.build_stage_id, 1) self.assertEqual(msg.stage_name, 'CommitQueueSync') self.assertEqual(msg.stage_prefix_name, 'CommitQueueSync') self.assertEqual(msg.exception_type, 'ValueError') self.assertEqual(msg.exception_category, 'unknown')
def testMeaningfulMessage(self): """Tests that all essential components are in the message.""" stage = self.ConstructStage() exception = Exception('failed!') stage_failure_message = failures_lib.GetStageFailureMessageFromException( 'TacoStage', 1, exception, stage_prefix_name='TacoStage') self.PatchObject(FakeBuildStore, 'AreClientsReady', return_value=False) self.PatchObject(results_lib.Results, 'GetStageFailureMessage', return_value=[stage_failure_message]) msg = stage.GetBuildFailureMessage() self.assertTrue(stage._run.config.name in msg.message_summary) self.assertTrue( stage._run.ConstructDashboardURL() in msg.message_summary) self.assertTrue('the builder failed' in msg.message_summary)