From d0becdea21af55ab122b2e8d5d498c6fa9ab3564 Mon Sep 17 00:00:00 2001 From: Taras Madan Date: Fri, 16 Aug 2024 12:04:08 +0200 Subject: tools/syz-cover: filter by source commit --- pkg/cover/file.go | 9 +++++---- pkg/covermerger/bq_csv_reader.go | 10 +++++++--- 2 files changed, 12 insertions(+), 7 deletions(-) (limited to 'pkg') diff --git a/pkg/cover/file.go b/pkg/cover/file.go index e95392ad7..524963aaf 100644 --- a/pkg/cover/file.go +++ b/pkg/cover/file.go @@ -30,18 +30,18 @@ func DefaultTextRenderConfig() *CoverageRenderConfig { } } -func RendFileCoverage(c context.Context, ns, repo, commit, filePath string, +func RendFileCoverage(c context.Context, ns, repo, forCommit, sourceCommit, filePath string, fromDate, toDate civil.Date, renderConfig *CoverageRenderConfig) (string, error) { - fileContent, err := covermerger.GetFileVersion(filePath, repo, commit) + fileContent, err := covermerger.GetFileVersion(filePath, repo, forCommit) if err != nil { return "", fmt.Errorf("failed to GetFileVersion for file %s, commit %s from repo %s: %w", - filePath, commit, repo, err) + filePath, forCommit, repo, err) } config := &covermerger.Config{ Jobs: 1, Base: covermerger.RepoBranchCommit{ Repo: repo, - Commit: commit, + Commit: forCommit, }, FileVersProvider: covermerger.MakeWebGit(), StoreDetails: true, @@ -51,6 +51,7 @@ func RendFileCoverage(c context.Context, ns, repo, commit, filePath string, if err := dbReader.InitNsRecords(c, ns, filePath, + sourceCommit, fromDate, toDate, ); err != nil { diff --git a/pkg/covermerger/bq_csv_reader.go b/pkg/covermerger/bq_csv_reader.go index 42a1fd4ec..f429f6f4e 100644 --- a/pkg/covermerger/bq_csv_reader.go +++ b/pkg/covermerger/bq_csv_reader.go @@ -37,7 +37,7 @@ func MakeBQCSVReader() *bqCSVReader { return &bqCSVReader{} } -func (r *bqCSVReader) InitNsRecords(ctx context.Context, ns, filePath string, from, to civil.Date) error { +func (r *bqCSVReader) InitNsRecords(ctx context.Context, ns, filePath, commit string, from, to civil.Date) error { if !isAllowedFilePath(filePath) { return fmt.Errorf("wrong file path '%s'", filePath) } @@ -52,6 +52,10 @@ func (r *bqCSVReader) InitNsRecords(ctx context.Context, ns, filePath string, fr if err := client.EnableStorageReadClient(ctx); err != nil { return fmt.Errorf("failed to client.EnableStorageReadClient: %w", err) } + selectCommit := "" + if commit != "" { + selectCommit = fmt.Sprintf("AND\n\t\t\t\t\tkernel_commit = \"%s\"", commit) + } q := client.Query(fmt.Sprintf(` EXPORT DATA OPTIONS ( @@ -68,11 +72,11 @@ func (r *bqCSVReader) InitNsRecords(ctx context.Context, ns, filePath string, fr TIMESTAMP_TRUNC(timestamp, DAY) >= "%s" AND TIMESTAMP_TRUNC(timestamp, DAY) <= "%s" AND version = 1 AND - starts_with(file_path, "%s") + starts_with(file_path, "%s") %s GROUP BY file_path, kernel_commit, kernel_repo, kernel_branch, sl ORDER BY file_path ); - `, gsURI, ns, from.String(), to.String(), filePath)) + `, gsURI, ns, from.String(), to.String(), filePath, selectCommit)) job, err := q.Run(ctx) if err != nil { return fmt.Errorf("err during bigquery.Run: %w", err) -- cgit mrf-deployment