diff --git a/fuzzers/int_loop_check.py b/fuzzers/int_loop_check.py index 25d66f95..33533b69 100644 --- a/fuzzers/int_loop_check.py +++ b/fuzzers/int_loop_check.py @@ -52,6 +52,7 @@ def run( min_iters=None, stable_iters=None, timeout_iters=None, + max_iters=None, zero_entries=None, verbose=False): timeout_fn = "%s/timeout" % todo_dir @@ -82,6 +83,12 @@ def run( print("Incomplete: not enough iters") sys.exit(1) + if max_iters is not None and max_iter >= max_iters: + print( + "Complete: reached max iters (want %u, got %u)" % + (max_iters, max_iter)) + sys.exit(0) + if timeout_iters is not None and max_iter > timeout_iters: print("ERROR: timeout (max %u, got %u)" % (timeout_iters, max_iter)) with open(timeout_fn, "w") as _f: @@ -124,6 +131,10 @@ def main(): '--timeout-iters', default=None, help='Max number of entries before creating todo/timeout') + parser.add_argument( + '--max-iters', + default=None, + help='Max number of entries before declaring success') parser.add_argument( '--zero-entries', action="store_true", @@ -138,6 +149,7 @@ def main(): zint(args.min_iters), zint(args.stable_iters), zint(args.timeout_iters), + zint(args.max_iters), args.zero_entries, verbose=args.verbose)