diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-07-26 19:38:24 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-07-27 10:22:23 +0200 |
| commit | b25fc7b83119e8dca728a199fd92e24dd4c33fa4 (patch) | |
| tree | 15e95c4062be3f23ab8f66c05e33465d40c1d870 /tools/syz-prog2c/prog2c.go | |
| parent | 9d92841b4e4d0ac0f97f983cd90087323f27c26c (diff) | |
pkg/csource: add option to trace syscall results
This will be needed for testing of generated programs.
Diffstat (limited to 'tools/syz-prog2c/prog2c.go')
| -rw-r--r-- | tools/syz-prog2c/prog2c.go | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/tools/syz-prog2c/prog2c.go b/tools/syz-prog2c/prog2c.go index 9d89e8241..6abbd68b4 100644 --- a/tools/syz-prog2c/prog2c.go +++ b/tools/syz-prog2c/prog2c.go @@ -21,7 +21,7 @@ var ( flagBuild = flag.Bool("build", false, "also build the generated program") flagThreaded = flag.Bool("threaded", false, "create threaded program") flagCollide = flag.Bool("collide", false, "create collide program") - flagRepeat = flag.Bool("repeat", false, "repeat program infinitely or not") + flagRepeat = flag.Int("repeat", 1, "repeat program that many times (<=0 - infinitely)") flagProcs = flag.Int("procs", 1, "number of parallel processes") flagSandbox = flag.String("sandbox", "", "sandbox to use (none, setuid, namespace)") flagProg = flag.String("prog", "", "file with program to convert (required)") @@ -33,6 +33,7 @@ var ( flagNetdev = flag.Bool("netdev", false, "setup various net devices") flagResetNet = flag.Bool("resetnet", false, "reset net namespace after each test") flagHandleSegv = flag.Bool("segv", false, "catch and ignore SIGSEGV") + flagTrace = flag.Bool("trace", false, "trace syscall results") ) func main() { @@ -59,7 +60,8 @@ func main() { opts := csource.Options{ Threaded: *flagThreaded, Collide: *flagCollide, - Repeat: *flagRepeat, + Repeat: *flagRepeat != 1, + RepeatTimes: *flagRepeat, Procs: *flagProcs, Sandbox: *flagSandbox, Fault: *flagFaultCall >= 0, @@ -72,6 +74,7 @@ func main() { ResetNet: *flagResetNet, HandleSegv: *flagHandleSegv, Repro: false, + Trace: *flagTrace, } src, err := csource.Write(p, opts) if err != nil { |
