argsAlreadyParsedError: arguments already parsed: cannot register CLI option 21/25421/1
authorchenjiankun <chenjiankun1@huawei.com>
Fri, 2 Dec 2016 12:36:56 +0000 (12:36 +0000)
committerchenjiankun <chenjiankun1@huawei.com>
Fri, 2 Dec 2016 12:36:56 +0000 (12:36 +0000)
JIRA: YARDSTICK-216

Change-Id: I0368a3d1c1f5eaf9f4ef2dcb519815241f377d24
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
yardstick/cmd/cli.py

index cac3dc5..beaa187 100644 (file)
@@ -156,24 +156,26 @@ class YardstickCLI():
 
     def main(self, argv):    # pragma: no cover
         '''run the command line interface'''
-        self._register_cli_opt()
+        try:
+            self._register_cli_opt()
 
-        self._load_cli_config(argv)
+            self._load_cli_config(argv)
 
-        self._handle_global_opts()
+            self._handle_global_opts()
 
-        self._dispath_func_notask()
-
-        self._clear_config_opts()
+            self._dispath_func_notask()
+        finally:
+            self._clear_config_opts()
 
     def api(self, argv, task_id):    # pragma: no cover
         '''run the api interface'''
-        self._register_cli_opt()
-
-        self._load_cli_config(argv)
+        try:
+            self._register_cli_opt()
 
-        self._handle_global_opts()
+            self._load_cli_config(argv)
 
-        self._dispath_func_task(task_id)
+            self._handle_global_opts()
 
-        self._clear_config_opts()
+            self._dispath_func_task(task_id)
+        finally:
+            self._clear_config_opts()