aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
authorTaras Madan <tarasmadan@google.com>2024-08-16 12:04:08 +0200
committerTaras Madan <tarasmadan@google.com>2024-08-16 11:35:48 +0000
commitd0becdea21af55ab122b2e8d5d498c6fa9ab3564 (patch)
treeaea3b8fee86ed3e1410eb375ba813838f5b0c58d /pkg
parentc3a6603be2cc031a8f2fa69e757e04a4ce647080 (diff)
tools/syz-cover: filter by source commit
Diffstat (limited to 'pkg')
-rw-r--r--pkg/cover/file.go9
-rw-r--r--pkg/covermerger/bq_csv_reader.go10
2 files changed, 12 insertions, 7 deletions
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)