From 83e92abf5062ec127ee48d5100e0108e17008f3a Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 23 Nov 2015 14:31:59 +0100 Subject: tools/stress: support missing flags --- tools/stress/stress.go | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'tools') diff --git a/tools/stress/stress.go b/tools/stress/stress.go index db201e690..88fc2a3c8 100644 --- a/tools/stress/stress.go +++ b/tools/stress/stress.go @@ -25,6 +25,10 @@ var ( flagOutput = flag.Bool("output", false, "print executor output to console") flagDebug = flag.Bool("debug", false, "executor debug output") flagProcs = flag.Int("procs", runtime.NumCPU(), "number of parallel processes") + flagThreaded = flag.Bool("threaded", true, "use threaded mode in executor") + flagCollide = flag.Bool("collide", true, "collide syscalls to provoke data races") + flagNobody = flag.Bool("nobody", false, "impersonate into nobody") + flagTimeout = flag.Duration("timeout", 5*time.Second, "executor timeout") failedRe = regexp.MustCompile("runtime error: |panic: |Panic: ") ) @@ -32,14 +36,23 @@ var ( func main() { flag.Parse() corpus := readCorpus() - flags := ipc.FlagThreaded | ipc.FlagCollide | ipc.FlagDropPrivs + var flags uint64 + if *flagThreaded { + flags |= ipc.FlagThreaded + } + if *flagCollide { + flags |= ipc.FlagCollide + } + if *flagNobody { + flags |= ipc.FlagDropPrivs + } if *flagDebug { flags |= ipc.FlagDebug } for p := 0; p < *flagProcs; p++ { go func() { - env, err := ipc.MakeEnv(*flagExecutor, 4*time.Second, flags) + env, err := ipc.MakeEnv(*flagExecutor, 10*time.Second, flags) if err != nil { failf("failed to create execution environment: %v", err) } -- cgit mrf-deployment