[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [test-API PATCH 1/3] cleanup:make clean function optional



s/cleanup:make/cleanup: Make/

On 2012年04月16日 14:11, Guannan Ren wrote:
     The patch make the writing of clean function optional
     If a testcase makes testing environment dirty after running, it

If a case dirties the testing environment,

     must write a CASENAME_clean function to restore back the

Could the $CASENAME_ be omitted? IIRC, the scripts under repos
are imported by framework when executing. And thus we can invoke
the cleanup functions by $script_name.cleanup.


     testing environment, otherwise, the clean function could be omitted
---
  env_clear.py |    9 ++++-----
  proxy.py     |    7 ++++---
  2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/env_clear.py b/env_clear.py
index 3efc9be..2e5bcf5 100644
--- a/env_clear.py
+++ b/env_clear.py
@@ -30,7 +30,7 @@ class EnvClear(object):
          self.loglevel = loglevel

          mapper_obj = mapper.Mapper(activity)
-        clean_pkg_casename_func = mapper_obj.clean_package_casename_func_map()
+        clean_pkg_casename_func = mapper_obj.module_casename_cleanfunc_map()

          self.cases_ref_names = []
          for case in clean_pkg_casename_func:
@@ -47,7 +47,7 @@ class EnvClear(object):
          return retflag

      def env_clear(self):
-        """ Run each clearing function with the corresponding arguments """
+        """ Run each clean function with the corresponding arguments """

          envlog = log.EnvLog(self.logfile, self.loglevel)
          logger = envlog.env_log()
@@ -60,8 +60,7 @@ class EnvClear(object):
              case_params = self.cases_params_list[i]

              case_params['logger'] = logger
-            self.cases_clearfunc_ref_dict[case_ref_name](case_params)
-
-        del envlog
+            if self.cases_clearfunc_ref_dict.has_key(case_ref_name):

To be consistent, "clear" should be "clean".

+                self.cases_clearfunc_ref_dict[case_ref_name](case_params)

          return 0
diff --git a/proxy.py b/proxy.py
index 3c4cd63..fdbffd9 100644
--- a/proxy.py
+++ b/proxy.py
@@ -85,12 +85,13 @@ class Proxy(object):
              var_func_names = dir(casemod_ref)

              key = module + ':' + casename + ':' + func
+
+            # the clean function is optional, we get its reference
+            # only if it exists in testcases

s/testcases/test cases/, or "cases" is enough, we should have
a consistent term across the project, but not different from
here and there.

              if func in var_func_names:
                  func_ref = getattr(casemod_ref, func)
                  func_dict[key] = func_ref
-            else:
-                raise exception.TestCaseError("clean function not found in %s" % \
-                                              (func, testcase_name))
+
          return func_dict

      def get_params_variables(self):


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]