Ejemplo n.º 1
0
	def _initEmailBody( self, email ):
		# body
		reporterUseCompression = mApp().getSettings().get( Settings.EmailReporterUseCompressionForAttachments, False )

		report = InstructionsXmlReport( mApp() )
		converter = XmlReportConverter( report )

		### text and html part
		# summary
		email.attachAlternativeTextPart( 
				converter.convertToTextSummary(),
				converter.convertToHtml( summaryOnly = True )
		)

		# report
		if self.getEnableFullReport():
			email.attachAlternativeTextPart( 
					converter.convertToText( short = True ),
					converter.convertToHtml()
			)

			returnCode = mApp().getReturnCode()
			if returnCode != 0:
				email.addTextAttachment( converter.convertToFailedStepsLog(), "failed-steps.log", useCompression = reporterUseCompression )

		# attachments
		exception = mApp().getException()
		if exception:
			traceback = u"\n".join( exception[1] )
			email.addTextAttachment( "{0}\n\n{1}".format( exception[0], traceback ), "exception.log", useCompression = reporterUseCompression )

		return email
Ejemplo n.º 2
0
	def testXmlReportOnStepFailure( self ):
		self._executeBuild()

		def failed_new( self ):
			return Step.Result.Failure

		step = self.project.getStep( 'cleanup' )
		replace_bound_method( step, step.getResult, failed_new )

		converter = XmlReportConverter( self._getXmlReport() )
		logText = converter.convertToFailedStepsLog()

		self.assertTrue( "cleanup" in logText )