I think it's better to do the parameter validation in buildbot.scripts.runner.StopOptions class. Add a new method StopOptions.postOptions() and move this code there. Raise usage.UsageError exception on non-integer parameter. Maybe we should also check for negative timeouts.