aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/fuzzer/queue/queue.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2024-05-31 17:12:09 +0200
committerDmitry Vyukov <dvyukov@google.com>2024-06-03 15:04:36 +0000
commit8ba049b23119999229bc89e501f61f54a409857d (patch)
tree3bff0188c7d8b360a2025a77b8a1242d0b9bc332 /pkg/fuzzer/queue/queue.go
parente52400b05d8c301ed94a5943799171e3c8e26403 (diff)
pkg/fuzzer: improve handling of signal for non-target calls
During deflake/minimization we have 1 target call that should be handled specially: during triage we want all signal, during minimization we want new+target signal. For the rest of the calls we can do normal handling: collect new signal and start triage if we see any new signal.
Diffstat (limited to 'pkg/fuzzer/queue/queue.go')
-rw-r--r--pkg/fuzzer/queue/queue.go7
1 files changed, 3 insertions, 4 deletions
diff --git a/pkg/fuzzer/queue/queue.go b/pkg/fuzzer/queue/queue.go
index cb70f5a9b..46df9d234 100644
--- a/pkg/fuzzer/queue/queue.go
+++ b/pkg/fuzzer/queue/queue.go
@@ -27,9 +27,8 @@ type Request struct {
SignalFilter signal.Signal
SignalFilterCall int
- // By default, only the newly seen signal is returned.
- // ReturnAllSignal tells the executor to return everything.
- ReturnAllSignal bool
+ // Return all signal for these calls instead of new signal.
+ ReturnAllSignal []int
ReturnError bool
ReturnOutput bool
@@ -103,7 +102,7 @@ func (r *Request) Risky() bool {
func (r *Request) Validate() error {
collectSignal := r.ExecOpts.ExecFlags&flatrpc.ExecFlagCollectSignal > 0
- if r.ReturnAllSignal && !collectSignal {
+ if len(r.ReturnAllSignal) != 0 && !collectSignal {
return fmt.Errorf("ReturnAllSignal is set, but FlagCollectSignal is not")
}
if r.SignalFilter != nil && !collectSignal {