Ejemplo n.º 1
0
 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)