Documentation ¶
Index ¶
Constants ¶
View Source
const ( FlagDebug = uint64(1) << iota // debug output from executor FlagCover // collect coverage FlagThreaded // use multiple threads to mitigate blocked syscalls FlagCollide // collide syscalls to provoke data races FlagDedupCover // deduplicate coverage in executor FlagDropPrivs // impersonate nobody user FlagStrace // run executor under strace )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Env ¶
type Env struct { In []byte Out []byte StatExecs uint64 StatRestarts uint64 // contains filtered or unexported fields }
func (*Env) Exec ¶
func (env *Env) Exec(p *prog.Prog) (output, strace []byte, cov [][]uint32, failed, hanged bool, err0 error)
Exec starts executor binary to execute program p and returns information about the execution: output: process output strace: strace output if env is created with FlagStrace cov: per-call coverage, len(cov) == len(p.Calls) failed: true if executor has detected a kernel bug hanged: program hanged and was killed err0: failed to start process, or executor has detected a logical error
Click to show internal directories.
Click to hide internal directories.