def test_table(self):
        """check main reporting table generation"""
        p1 = PerfResultCollection([
            PerfResult(
                elapsed_time=2,
                revision_date=124.8,
                revision=100,
                test_id=('bzrlib.benchmarks.bench_add.AddBenchmark.'
                         'test_one_add_kernel_like_tree'),
            )
        ])
        p2 = PerfResultCollection([
            PerfResult(
                elapsed_time=3,
                revision_date=12456.3,
                revision=200,
                test_id=('bzrlib.benchmarks.bench_add.AddBenchmark.'
                         'test_one_add_kernel_like_tree'),
            ),
        ])

        samples = [
            PerfResultCollection([
                PerfResult(elapsed_time=i,
                           test_id='test_id',
                           revision_id='revision%s' % (i, ),
                           revision=i),
            ], ) for i in range(20)
        ]

        images = [
            Page().gen_image_map(samples, revisions=range(20))
            for i in range(4)
        ]

        d1 = [
            PerfResultCollection([
                PerfResult(
                    elapsed_time=i,
                    date=130.0,
                    test_id='test123',
                    revision=1,
                    revision_id='one',
                ),
            ], ) for i in range(1, 4)
        ]
        d2 = [
            PerfResultCollection([
                PerfResult(
                    elapsed_time=i,
                    date=140.0,
                    test_id='test123',
                    revision=2,
                    revision_id='two',
                ),
            ], ) for i in range(2, 5)
        ]
        deltas = [PerfResultDelta(*pair) for pair in zip(d1, d2)]
        p = Page().render_table(deltas, images)
        self.check_serialize_html(p)
 def test_header(self):
     """check header generation"""
     p1 = PerfResultCollection(
         [PerfResult(revision_date=124.8, nick="hello", revision=100)])
     p2 = PerfResultCollection(
         [PerfResult(revision_date=12456.3, nick="hello", revision=200)])
     self.check_serialize_html(Page().render_header(p1.results[0],
                                                    p2.results[0]))
 def test_gen_image_map(self):
     """check image map for 20 Perf Results"""
     samples = [
         PerfResultCollection([
             PerfResult(elapsed_time=i,
                        test_id='test_id',
                        revision_id='revision %s' % (i, ),
                        revision=i)
         ]) for i in range(20)
     ]
     x = Page().gen_image_map(samples, revisions=range(20))
     self.check_serialize_html(x)
    def test_report(self):
        """check revision report showing changes to prev revision"""

        p1 = [
            PerfResultCollection([
                PerfResult(elapsed_time=i,
                           date=float(i),
                           revision=1,
                           test_id='test123',
                           revision_id='one')
            ]) for i in range(1, 4)
        ]
        p2 = [
            PerfResultCollection([
                PerfResult(elapsed_time=i,
                           date=float(i),
                           test_id='test123',
                           revision=2,
                           revision_id='two')
            ]) for i in range(2, 5)
        ]

        deltas = [PerfResultDelta(*pair) for pair in zip(p1, p2)]
        self.check_serialize_html(Page().render_report(deltas))
 def setup_method(self, meth):
     self.r1 = PerfResult(date=123123.123, elapsed_time=10)
     self.r2 = PerfResult(date=123523.123, elapsed_time=11)
     self.c1 = PerfResultCollection([self.r1])
     self.c2 = PerfResultCollection([self.r2])
 def test_property_elapsed_time(self):
     """check elapsed_time computated property"""
     p1 = PerfResult(elapsed_time=1, date=132.123)
     p2 = PerfResult(elapsed_time=2, date=142.1)
     sample = PerfResultCollection([p1, p2])
     assert sample.min_elapsed == 1