Re-use existing code for loading report from file

This commit is contained in:
Bryan Boreham
2020-03-10 11:15:12 +00:00
parent e6eaf11fb6
commit 94f1f51847

View File

@@ -3,11 +3,8 @@ package render_test
import (
"context"
"flag"
"io/ioutil"
"testing"
"github.com/ugorji/go/codec"
"github.com/weaveworks/scope/render"
"github.com/weaveworks/scope/report"
"github.com/weaveworks/scope/test/fixture"
@@ -52,23 +49,16 @@ func benchmarkRender(b *testing.B, r render.Renderer) {
b.StopTimer()
render.ResetCache()
b.StartTimer()
benchmarkRenderResult = r.Render(context.Background(), report)
benchmarkRenderResult = r.Render(context.Background(), *report)
if len(benchmarkRenderResult.Nodes) == 0 {
b.Errorf("Rendered topology contained no nodes")
}
}
}
func loadReport() (report.Report, error) {
func loadReport() (*report.Report, error) {
if *benchReportFile == "" {
return fixture.Report, nil
return &fixture.Report, nil
}
b, err := ioutil.ReadFile(*benchReportFile)
if err != nil {
return rpt, err
}
rpt := report.MakeReport()
err = codec.NewDecoderBytes(b, &codec.JsonHandle{}).Decode(&rpt)
return rpt, err
return report.MakeFromFile(context.Background(), *benchReportFile)
}