aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
Commit message (Collapse)AuthorAgeFilesLines
* pkg/kernel: skip test if gcc is not in PATHDmitry Vyukov2017-06-141-1/+6
| | | | | gcc is not necessary available everywhere. Skip the test instead of failing it.
* syz-dash: move patch parsing to pkg/kernelDmitry Vyukov2017-06-142-0/+375
| | | | | Patch parsing is not dashboard-specific and can be reused by other programs.
* pkg/git: don't use --no-tags with cloneDmitry Vyukov2017-06-031-1/+0
| | | | It's not supported in older versions of git.
* pkg/gcs: remove support for gs:// prefixed pathsDmitry Vyukov2017-06-031-3/+0
| | | | | | | The problem with gs:// is that after any filepath.Join it's transformed to gs:/ which is not recognized. It's safer to not allow specifying them at all, rather than constantly breaking them.
* pkg/config: support null valuesDmitry Vyukov2017-06-032-1/+6
|
* vm/gce: accept local imageDmitry Vyukov2017-06-031-0/+4
| | | | | | | | | | Currently gce accepts precreated GCE image name as image config param, while all other VM types accept local file path as image. This makes it impossible to write generic code that works with all VM types, i.e. after building a new image it's unclear if it needs to be uploaded to GCE or not, and what needs to be passed as image in config. Eliminate this difference by making gce accept local image file as well.
* vm: overhaulDmitry Vyukov2017-06-033-7/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VM infrastructure currently has several problems: - Config struct is complete mess with a superset of params for all VM types - verification of Config is mess spread across several places - there is no place where VM code could do global initialization like creating GCE connection, uploading GCE image to GCS, matching adb devices with consoles, etc - it hard to add private VM implementations such impl would need to add code to config package which would lead to constant merge conflicts - interface for VM implementation is mixed with interface for VM users this does not allow to provide best interface for both of them - there is no way to add common code for all VM implementations This change solves these problems by: - splitting VM interface for users (vm package) and VM interface for VM implementations (vmimpl pacakge), this in turn allows to add common code - adding Pool concept that allows to do global initialization and config checking at the right time - decoupling manager config from VM-specific config each VM type now defines own config Note: manager configs need to be changed after this change: VM-specific parts are moved to own "vm" subobject. Note: this change also drops "local" VM type. Its story was long unclear and there is now syz-stress which solves the same problem.
* pkg/config: support nested structsDmitry Vyukov2017-06-032-9/+174
|
* pkg/ifuzz: move from ifuzzDmitry Vyukov2017-06-039-0/+75042
|
* pkg/gce: move from gceDmitry Vyukov2017-06-031-0/+291
|
* pkg/db: move from dbDmitry Vyukov2017-06-032-0/+399
|
* pkg/log: move from logDmitry Vyukov2017-06-032-0/+130
|
* pkg/hash: move from hashDmitry Vyukov2017-06-031-0/+40
|
* pkg/kernel: add CompilerIdentity functionDmitry Vyukov2017-06-032-0/+37
|
* pkg/gcs: add new packageDmitry Vyukov2017-06-031-0/+107
| | | | | Move GCS-related functionality from syz-gce to a separate package.
* pkg/fileutil: move from fileutilDmitry Vyukov2017-06-032-0/+175
|
* pkg/kernel: add new packageDmitry Vyukov2017-06-034-31/+203
| | | | | Move functionality to build kernel/image from syz-gce to a separate package.
* pkg/git: add new packageDmitry Vyukov2017-06-011-0/+86
| | | | | Move few helper git-related functions from syz-gce to a separate pkg/git package.
* config: split and refactorDmitry Vyukov2017-06-012-0/+126
Introduce generic config.Load function that can be reused across multiple programs (syz-manager, syz-gce, etc). Move the generic config functionality to pkg/config package. The idea is to move all helper (non-main) packages to pkg/ dir, because we have more and more of them and they pollute the top dir. Move the syz-manager config parts into syz-manager/config package.