Documentation
¶
Index ¶
- Constants
- func AddDirToManifest(manifest map[string]string, archiveBasePath string, dir string) error
- func ExtractArchiveForTestsOnly(in io.Reader, dir string) error
- func WriteArchive(out io.Writer, manifest map[string]string) error
- type CodeRevision
- type Fuzzer
- type GitRevision
- type Metadata
- type RunEnvironment
Constants ¶
const MetadataFileName = "cifuzz.yaml"
MetadataFileName is the name of the meta information yaml file within an artifact archive.
Variables ¶
This section is empty.
Functions ¶
func AddDirToManifest ¶
AddDirToManifest traverses the directory dir recursively and adds its contents to the manifest under the base path archiveBasePath.
func ExtractArchiveForTestsOnly ¶
ExtractArchiveForTestsOnly extracts the GZip-compressed TAR read by in into dir.
func WriteArchive ¶
WriteArchive writes a GZip-compressed TAR to out containing the files and directories given in manifest. The keys in manifest correspond to the path within the archive, the corresponding value is expected to be the absolute path of the file or directory on disk. Note: WriteArchive *does not* (recursively) traverse directories to add their contents to the archive. If this is
desired, use AddDirToManifest to explicitly add the contents to the manifest before calling WriteArchive.
Types ¶
type CodeRevision ¶
type CodeRevision struct {
Git *GitRevision `yaml:"git,omitempty"`
}
type Fuzzer ¶
type Fuzzer struct { Target string `yaml:"target"` Path string `yaml:"path"` Engine string `yaml:"engine"` Sanitizer string `yaml:"sanitizer,omitempty"` // The different YAML field name is *not* a typo: For historical reasons, the "build_dir" field is supposed to // include the root directory of the *source* rather than the build tree of the project. Rather than expose all // cifuzz devs to this inconsistency, we keep it in the serialization logic. ProjectDir string `yaml:"build_dir"` Seeds string `yaml:"seeds,omitempty"` LibraryPaths []string `yaml:"library_paths,omitempty"` }
Fuzzer specifies the type and locations of fuzzers contained in the archive.
type GitRevision ¶
type Metadata ¶
type Metadata struct { *RunEnvironment `yaml:"run_environment"` CodeRevision *CodeRevision `yaml:"code_revision,omitempty"` Fuzzers []*Fuzzer `yaml:"fuzzers"` }
Metadata defines meta information for artifacts contained within a fuzzing artifact archive.
type RunEnvironment ¶
type RunEnvironment struct { // The docker image and tag to be used: eg. debian:stable Docker string }
RunEnvironment specifies the environment in which the fuzzers are to be run.