예제 #1
0
    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())
예제 #2
0
    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())
예제 #3
0
    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())
예제 #4
0
    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())
예제 #5
0
    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())
예제 #6
0
    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())