From a2bdbd8c37841cc507a2ad59f25d90d6467e5858 Mon Sep 17 00:00:00 2001 From: Zubin Mithra Date: Tue, 8 Oct 2019 15:57:52 -0700 Subject: pkg/bisect: add initial testing support for cause bisection (note: incomplete change) Refactor existing code as follows: * Move reusable test utility functions from git_repo_test.go to pkg/vcs/test_util.go and make them exported. * Split Run() into Run()+runImpl(). * Change type of bisect.go:env.inst to `instance.BuilderTester`. Change usage inside syz-testbuild/testbuild.go accordingly. * Move most of linux.PreviousReleaseTags() into vcs/git.go as git.previousReleaseTags(). * Allow build.CompilerIdentity to be mocked. Introduce the following changes: * instance.BuilderTester is an interface with methods BuildSyzkaller() BuildKernel() Test() NewEnv() now returns this interface. * type testEnv implements instance.BuilderTester. * type testBuilder implements builder interface. Add a entry into table inside pkg/build/build.go:getBuilder() to return testBuilder object. --- pkg/build/testlinux.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 pkg/build/testlinux.go (limited to 'pkg/build/testlinux.go') diff --git a/pkg/build/testlinux.go b/pkg/build/testlinux.go new file mode 100644 index 000000000..482c162c5 --- /dev/null +++ b/pkg/build/testlinux.go @@ -0,0 +1,16 @@ +// Copyright 2019 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 build + +// TypeBuilder implements the builder interface. +type testBuilder struct{} + +func (tb testBuilder) build(targetArch, vmType, kernelDir, outputDir, compiler, userspaceDir, + cmdlineFile, sysctlFile string, config []byte) error { + return nil +} + +func (tb testBuilder) clean(string, string) error { + return nil +} -- cgit mrf-deployment