| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Currently we always pass cover=false during instance testing
and as the result covereage is not tested. This can result in
broken images. Pass the actual value of coverage for testing.
|
| |
|
|
|
|
|
|
|
| |
Currently we only support canExit flag.
However there are actually 3 separate conditions:
- program can exit normally
- program can timeout (e.g. fuzzer test or runtest can't)
- program can exit with error (e.g. C test can)
Allow to specify these 3 conditions separately.
|
| |
|
|
| |
The current code is linux specific, generalize it to other OSes.
|
| |
|
|
| |
Update #712
|
| |
|
|
|
|
|
| |
If pkg/build produces a kernel, inject it into vmm config too.
This will allow continuous build with vmm VM type.
Update #712
|
| |
|
|
|
|
|
|
| |
We currently have this list in multiple places (somewhat diverged).
Specify this "overcommit" property in VM implementations.
In particular, we also want to allow overcommit for "vmm" type.
Update #712
|
| | |
|
| |
|
|
|
| |
New FuzzerCmd generates flags that can't be parsed by an old fuzzer.
Fix that and add a test.
|
| |
|
|
|
|
|
|
|
|
|
| |
The tool is run as:
$ syz-runtest -config manager.config
This runs all programs from sys/*/test/* in different modes
on actual VMs and checks results.
Fixes #603
|
| |
|
|
|
|
|
|
| |
mgrconfig was used only by syz-manager initially,
but now it's used by a dozen of packages and it's
weird to import from under a binary dir.
pkg/ is much more reasonable dir for a widely used
helper package.
|
| |
|
|
|
|
| |
Only akaros needs OS, because the rest assume host OS.
But speciying OS for all OSes breaks patch testing on syzbot
because old execprog does not have os flag.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Wrap current git interface in abstract interface.
Provide constructor that create repo interface for the given os/vm.
|
| |
|
|
| |
Rename pkg/git to pkg/vcs because we need to support not only git.
|
| |
|
|
| |
This breaks patch testing on syz-ci as it can use older version of syz-fuzzer.
|
| |
|
|
|
|
| |
Testing code wasn't ready to dial stdin.
Make it use the same logic rpc package uses
to connecto to host.
|
| | |
|
| |
|
|
|
|
| |
Unify kernel and image build, that distinction is really uninteresting.
Define interface that each OS needs to implement.
Add gvisor stub.
|
| |
|
|
| |
Rename pkg/kernel to pkg/build and prepare for multi-OS support.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Currently all (linux-specific) suppressions are hardcoded in mgrconfig.
This is very wrong. Move them to pkg/report and allow to specify per OS.
Add gvisor-specific suppressions.
This required a bit of refactoring. Introduce mgrconfig.KernelObj finally.
Make report.NewReporter and vm.Create accept mgrconfig directly
instead of passing it as multiple scattered args.
Remove tools/syz-parse and it always did the same as tools/syz-symbolize.
Simplify global vars in syz-manager/cover.go.
Create reporter eagerly in manager. Use sort.Slice more.
Overall -90 lines removed.
|
| |
|
|
|
| |
For the case when VM type affects output.
Will be needed for gvisor. It is kinda linux, but kinda not.
|
| |
|
|
|
| |
It may need it later to try to obtain additional
diagnostic from hanged instances.
|
| |
|
|
|
|
|
| |
Strictly saying, we may not get the connection when
the fuzzer process exits. The accepting goroutine
may have not been scheduled yet.
For the connection for up to 10 seconds.
|
| |
|
|
|
|
| |
In most cases we have source in memory,
so provide a function to build right from memory
without creating temp files.
|
| |
|
|
|
|
|
|
|
|
|
| |
Currently kernel build failures are insanely verbose
(contain full kernel build output) and there is no
way to separate short descriptions from full output.
Make it possible.
Also try to extract failure root cause froom build log.
Use this in pkg/bisect to not pollute log on build failures.
Update #501
|
| |
|
|
|
| |
Pass target OS/arch and VM type to kernel.CreateImage.
Use nbd for gce and loop for qemu VM type.
|
| |
|
|
|
|
| |
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.
|
|
|
Move helper image/patch testing code from syz-ci/testing.go
to a separate package so that it can be reused during bisection.
Update #501
|