Hi Lucas, The patch is attached by previous mail thread, this mail is a reply to fix a typo in previous mail, so hasn't add attachment again, please check previous mail, thanks!
-- Regards, Alex ----- Original Message ----- From: "Lucas Meneghel Rodrigues" <[email protected]> To: "Alex Jia" <[email protected]> Cc: "Feng Yang" <[email protected]>, [email protected] Sent: Saturday, August 18, 2012 3:41:51 AM Subject: Re: [Autotest] [PATCH V2] virt: Support multi type in kvm test On Thu, 2012-08-16 at 04:25 -0400, Alex Jia wrote: > ----- Original Message ----- > From: "Alex Jia" <[email protected]> > To: "Feng Yang" <[email protected]> > Cc: [email protected] > Sent: Thursday, August 16, 2012 4:16:10 PM > Subject: Re: [Autotest] [PATCH V2] virt: Support multi type in kvm test > > On 08/10/2012 11:17 AM, Feng Yang wrote: > > This patch is useful if we want use existing script to combinate new test > > case. > > We have migrate test script and s4 test script. After this patch it is > > easy for us to get s4 after migration or migration after s4 by updating > > configure. > > > > Changes from v1: > > Fix bug introduced in code merge. Test patch in local. > > > > Signed-off-by: Feng Yang<[email protected]> > > --- > > client/virt/virt_test.py | 48 > > ++++++++++++++++++++++++--------------------- > > 1 files changed, 26 insertions(+), 22 deletions(-) > > > > diff --git a/client/virt/virt_test.py b/client/virt/virt_test.py > > index d9e052e..7ccdcb1 100644 > > --- a/client/virt/virt_test.py > > +++ b/client/virt/virt_test.py > > @@ -53,10 +53,6 @@ class virt_test(test.test): > > try: > > try: > > try: > > - # Get the test routine corresponding to the specified > > - # test type > > - t_type = params.get("type") > > - > > subtest_dirs = [] > > tests_dir = self.job.testdir > > > > @@ -72,31 +68,39 @@ class virt_test(test.test): > > subtest_dirs.append(os.path.join(virt_dir, "tests")) > > subtest_dirs.append(os.path.join(self.bindir, > > "tests")) > > subtest_dir = None > > - for d in subtest_dirs: > > - module_path = os.path.join(d, "%s.py" % t_type) > > - if os.path.isfile(module_path): > > - subtest_dir = d > > - break > > - if subtest_dir is None: > > - raise error.TestError("Could not find test file > > %s.py " > > - "on tests dirs %s" % > > - (t_type, subtest_dirs)) > > - # Load the test module > > - f, p, d = imp.find_module(t_type, [subtest_dir]) > > - test_module = imp.load_module(t_type, f, p, d) > > - f.close() > > > > + # Get the test routine corresponding to the specified > > + # test type > > + t_types = params.get("type").split() > > + test_modules = {} > > Note that is the python dictionary is unordered. Very true, I've missed that on my review. > > + for t_type in t_types: > > + for d in subtest_dirs: > > + module_path = os.path.join(d, "%s.py" % t_type) > > + if os.path.isfile(module_path): > > + subtest_dir = d > > + break > > + if subtest_dir is None: > > + msg = "Could not find test file %s.py on > > tests"\ > > + "dirs %s" % (t_type, subtest_dirs) > > + raise error.TestError(msg) > > + # Load the test module > > + f, p, d = imp.find_module(t_type, [subtest_dir]) > > + test_modules[t_type] = imp.load_module(t_type, f, > > p, d) > > For example, the 'test_modules' may be {'a': 1, 'c': 3, 'b': 2, ...} or > {'c': 3, 'a': 1, 'b': 2, ...} or ... > > > + f.close() > > # Preprocess > > try: > > virt_env_process.preprocess(self, params, env) > > finally: > > env.save() > > # Run the test function > > - run_func = getattr(test_module, "run_%s" % t_type) > > - try: > > - run_func(self, params, env) > > - finally: > > - env.save() > > + for t_type, test_module in test_modules.items(): > > And then the 'type' has been sequentially executed by codes, for > > > s/has/hasn't/. > > > example, type = "s4 migration" then the result > is 'migration' case is run firstly, it's not our expected, so we should > use a list with 2-tupes instead of dictionary to > complete similar function, please check patch in the attachment. Where's the attachment? _______________________________________________ Autotest-kernel mailing list [email protected] https://www.redhat.com/mailman/listinfo/autotest-kernel
