[V1] framework/test_case: fix tear down fail will lost suite results

Message ID 20200817015129.69113-1-qimaix.xiao@intel.com (mailing list archive)
State Accepted
Headers
Series [V1] framework/test_case: fix tear down fail will lost suite results |

Commit Message

Xiao, QimaiX Aug. 17, 2020, 1:51 a.m. UTC
  *. 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

Xiao, QimaiX Aug. 17, 2020, 3:05 a.m. UTC | #1
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
  
Tu, Lijuan Aug. 21, 2020, 3:14 a.m. UTC | #2
> *. 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
  

Patch

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