[V1] framework/test_case: fix tear down fail will lost suite results
Commit Message
*. this patch fix if got exception in tear down method of testsuite will lost result
scilently
Signed-off-by: Xiao Qimai <qimaix.xiao@intel.com>
---
framework/test_case.py | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
Comments
Tested-by: Xiao Qimai <qimaix.xiao@intel.com>
Regards,
Xiao Qimai
> -----Original Message-----
> From: Xiao, QimaiX <qimaix.xiao@intel.com>
> Sent: Monday, August 17, 2020 9:51 AM
> To: dts@dpdk.org
> Cc: Xiao, QimaiX <qimaix.xiao@intel.com>
> Subject: [dts][PATCH V1]framework/test_case: fix tear down fail will lost
> suite results
>
> *. this patch fix if got exception in tear down method of testsuite will lost
> result scilently
>
> Signed-off-by: Xiao Qimai <qimaix.xiao@intel.com>
> ---
> framework/test_case.py | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/framework/test_case.py b/framework/test_case.py index
> 110dafb..300b6ac 100644
> --- a/framework/test_case.py
> +++ b/framework/test_case.py
> @@ -350,7 +350,7 @@ class TestCase(object):
> 'update_expected' in self.get_suite_cfg() and \
> self.get_suite_cfg()['update_expected'] == True:
> self._suite_conf.update_case_config(SUITE_SECTION_NAME)
> - self.tear_down()
> + self.execute_tear_down()
> return case_result
>
> def execute_test_cases(self):
> @@ -440,6 +440,16 @@ class TestCase(object):
> # destroy all vfs
> dutobj.destroy_all_sriov_vfs()
>
> + def execute_tear_down(self):
> + """
> + execute suite tear_down function
> + """
> + try:
> + self.tear_down()
> + except Exception:
> + self.logger.error('tear_down failed:\n' + traceback.format_exc())
> + self.logger.warning("tear down %s failed, might iterfere
> + next case's result!" % self.running_case)
> +
> def enable_history(self, history):
> """
> Enable history for all CRB's default session
> --
> 2.25.1
> *. this patch fix if got exception in tear down method of testsuite will lost result
> scilently
>
> Signed-off-by: Xiao Qimai <qimaix.xiao@intel.com>
> ---
> framework/test_case.py | 12 +++++++++++-
Applied
@@ -350,7 +350,7 @@ class TestCase(object):
'update_expected' in self.get_suite_cfg() and \
self.get_suite_cfg()['update_expected'] == True:
self._suite_conf.update_case_config(SUITE_SECTION_NAME)
- self.tear_down()
+ self.execute_tear_down()
return case_result
def execute_test_cases(self):
@@ -440,6 +440,16 @@ class TestCase(object):
# destroy all vfs
dutobj.destroy_all_sriov_vfs()
+ def execute_tear_down(self):
+ """
+ execute suite tear_down function
+ """
+ try:
+ self.tear_down()
+ except Exception:
+ self.logger.error('tear_down failed:\n' + traceback.format_exc())
+ self.logger.warning("tear down %s failed, might iterfere next case's result!" % self.running_case)
+
def enable_history(self, history):
"""
Enable history for all CRB's default session