diff options
| author | Joey Jiaojg <joeyjiaojg@qq.com> | 2021-03-03 00:22:57 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-02 17:22:57 +0100 |
| commit | aff16d3fed742e27093858a70f8bd5cbf6f0dedd (patch) | |
| tree | eca728c55e7c17709db46c1832bfe75649bd3a1d /pkg/cover/report_test.go | |
| parent | e1b9a5704d15b1f26f7cae9142c34544768175b2 (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.go | 22 |
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 } |
