aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2024-04-09 08:40:48 +0200
committerDmitry Vyukov <dvyukov@google.com>2024-04-09 06:50:08 +0000
commit976a34ecfb3a3604c1e1c9532cb77809d14a7429 (patch)
tree2382a1030870a62c7ad0bb9ac4842cd1e796a273 /tools
parentf323435486123f331122c97cd8bd4183c89d4f05 (diff)
tools/syz-cover: support jsonl export
Handy for testing/benchmarking w/o running full syz-manager each time.
Diffstat (limited to 'tools')
-rw-r--r--tools/syz-cover/syz-cover.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/tools/syz-cover/syz-cover.go b/tools/syz-cover/syz-cover.go
index ffecebf67..05a5fec23 100644
--- a/tools/syz-cover/syz-cover.go
+++ b/tools/syz-cover/syz-cover.go
@@ -44,6 +44,7 @@ func main() {
"modules JSON info obtained from /modules (optional)")
flagExportCSV = flag.String("csv", "", "export coverage data in csv format (optional)")
flagExportLineJSON = flag.String("json", "", "export coverage data with source line info in json format (optional)")
+ flagExportJSONL = flag.String("jsonl", "", "export jsonl coverage data (optional)")
flagExportHTML = flag.String("html", "", "save coverage HTML report to file (optional)")
)
defer tool.Init()()
@@ -100,6 +101,15 @@ func main() {
}
return
}
+ if *flagExportJSONL != "" {
+ if err := rg.DoCoverJSONL(buf, params); err != nil {
+ tool.Fail(err)
+ }
+ if err := osutil.WriteFile(*flagExportJSONL, buf.Bytes()); err != nil {
+ tool.Fail(err)
+ }
+ return
+ }
if err := rg.DoHTML(buf, params); err != nil {
tool.Fail(err)
}