aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorTaras Madan <tarasmadan@google.com>2024-07-08 10:11:55 +0200
committerTaras Madan <tarasmadan@google.com>2024-07-15 20:31:23 +0000
commita6c8cb149d0cb77afa09376f8454189579b7144c (patch)
tree8a796590fa681d79f1e5fd61afaa2aee64d20bb0 /tools
parente8709b21d7c474a0fb6b8ff13039702865fd83bb (diff)
all: spanner.coveragedb to pkg
Diffstat (limited to 'tools')
-rw-r--r--tools/syz-covermerger/db.go32
-rw-r--r--tools/syz-covermerger/syz_covermerger.go3
2 files changed, 9 insertions, 26 deletions
diff --git a/tools/syz-covermerger/db.go b/tools/syz-covermerger/db.go
index 30e51365d..e0df6735f 100644
--- a/tools/syz-covermerger/db.go
+++ b/tools/syz-covermerger/db.go
@@ -8,34 +8,16 @@ import (
"fmt"
"time"
- "cloud.google.com/go/civil"
"cloud.google.com/go/spanner"
+ "github.com/google/syzkaller/pkg/spanner/coveragedb"
"github.com/google/uuid"
)
// TODO: move to dashAPI once tested? I'm not sure we'll benefit.
-type DBFilesRecord struct {
- Session string
- FilePath string
- Instrumented int64
- Covered int64
-}
-
-type DBHistoryRecord struct {
- Session string
- Time time.Time
- Namespace string
- Repo string
- Commit string
- Duration int64
- DateTo civil.Date
- TotalRows int64
-}
-
-func saveToSpanner(ctx context.Context, projectID string, coverage map[string]*Coverage,
- template *DBHistoryRecord, totalRows int64) {
- client, err := spanner.NewClient(ctx, "projects/"+projectID+"/instances/syzbot/databases/coverage")
+func saveToSpanner(ctx context.Context, projectID string, covMap map[string]*Coverage,
+ template *coveragedb.HistoryRecord, totalRows int64) {
+ client, err := coveragedb.NewClient(ctx, projectID)
if err != nil {
panic(fmt.Sprintf("spanner.NewClient() failed: %s", err.Error()))
}
@@ -43,9 +25,9 @@ func saveToSpanner(ctx context.Context, projectID string, coverage map[string]*C
session := uuid.New().String()
mutations := []*spanner.Mutation{}
- for filePath, record := range coverage {
+ for filePath, record := range covMap {
var insert *spanner.Mutation
- if insert, err = spanner.InsertOrUpdateStruct("files", &DBFilesRecord{
+ if insert, err = spanner.InsertOrUpdateStruct("files", &coveragedb.FilesRecord{
Session: session,
FilePath: filePath,
Instrumented: record.Instrumented,
@@ -66,7 +48,7 @@ func saveToSpanner(ctx context.Context, projectID string, coverage map[string]*C
}
var historyInsert *spanner.Mutation
- if historyInsert, err = spanner.InsertOrUpdateStruct("merge_history", &DBHistoryRecord{
+ if historyInsert, err = spanner.InsertOrUpdateStruct("merge_history", &coveragedb.HistoryRecord{
Session: session,
Time: time.Now(),
Namespace: template.Namespace,
diff --git a/tools/syz-covermerger/syz_covermerger.go b/tools/syz-covermerger/syz_covermerger.go
index 69e408da2..16f62e3b6 100644
--- a/tools/syz-covermerger/syz_covermerger.go
+++ b/tools/syz-covermerger/syz_covermerger.go
@@ -14,6 +14,7 @@ import (
"cloud.google.com/go/civil"
"github.com/google/syzkaller/pkg/covermerger"
+ "github.com/google/syzkaller/pkg/spanner/coveragedb"
"golang.org/x/exp/maps"
)
@@ -59,7 +60,7 @@ func main() {
}
coverage, _, _ := mergeResultsToCoverage(mergeResult)
saveToSpanner(context.Background(), *flagProjectID, coverage,
- &DBHistoryRecord{
+ &coveragedb.HistoryRecord{
Namespace: *flagNamespace,
Repo: *flagRepo,
Commit: *flagCommit,