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.
12 files changed
tree: bc4ad0e738a749c2321b7181e4ea04c5615738e7
  1. .clang-format
  2. .gitignore
  3. .golangci.yml
  4. .travis.yml
  5. AUTHORS
  6. CODE_OF_CONDUCT.md
  7. CONTRIBUTORS
  8. Godeps/
  9. LICENSE
  10. Makefile
  11. README.md
  12. dashboard/
  13. docs/
  14. executor/
  15. fuzzbuzz.yaml
  16. fuzzit.sh
  17. pkg/
  18. prog/
  19. sys/
  20. syz-ci/
  21. syz-fuzzer/
  22. syz-hub/
  23. syz-manager/
  24. tools/
  25. vendor/
  26. vm/
README.md

syzkaller - kernel fuzzer

Build Status fuzzit Go Report Card Coverage Status GoDoc License

syzkaller is an unsupervised coverage-guided kernel fuzzer.
Supported OSes: Akaros, FreeBSD, Fuchsia, gVisor, Linux, NetBSD, OpenBSD, Windows.

Mailing list: syzkaller@googlegroups.com (join on web or by email).

Found bugs: Akaros, Darwin/XNU, FreeBSD, Linux, NetBSD, OpenBSD, Windows.

Documentation

Initially, syzkaller was developed with Linux kernel fuzzing in mind, but now it's being extended to support other OS kernels as well. Most of the documentation at this moment is related to the Linux kernel. For other OS kernels check: Akaros, Darwin/XNU, FreeBSD, Fuchsia, NetBSD, OpenBSD, Windows, gVisor.

External Articles

Disclaimer

This is not an official Google product.