diff --git a/infra/helper.py b/infra/helper.py index 74f481ed2..3c3499e15 100755 --- a/infra/helper.py +++ b/infra/helper.py @@ -95,8 +95,9 @@ def main(): check_build_parser = subparsers.add_parser( 'check_build', help='Checks that fuzzers execute without errors.') - _add_engine_args(check_build_parser) - _add_sanitizer_args(check_build_parser) + _add_engine_args(check_build_parser, choices=['libfuzzer', 'afl']) + _add_sanitizer_args(check_build_parser, + choices=['address', 'memory', 'undefined']) _add_environment_args(check_build_parser) check_build_parser.add_argument('project_name', help='name of the project') check_build_parser.add_argument('fuzzer_name', help='name of the fuzzer', @@ -248,17 +249,18 @@ def _get_work_dir(project_name=''): return os.path.join(BUILD_DIR, 'work', project_name) -def _add_engine_args(parser): +def _add_engine_args(parser, choices=None): """Add common engine args.""" - parser.add_argument('--engine', default='libfuzzer', - choices=['libfuzzer', 'afl', 'honggfuzz', 'dataflow', 'none']) + if choices is None: + choices = ['libfuzzer', 'afl', 'honggfuzz', 'dataflow', 'none'] + parser.add_argument('--engine', default='libfuzzer', choices=choices) -def _add_sanitizer_args(parser): +def _add_sanitizer_args(parser, choices=None): """Add common sanitizer args.""" - parser.add_argument( - '--sanitizer', default='address', - choices=['address', 'memory', 'undefined', 'coverage', 'dataflow']) + if choices is None: + choices = ['address', 'memory', 'undefined', 'coverage', 'dataflow'] + parser.add_argument('--sanitizer', default='address', choices=choices) def _add_environment_args(parser):