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 test_page_rendering_on_sample_dataset(self): perftable = PerfTable(testdata.splitlines()) page = Page(perftable).render() self.check_serialize_html(page)