Add required=True to the monitor subcommand arguments for class, spec, and monitor_type in rvgen. These arguments are essential for monitor generation and attempting to run without them would cause AttributeError exceptions later in the code when the script tries to access them.
Making these arguments explicitly required provides clearer error messages to users at parse time rather than cryptic exceptions during execution. This improves the user experience by catching missing arguments early with helpful usage information. Signed-off-by: Wander Lairson Costa <[email protected]> Reviewed-by: Gabriele Monaco <[email protected]> Reviewed-by: Nam Cao <[email protected]> --- tools/verification/rvgen/__main__.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/verification/rvgen/__main__.py b/tools/verification/rvgen/__main__.py index 2e5b868535470..5c923dc10d0f0 100644 --- a/tools/verification/rvgen/__main__.py +++ b/tools/verification/rvgen/__main__.py @@ -31,10 +31,11 @@ if __name__ == '__main__': monitor_parser.add_argument('-n', "--model_name", dest="model_name") monitor_parser.add_argument("-p", "--parent", dest="parent", required=False, help="Create a monitor nested to parent") - monitor_parser.add_argument('-c', "--class", dest="monitor_class", + monitor_parser.add_argument('-c', "--class", dest="monitor_class", required=True, help="Monitor class, either \"da\", \"ha\" or \"ltl\"") - monitor_parser.add_argument('-s', "--spec", dest="spec", help="Monitor specification file") - monitor_parser.add_argument('-t', "--monitor_type", dest="monitor_type", + monitor_parser.add_argument('-s', "--spec", dest="spec", required=True, + help="Monitor specification file") + monitor_parser.add_argument('-t', "--monitor_type", dest="monitor_type", required=True, help=f"Available options: {', '.join(Monitor.monitor_types.keys())}") container_parser = subparsers.add_parser("container", parents=[parent_parser]) -- 2.53.0
