aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-06-27 13:07:03 +0200
committerDmitry Vyukov <dvyukov@google.com>2018-06-27 13:07:03 +0200
commit43da5e3a1baae2b2fa4f00e2218632e882654517 (patch)
treeffe4f2db60cb9e4b0ca7696d118ddebbb907cb31
parent43e60f7e0961a7b3bdb6813703c41cee2680a0dd (diff)
pkg/vcs: move from pkg/git
Rename pkg/git to pkg/vcs because we need to support not only git.
-rw-r--r--dashboard/app/jobs.go6
-rw-r--r--pkg/bisect/bisect.go60
-rw-r--r--pkg/instance/instance.go4
-rw-r--r--pkg/vcs/git.go (renamed from pkg/git/git.go)4
-rw-r--r--pkg/vcs/git_test.go (renamed from pkg/git/git_test.go)2
-rw-r--r--syz-ci/jobs.go12
-rw-r--r--syz-ci/manager.go14
-rw-r--r--syz-ci/syzupdater.go6
8 files changed, 54 insertions, 54 deletions
diff --git a/dashboard/app/jobs.go b/dashboard/app/jobs.go
index e0fbc09c1..7148a6b9e 100644
--- a/dashboard/app/jobs.go
+++ b/dashboard/app/jobs.go
@@ -12,7 +12,7 @@ import (
"github.com/google/syzkaller/dashboard/dashapi"
"github.com/google/syzkaller/pkg/email"
- "github.com/google/syzkaller/pkg/git"
+ "github.com/google/syzkaller/pkg/vcs"
"golang.org/x/net/context"
"google.golang.org/appengine/datastore"
"google.golang.org/appengine/log"
@@ -85,9 +85,9 @@ func addTestJob(c context.Context, bug *Bug, bugKey *datastore.Key, bugReporting
}
switch {
- case !git.CheckRepoAddress(repo):
+ case !vcs.CheckRepoAddress(repo):
return fmt.Sprintf("%q does not look like a valid git repo address.", repo), nil
- case !git.CheckBranch(branch) && !git.CheckCommitHash(branch):
+ case !vcs.CheckBranch(branch) && !vcs.CheckCommitHash(branch):
return fmt.Sprintf("%q does not look like a valid git branch or commit.", branch), nil
case crash.ReproC == 0 && crash.ReproSyz == 0:
return "This crash does not have a reproducer. I cannot test it.", nil
diff --git a/pkg/bisect/bisect.go b/pkg/bisect/bisect.go
index 78ac998a4..3dab05290 100644
--- a/pkg/bisect/bisect.go
+++ b/pkg/bisect/bisect.go
@@ -10,9 +10,9 @@ import (
"time"
"github.com/google/syzkaller/pkg/build"
- "github.com/google/syzkaller/pkg/git"
"github.com/google/syzkaller/pkg/instance"
"github.com/google/syzkaller/pkg/osutil"
+ "github.com/google/syzkaller/pkg/vcs"
"github.com/google/syzkaller/syz-manager/mgrconfig"
)
@@ -51,7 +51,7 @@ type ReproConfig struct {
type env struct {
cfg *Config
- head *git.Commit
+ head *vcs.Commit
inst *instance.Env
numTests int
buildTime time.Duration
@@ -62,7 +62,7 @@ type buildEnv struct {
compiler string
}
-func Run(cfg *Config) (*git.Commit, error) {
+func Run(cfg *Config) (*vcs.Commit, error) {
env := &env{
cfg: cfg,
}
@@ -92,13 +92,13 @@ func Run(cfg *Config) (*git.Commit, error) {
return res, nil
}
-func (env *env) bisect() (*git.Commit, error) {
+func (env *env) bisect() (*vcs.Commit, error) {
cfg := env.cfg
var err error
if env.inst, err = instance.NewEnv(&cfg.Manager); err != nil {
return nil, err
}
- if env.head, err = git.Poll(cfg.Manager.KernelSrc, cfg.Kernel.Repo, cfg.Kernel.Branch); err != nil {
+ if env.head, err = vcs.Poll(cfg.Manager.KernelSrc, cfg.Kernel.Repo, cfg.Kernel.Branch); err != nil {
return nil, err
}
if err := build.Clean(cfg.Manager.TargetOS, cfg.Manager.TargetArch,
@@ -109,12 +109,12 @@ func (env *env) bisect() (*git.Commit, error) {
if err := env.inst.BuildSyzkaller(cfg.Syzkaller.Repo, cfg.Syzkaller.Commit); err != nil {
return nil, err
}
- if _, err := git.SwitchCommit(cfg.Manager.KernelSrc, cfg.Kernel.Commit); err != nil {
+ if _, err := vcs.SwitchCommit(cfg.Manager.KernelSrc, cfg.Kernel.Commit); err != nil {
return nil, err
}
if res, err := env.test(); err != nil {
return nil, err
- } else if res != git.BisectBad {
+ } else if res != vcs.BisectBad {
return nil, fmt.Errorf("the crash wasn't reproduced on the original commit")
}
res, bad, good, err := env.commitRange()
@@ -127,44 +127,44 @@ func (env *env) bisect() (*git.Commit, error) {
if good == "" {
return nil, nil // still not fixed
}
- return git.Bisect(cfg.Manager.KernelSrc, bad, good, cfg.Trace, func() (git.BisectResult, error) {
+ return vcs.Bisect(cfg.Manager.KernelSrc, bad, good, cfg.Trace, func() (vcs.BisectResult, error) {
res, err := env.test()
if cfg.Fix {
- if res == git.BisectBad {
- res = git.BisectGood
- } else if res == git.BisectGood {
- res = git.BisectBad
+ if res == vcs.BisectBad {
+ res = vcs.BisectGood
+ } else if res == vcs.BisectGood {
+ res = vcs.BisectBad
}
}
return res, err
})
}
-func (env *env) commitRange() (*git.Commit, string, string, error) {
+func (env *env) commitRange() (*vcs.Commit, string, string, error) {
if env.cfg.Fix {
return env.commitRangeForFix()
}
return env.commitRangeForBug()
}
-func (env *env) commitRangeForFix() (*git.Commit, string, string, error) {
+func (env *env) commitRangeForFix() (*vcs.Commit, string, string, error) {
env.log("testing current HEAD %v", env.head.Hash)
- if _, err := git.SwitchCommit(env.cfg.Manager.KernelSrc, env.head.Hash); err != nil {
+ if _, err := vcs.SwitchCommit(env.cfg.Manager.KernelSrc, env.head.Hash); err != nil {
return nil, "", "", err
}
res, err := env.test()
if err != nil {
return nil, "", "", err
}
- if res != git.BisectGood {
+ if res != vcs.BisectGood {
return nil, "", "", nil
}
return nil, env.head.Hash, env.cfg.Kernel.Commit, nil
}
-func (env *env) commitRangeForBug() (*git.Commit, string, string, error) {
+func (env *env) commitRangeForBug() (*vcs.Commit, string, string, error) {
cfg := env.cfg
- tags, err := git.PreviousReleaseTags(cfg.Manager.KernelSrc, cfg.Kernel.Commit)
+ tags, err := vcs.PreviousReleaseTags(cfg.Manager.KernelSrc, cfg.Kernel.Commit)
if err != nil {
return nil, "", "", err
}
@@ -183,7 +183,7 @@ func (env *env) commitRangeForBug() (*git.Commit, string, string, error) {
lastBad := cfg.Kernel.Commit
for i, tag := range tags {
env.log("testing release %v", tag)
- commit, err := git.SwitchCommit(cfg.Manager.KernelSrc, tag)
+ commit, err := vcs.SwitchCommit(cfg.Manager.KernelSrc, tag)
if err != nil {
return nil, "", "", err
}
@@ -191,10 +191,10 @@ func (env *env) commitRangeForBug() (*git.Commit, string, string, error) {
if err != nil {
return nil, "", "", err
}
- if res == git.BisectGood {
+ if res == vcs.BisectGood {
return nil, lastBad, tag, nil
}
- if res == git.BisectBad {
+ if res == vcs.BisectBad {
lastBad = tag
}
if i == len(tags)-1 {
@@ -204,10 +204,10 @@ func (env *env) commitRangeForBug() (*git.Commit, string, string, error) {
panic("unreachable")
}
-func (env *env) test() (git.BisectResult, error) {
+func (env *env) test() (vcs.BisectResult, error) {
cfg := env.cfg
env.numTests++
- current, err := git.HeadCommit(cfg.Manager.KernelSrc)
+ current, err := vcs.HeadCommit(cfg.Manager.KernelSrc)
if err != nil {
return 0, err
}
@@ -235,26 +235,26 @@ func (env *env) test() (git.BisectResult, error) {
} else {
env.log("%v", err)
}
- return git.BisectSkip, nil
+ return vcs.BisectSkip, nil
}
testStart := time.Now()
results, err := env.inst.Test(8, cfg.Repro.Syz, cfg.Repro.Opts, cfg.Repro.C)
env.testTime += time.Since(testStart)
if err != nil {
env.log("failed: %v", err)
- return git.BisectSkip, nil
+ return vcs.BisectSkip, nil
}
bad, good := env.processResults(current, results)
- res := git.BisectSkip
+ res := vcs.BisectSkip
if bad != 0 {
- res = git.BisectBad
+ res = vcs.BisectBad
} else if good != 0 {
- res = git.BisectGood
+ res = vcs.BisectGood
}
return res, nil
}
-func (env *env) processResults(current *git.Commit, results []error) (bad, good int) {
+func (env *env) processResults(current *vcs.Commit, results []error) (bad, good int) {
var verdicts []string
for i, res := range results {
if res == nil {
@@ -303,7 +303,7 @@ func (env *env) processResults(current *git.Commit, results []error) (bad, good
// Note: linux-specific.
func (env *env) buildEnvForCommit(commit string) (*buildEnv, error) {
cfg := env.cfg
- tags, err := git.PreviousReleaseTags(cfg.Manager.KernelSrc, commit)
+ tags, err := vcs.PreviousReleaseTags(cfg.Manager.KernelSrc, commit)
if err != nil {
return nil, err
}
diff --git a/pkg/instance/instance.go b/pkg/instance/instance.go
index 4e28e0b92..a41a4cbc2 100644
--- a/pkg/instance/instance.go
+++ b/pkg/instance/instance.go
@@ -16,10 +16,10 @@ import (
"github.com/google/syzkaller/pkg/build"
"github.com/google/syzkaller/pkg/csource"
- "github.com/google/syzkaller/pkg/git"
"github.com/google/syzkaller/pkg/log"
"github.com/google/syzkaller/pkg/osutil"
"github.com/google/syzkaller/pkg/report"
+ "github.com/google/syzkaller/pkg/vcs"
"github.com/google/syzkaller/prog"
"github.com/google/syzkaller/syz-manager/mgrconfig"
"github.com/google/syzkaller/vm"
@@ -59,7 +59,7 @@ func (env *Env) BuildSyzkaller(repo, commit string) error {
if srcIndex == -1 {
return fmt.Errorf("syzkaller path %q is not in GOPATH", cfg.Syzkaller)
}
- if _, err := git.CheckoutCommit(cfg.Syzkaller, repo, commit); err != nil {
+ if _, err := vcs.CheckoutCommit(cfg.Syzkaller, repo, commit); err != nil {
return fmt.Errorf("failed to checkout syzkaller repo: %v", err)
}
cmd := osutil.Command("make", "target")
diff --git a/pkg/git/git.go b/pkg/vcs/git.go
index 899930bff..e942b3c39 100644
--- a/pkg/git/git.go
+++ b/pkg/vcs/git.go
@@ -1,8 +1,8 @@
// Copyright 2017 syzkaller project authors. All rights reserved.
// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
-// Package git provides helper functions for working with git repositories.
-package git
+// Package vcs provides helper functions for working with git repositories.
+package vcs
import (
"bufio"
diff --git a/pkg/git/git_test.go b/pkg/vcs/git_test.go
index 86f033acf..6b7cf183e 100644
--- a/pkg/git/git_test.go
+++ b/pkg/vcs/git_test.go
@@ -1,7 +1,7 @@
// Copyright 2017 syzkaller project authors. All rights reserved.
// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
-package git
+package vcs
import (
"reflect"
diff --git a/syz-ci/jobs.go b/syz-ci/jobs.go
index fbbb60228..cdb677ead 100644
--- a/syz-ci/jobs.go
+++ b/syz-ci/jobs.go
@@ -12,10 +12,10 @@ import (
"github.com/google/syzkaller/dashboard/dashapi"
"github.com/google/syzkaller/pkg/build"
- "github.com/google/syzkaller/pkg/git"
"github.com/google/syzkaller/pkg/instance"
"github.com/google/syzkaller/pkg/log"
"github.com/google/syzkaller/pkg/osutil"
+ "github.com/google/syzkaller/pkg/vcs"
"github.com/google/syzkaller/syz-manager/mgrconfig"
)
@@ -185,16 +185,16 @@ func (jp *JobProcessor) test(job *Job) error {
}
log.Logf(0, "job: fetching kernel...")
- var kernelCommit *git.Commit
- if git.CheckCommitHash(req.KernelBranch) {
- kernelCommit, err = git.CheckoutCommit(kernelDir, req.KernelRepo, req.KernelBranch)
+ var kernelCommit *vcs.Commit
+ if vcs.CheckCommitHash(req.KernelBranch) {
+ kernelCommit, err = vcs.CheckoutCommit(kernelDir, req.KernelRepo, req.KernelBranch)
if err != nil {
return fmt.Errorf("failed to checkout kernel repo %v on commit %v: %v",
req.KernelRepo, req.KernelBranch, err)
}
resp.Build.KernelBranch = ""
} else {
- kernelCommit, err = git.CheckoutBranch(kernelDir, req.KernelRepo, req.KernelBranch)
+ kernelCommit, err = vcs.CheckoutBranch(kernelDir, req.KernelRepo, req.KernelBranch)
if err != nil {
return fmt.Errorf("failed to checkout kernel repo %v/%v: %v",
req.KernelRepo, req.KernelBranch, err)
@@ -208,7 +208,7 @@ func (jp *JobProcessor) test(job *Job) error {
return fmt.Errorf("kernel clean failed: %v", err)
}
if len(req.Patch) != 0 {
- if err := git.Patch(kernelDir, req.Patch); err != nil {
+ if err := vcs.Patch(kernelDir, req.Patch); err != nil {
return err
}
}
diff --git a/syz-ci/manager.go b/syz-ci/manager.go
index 7e9d2dcf6..dadc980bd 100644
--- a/syz-ci/manager.go
+++ b/syz-ci/manager.go
@@ -13,12 +13,12 @@ import (
"github.com/google/syzkaller/dashboard/dashapi"
"github.com/google/syzkaller/pkg/build"
"github.com/google/syzkaller/pkg/config"
- "github.com/google/syzkaller/pkg/git"
"github.com/google/syzkaller/pkg/hash"
"github.com/google/syzkaller/pkg/instance"
"github.com/google/syzkaller/pkg/log"
"github.com/google/syzkaller/pkg/osutil"
"github.com/google/syzkaller/pkg/report"
+ "github.com/google/syzkaller/pkg/vcs"
"github.com/google/syzkaller/syz-manager/mgrconfig"
)
@@ -147,7 +147,7 @@ loop:
for {
if time.Since(nextBuildTime) >= 0 {
rebuildAfter := buildRetryPeriod
- commit, err := git.Poll(mgr.kernelDir, mgr.mgrcfg.Repo, mgr.mgrcfg.Branch)
+ commit, err := vcs.Poll(mgr.kernelDir, mgr.mgrcfg.Repo, mgr.mgrcfg.Branch)
if err != nil {
mgr.Errorf("failed to poll: %v", err)
} else {
@@ -237,7 +237,7 @@ func (mgr *Manager) checkLatest() *BuildInfo {
}
func (mgr *Manager) build() error {
- kernelCommit, err := git.HeadCommit(mgr.kernelDir)
+ kernelCommit, err := vcs.HeadCommit(mgr.kernelDir)
if err != nil {
return fmt.Errorf("failed to get git HEAD commit: %v", err)
}
@@ -535,16 +535,16 @@ func (mgr *Manager) pollCommits(buildCommit string) ([]string, []dashapi.FixComm
}
var present []string
if len(resp.PendingCommits) != 0 {
- commits, err := git.ListRecentCommits(mgr.kernelDir, buildCommit)
+ commits, err := vcs.ListRecentCommits(mgr.kernelDir, buildCommit)
if err != nil {
return nil, nil, err
}
m := make(map[string]bool, len(commits))
for _, com := range commits {
- m[git.CanonicalizeCommit(com)] = true
+ m[vcs.CanonicalizeCommit(com)] = true
}
for _, com := range resp.PendingCommits {
- if m[git.CanonicalizeCommit(com)] {
+ if m[vcs.CanonicalizeCommit(com)] {
present = append(present, com)
}
}
@@ -554,7 +554,7 @@ func (mgr *Manager) pollCommits(buildCommit string) ([]string, []dashapi.FixComm
// TODO(dvyukov): mmots contains weird squashed commits titled "linux-next" or "origin",
// which contain hundreds of other commits. This makes fix attribution totally broken.
if mgr.mgrcfg.Repo != "git://git.cmpxchg.org/linux-mmots.git" {
- commits, err := git.ExtractFixTagsFromCommits(mgr.kernelDir, buildCommit, resp.ReportEmail)
+ commits, err := vcs.ExtractFixTagsFromCommits(mgr.kernelDir, buildCommit, resp.ReportEmail)
if err != nil {
return nil, nil, err
}
diff --git a/syz-ci/syzupdater.go b/syz-ci/syzupdater.go
index d1f9842ef..286aa1fbc 100644
--- a/syz-ci/syzupdater.go
+++ b/syz-ci/syzupdater.go
@@ -12,9 +12,9 @@ import (
"syscall"
"time"
- "github.com/google/syzkaller/pkg/git"
"github.com/google/syzkaller/pkg/log"
"github.com/google/syzkaller/pkg/osutil"
+ "github.com/google/syzkaller/pkg/vcs"
"github.com/google/syzkaller/syz-manager/mgrconfig"
)
@@ -186,7 +186,7 @@ func (upd *SyzUpdater) UpdateAndRestart() {
}
func (upd *SyzUpdater) pollAndBuild(lastCommit string) string {
- commit, err := git.Poll(upd.syzkallerDir, upd.repo, upd.branch)
+ commit, err := vcs.Poll(upd.syzkallerDir, upd.repo, upd.branch)
if err != nil {
log.Logf(0, "syzkaller: failed to poll: %v", err)
} else {
@@ -203,7 +203,7 @@ func (upd *SyzUpdater) pollAndBuild(lastCommit string) string {
}
func (upd *SyzUpdater) build() error {
- commit, err := git.HeadCommit(upd.syzkallerDir)
+ commit, err := vcs.HeadCommit(upd.syzkallerDir)
if err != nil {
return fmt.Errorf("failed to get HEAD commit: %v", err)
}