Open Bug 1142064 Opened 5 years ago Updated 2 years ago

BaseMarionetteArguments.verify_usage() should call all registered verify_usage_handlers first

Categories

(Testing :: Marionette, defect, P3)

defect

Tracking

(Not tracked)

People

(Reporter: whimboo, Unassigned)

References

()

Details

(Keywords: pi-marionette-runner)

Right now BaseMarionetteOptions.verify_usage() is checking all options itself first, and then calls the registered handlers. This is bad from an extensible standpoint, because behavior cannot be changed.

As example... for our Firefox UI tests we add a new option called --installer. This is mutually exclusive with --binary. But only specifying --installer would cause a parser error and early exit because BaseMarionetteOptions expects a binary to be specified.

If handlers would be called first, we could set options.binary to some reasonable value, and the BaseMarionetteOptions verification code would pass.
This problem still persists with the move from optparse to argparse. Updating summary.
Summary: BaseMarionetteOptions.verify_usage() should call all registered verify_usage_handlers first → BaseMarionetteArguments.verify_usage() should call all registered verify_usage_handlers first
[mass update] Setting Harness bugs to all P3
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.