aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/cover/report_test.go
diff options
context:
space:
mode:
authorJoey Jiaojg <joeyjiaojg@qq.com>2021-03-03 00:22:57 +0800
committerGitHub <noreply@github.com>2021-03-02 17:22:57 +0100
commitaff16d3fed742e27093858a70f8bd5cbf6f0dedd (patch)
treeeca728c55e7c17709db46c1832bfe75649bd3a1d /pkg/cover/report_test.go
parente1b9a5704d15b1f26f7cae9142c34544768175b2 (diff)
pkg/cover, syz-manager: show coverage summary
* pkg/cover, syz-manager: show coverage summary The funccover or cover page is not easy for statistic purpose. So add /cover?type=rawfiles to show coverage based on each file. And /cover?type=table page to show coverage for group of components. If driver_path_map.json exists, /cover?type=table can show component coverage. Format example: { "all": [ "/" ], "audio": [ "/techpack/audio/asoc", "/techpack/audio/dsp", "/techpack/audio/ipc", "/sound/core" ] } If driver_path_map.json not exist, it will show one line summary. * pkg/cover: use subsystem naming * syz-manager: use /subsystemcover and /filecover * pkg/cover: use subsystem from config * pkg/mgrconfig: add kernel_subsystem * pkg/cover, tools/syz-cover: fix make test * all: fix presumit errors * pkg/cover, syz-manager: fix subsystem
Diffstat (limited to 'pkg/cover/report_test.go')
-rw-r--r--pkg/cover/report_test.go22
1 files changed, 21 insertions, 1 deletions
diff --git a/pkg/cover/report_test.go b/pkg/cover/report_test.go
index 63f1ff50a..0707eab64 100644
--- a/pkg/cover/report_test.go
+++ b/pkg/cover/report_test.go
@@ -180,7 +180,17 @@ func generateReport(t *testing.T, target *targets.Target, test Test) ([]byte, []
}
defer os.RemoveAll(dir)
bin := buildTestBinary(t, target, test, dir)
- rg, err := MakeReportGenerator(target, "", dir, dir, dir)
+ subsystem := []Subsystem{
+ {
+ Name: "sound",
+ Paths: []string{
+ "sound",
+ "techpack/audio",
+ },
+ },
+ }
+
+ rg, err := MakeReportGenerator(target, "", dir, dir, dir, subsystem)
if err != nil {
return nil, nil, err
}
@@ -216,10 +226,20 @@ func generateReport(t *testing.T, target *targets.Target, test Test) ([]byte, []
if err := rg.DoHTML(html, test.Progs); err != nil {
return nil, nil, err
}
+ htmlTable := new(bytes.Buffer)
+ if err := rg.DoHTMLTable(htmlTable, test.Progs); err != nil {
+ return nil, nil, err
+ }
+ _ = htmlTable
csv := new(bytes.Buffer)
if err := rg.DoCSV(csv, test.Progs); err != nil {
return nil, nil, err
}
+ csvFiles := new(bytes.Buffer)
+ if err := rg.DoCSVFiles(csvFiles, test.Progs); err != nil {
+ return nil, nil, err
+ }
+ _ = csvFiles
return html.Bytes(), csv.Bytes(), nil
}