def testReportFocusNoStagesNoTrend(self): result = StringIO.StringIO() build_time_stats.Report(result, 'description', self.focus_build, self.builds_timings, stages=False, trending=False) expected = '''description Averages for 5 Builds: 1 - 5 12:00:00 success 60% timeouts 20% median 6:00:00 mean 6:40:00 min 6:00:00 max 8:00:00 ''' self.assertMultiLineEqual(expected, result.getvalue())
def testReportNoFocusNoStagesCsv(self): result = StringIO.StringIO() build_time_stats.Report(result, 'description', None, self.builds_timings, stages=False, trending=True, csv=True) expected = '''"description", "Averages for 5 Builds: 1 - 5" "", "Build", "", "", "", "" "", "success", "median", "mean", "min", "max" "ALL", " 60%", "6:00:00", "6:40:00", "6:00:00", "8:00:00" "2014-11", "100%", "8:00:00", "7:00:00", "6:00:00", "8:00:00" "2014-12", " 33%", "6:00:00", "6:00:00", "6:00:00", "6:00:00" ''' self.assertMultiLineEqual(expected, result.getvalue())
def testReportFocusStagesTrend(self): result = StringIO.StringIO() build_time_stats.Report( result, 'description', self.focus_build, self.builds_timings, stages=True, trending=True, ) expected = '''description Averages for 5 Builds: 1 - 5 12:00:00 success 60% timeouts 20% median 6:00:00 mean 6:40:00 min 6:00:00 max 8:00:00 start: start: 0:00:00 median 0:00:00 mean 0:00:00 min 0:00:00 max 0:00:00 duration: 8:00:00 median 2:00:00 mean 2:40:00 min 2:00:00 max 4:00:00 finish: 8:00:00 median 2:00:00 mean 2:40:00 min 2:00:00 max 4:00:00 build: start: 6:00:00 median 2:00:00 mean 2:40:00 min 2:00:00 max 4:00:00 duration: 6:00:00 median 2:00:00 mean 2:40:00 min 2:00:00 max 4:00:00 finish: 12:00:00 median 4:00:00 mean 5:20:00 min 4:00:00 max 8:00:00 2014-11: success 100% timeouts 0% median 8:00:00 mean 7:00:00 min 6:00:00 max 8:00:00 start: start: median 0:00:00 mean 0:00:00 min 0:00:00 max 0:00:00 duration: median 4:00:00 mean 3:00:00 min 2:00:00 max 4:00:00 finish: median 4:00:00 mean 3:00:00 min 2:00:00 max 4:00:00 build: start: median 4:00:00 mean 3:00:00 min 2:00:00 max 4:00:00 duration: median 4:00:00 mean 3:00:00 min 2:00:00 max 4:00:00 finish: median 8:00:00 mean 6:00:00 min 4:00:00 max 8:00:00 2014-12: success 33% timeouts 33% median 6:00:00 mean 6:00:00 min 6:00:00 max 6:00:00 start: start: median 0:00:00 mean 0:00:00 min 0:00:00 max 0:00:00 duration: median 2:00:00 mean 2:00:00 min 2:00:00 max 2:00:00 finish: median 2:00:00 mean 2:00:00 min 2:00:00 max 2:00:00 build: start: median 2:00:00 mean 2:00:00 min 2:00:00 max 2:00:00 duration: median 2:00:00 mean 2:00:00 min 2:00:00 max 2:00:00 finish: median 4:00:00 mean 4:00:00 min 4:00:00 max 4:00:00 ''' self.assertMultiLineEqual(expected, result.getvalue())
def testReportNoFocusNoStagesTrend(self): result = StringIO.StringIO() build_time_stats.Report( result, 'description', None, self.builds_timings, stages=False, trending=True, ) expected = '''description Averages for 5 Builds: 1 - 5 success 60% timeouts 20% median 6:00:00 mean 6:40:00 min 6:00:00 max 8:00:00 2014-11: success 100% timeouts 0% median 8:00:00 mean 7:00:00 min 6:00:00 max 8:00:00 2014-12: success 33% timeouts 33% median 6:00:00 mean 6:00:00 min 6:00:00 max 6:00:00 ''' self.assertMultiLineEqual(expected, result.getvalue())
def testReportFocusStagesCsv(self): result = StringIO.StringIO() build_time_stats.Report(result, 'description', self.focus_build, self.builds_timings, stages=True, trending=True, csv=True) # pylint: disable=line-too-long expected = '''"description", "Averages for 5 Builds: 1 - 5" "", "Build", "", "", "", "", "start", "", "", "", "", "build", "", "", "", "" "", "success", "median", "mean", "min", "max", "success", "median", "mean", "min", "max", "success", "median", "mean", "min", "max" "Focus", "True", "12:00:00", "", "", "", "", "8:00:00", "", "", "", "", "6:00:00", "", "", "" "ALL", " 60%", "6:00:00", "6:40:00", "6:00:00", "8:00:00", "", "2:00:00", "2:40:00", "2:00:00", "4:00:00", "", "2:00:00", "2:40:00", "2:00:00", "4:00:00" "2014-11", "100%", "8:00:00", "7:00:00", "6:00:00", "8:00:00", "", "4:00:00", "3:00:00", "2:00:00", "4:00:00", "", "4:00:00", "3:00:00", "2:00:00", "4:00:00" "2014-12", " 33%", "6:00:00", "6:00:00", "6:00:00", "6:00:00", "", "2:00:00", "2:00:00", "2:00:00", "2:00:00", "", "2:00:00", "2:00:00", "2:00:00", "2:00:00" ''' self.assertMultiLineEqual(expected, result.getvalue())
def testReportNoFocusStagesNoTrend(self): result = StringIO.StringIO() build_time_stats.Report(result, 'description', None, self.builds_timings, stages=True, trending=False) expected = '''description Averages for 5 Builds: 1 - 5 success 60% timeouts 20% median 6:00:00 mean 6:40:00 min 6:00:00 max 8:00:00 start: start: median 0:00:00 mean 0:00:00 min 0:00:00 max 0:00:00 duration: median 2:00:00 mean 2:40:00 min 2:00:00 max 4:00:00 finish: median 2:00:00 mean 2:40:00 min 2:00:00 max 4:00:00 build: start: median 2:00:00 mean 2:40:00 min 2:00:00 max 4:00:00 duration: median 2:00:00 mean 2:40:00 min 2:00:00 max 4:00:00 finish: median 4:00:00 mean 5:20:00 min 4:00:00 max 8:00:00 ''' self.assertMultiLineEqual(expected, result.getvalue())