aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-05-14 13:47:44 +0200
committerDmitry Vyukov <dvyukov@google.com>2018-05-14 13:47:44 +0200
commitd131f1b9fc0e6b3a2b326bd2fd4fa647a46b0c78 (patch)
tree2cb74ebf25fb913ae09bd0e080e97db1cb2708e4 /pkg
parent477728038c7fcef8ed4a6ef6381a8ca60ec99e14 (diff)
pkg/instance: relax syzkaller path check
Only check that syzkaller path is in GOPATH if we are going to build it. syz-ci image testing does not have syzkaller path in GOPATH, but it also does not build syzkaller.
Diffstat (limited to 'pkg')
-rw-r--r--pkg/instance/instance.go27
1 files changed, 13 insertions, 14 deletions
diff --git a/pkg/instance/instance.go b/pkg/instance/instance.go
index 163821c37..eb9a06205 100644
--- a/pkg/instance/instance.go
+++ b/pkg/instance/instance.go
@@ -27,8 +27,7 @@ import (
)
type Env struct {
- cfg *mgrconfig.Config
- gopath string
+ cfg *mgrconfig.Config
}
func NewEnv(cfg *mgrconfig.Config) (*Env, error) {
@@ -46,32 +45,32 @@ func NewEnv(cfg *mgrconfig.Config) (*Env, error) {
if cfg.Syzkaller == "" {
return nil, fmt.Errorf("syzkaller path is empty")
}
- srcIndex := strings.LastIndex(cfg.Syzkaller, "/src/")
- if srcIndex == -1 {
- return nil, fmt.Errorf("syzkaller path %q is not in GOPATH", cfg.Syzkaller)
- }
if err := osutil.MkdirAll(cfg.Workdir); err != nil {
return nil, fmt.Errorf("failed to create tmp dir: %v", err)
}
env := &Env{
- cfg: cfg,
- gopath: cfg.Syzkaller[:srcIndex],
+ cfg: cfg,
}
return env, nil
}
func (env *Env) BuildSyzkaller(repo, commit string) error {
- if _, err := git.CheckoutCommit(env.cfg.Syzkaller, repo, commit); err != nil {
+ cfg := env.cfg
+ srcIndex := strings.LastIndex(cfg.Syzkaller, "/src/")
+ 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 {
return fmt.Errorf("failed to checkout syzkaller repo: %v", err)
}
cmd := osutil.Command("make", "target")
- cmd.Dir = env.cfg.Syzkaller
+ cmd.Dir = cfg.Syzkaller
cmd.Env = append([]string{}, os.Environ()...)
cmd.Env = append(cmd.Env,
- "GOPATH="+env.gopath,
- "TARGETOS="+env.cfg.TargetOS,
- "TARGETVMARCH="+env.cfg.TargetVMArch,
- "TARGETARCH="+env.cfg.TargetArch,
+ "GOPATH="+cfg.Syzkaller[:srcIndex],
+ "TARGETOS="+cfg.TargetOS,
+ "TARGETVMARCH="+cfg.TargetVMArch,
+ "TARGETARCH="+cfg.TargetArch,
)
if _, err := osutil.Run(time.Hour, cmd); err != nil {
return fmt.Errorf("syzkaller build failed: %v", err)