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

Osier Yang jyang at redhat.com
Mon Apr 16 06:34:09 UTC 2012


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):




More information about the libvir-list mailing list