diff options
author | SerenaFeng <feng.xiaowei@zte.com.cn> | 2016-08-22 18:23:25 +0800 |
---|---|---|
committer | SerenaFeng <feng.xiaowei@zte.com.cn> | 2016-08-23 15:41:44 +0800 |
commit | 2588e2af6c2b609ab08957268f8163954cd8eae1 (patch) | |
tree | f61049ad1429a9105bf30832d091f57db66c8122 | |
parent | 43a98904445a7151b586f996ae5d0e858fa24b98 (diff) |
refactor push_result_to_db print thing
when Exceptions happen, the print code is too difficult
to understand and maintain, modify to make it clear
jira: FUNCTEST-425
Change-Id: Ie12af989e711df3791167955642f2edf1164b146
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
-rw-r--r-- | utils/functest_utils.py | 49 |
1 files changed, 38 insertions, 11 deletions
diff --git a/utils/functest_utils.py b/utils/functest_utils.py index 807a671a..4d5004cb 100644 --- a/utils/functest_utils.py +++ b/utils/functest_utils.py @@ -214,24 +214,51 @@ def push_results_to_db(project, case_name, logger, "build_tag": build_tag, "start_date": test_start, "stop_date": test_stop, "details": details} + error = None headers = {'Content-Type': 'application/json'} try: r = requests.post(url, data=json.dumps(params), headers=headers) if logger: logger.debug(r) r.raise_for_status() + except requests.RequestException as exc: + if 'r' in locals(): + error = ("Pushing Result to DB(%s) failed: %s" % + (r.url, r.content)) + else: + error = ("Pushing Result to DB(%s) failed: %s" % (url, exc)) + except Exception as e: + error = ("Error [push_results_to_db(" + "DB: '%(db)s', " + "project: '%(project)s', " + "case: '%(case)s', " + "pod: '%(pod)s', " + "version: '%(v)s', " + "scenario: '%(s)s', " + "criteria: '%(c)s', " + "build_tag: '%(t)s', " + "details: '%(d)s')]: " + "%(error)s" % + { + 'db': url, + 'project': project, + 'case': case_name, + 'pod': pod_name, + 'v': version, + 's': scenario, + 'c': criteria, + 't': build_tag, + 'd': details, + 'error': e + }) + finally: + if error: + if logger: + logger.error(error) + else: + print error + return False return True - except requests.RequestException: - if logger: - logger.error("Pushing Result to DB(%s) failed: %s" % - (r.url, r.content)) - return False - except Exception, e: - print("Error [push_results_to_db('%s', '%s', '%s', '%s'," - "'%s', '%s', '%s', '%s', '%s')]:" % - (url, project, case_name, pod_name, version, - scenario, criteria, build_tag, details)), e - return False def get_resolvconf_ns(): |