def result_progress(current, baseline): results = progress.get_progress_between_results(current, baseline) _send_results( current=current, template='result_progress.html', comparisons={p: render_comparison(p.before, p.after) for p in results}, baseline=current.baseline, header="Art - Benchmark Progress for %s" % current.name, subject_template="%s [%s]", )
def monthly_benchmark_progress(now, then, results): header = "Art - Monthly Benchmark Progress" time = now.strftime('%B %Y') comparisons = {p: render_comparison(p.before, p.after) for p in results} context = { "now": now, "header": header, "time": time, "comparisons": comparisons, } _benchmark_progress(context)
def test_render_comparison(self): now = timezone.now() then = now - relativedelta(days=7) result_now = G(Result, name="name1", manifest__manifest=MINIMAL_XML, branch_name="master", gerrit_change_number=None, created_at=now) result_then = G(Result, name="name2", manifest__manifest=MINIMAL_XML, branch_name="master", gerrit_change_number=None, created_at=now) testjob_now = G( TestJob, result=result_now, completed=True, ) testjob_now.data = get_file("now.json") testjob_now.save() testjob_then = G( TestJob, result=result_now, completed=True, ) testjob_then.data = get_file("then.json") testjob_then.save() output = render_comparison(testjob_then, testjob_now) self.assertTrue("benchmark1" in output)
def render_results(results): comparisons = {p: render_comparison(p.before, p.after) for p in results} key = lambda t: t[0].environment.identifier return OrderedDict(sorted(comparisons.items(), key=key))