From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Meneghel Rodrigues Subject: Re: [PATCH] KVM test: Pass the test parameters through the command line Date: Fri, 14 Jan 2011 13:03:17 -0200 Message-ID: <1295017397.2647.1.camel@freedom> References: <1295005359-4840-1-git-send-email-lmr@redhat.com> <4D305A4B.5050203@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: autotest@test.kernel.org, kvm@vger.kernel.org, Jason Wang To: Michael Goldish Return-path: Received: from mx1.redhat.com ([209.132.183.28]:14393 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757520Ab1ANPDX (ORCPT ); Fri, 14 Jan 2011 10:03:23 -0500 In-Reply-To: <4D305A4B.5050203@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Fri, 2011-01-14 at 16:14 +0200, Michael Goldish wrote: > On 01/14/2011 01:42 PM, Lucas Meneghel Rodrigues wrote: > > From: Jason Wang > > > > The patch tries to make using kvm-autotest much more easier by > > enabling the ability of passing the test parameters from command line > > directly through --args="key1=value1 key2=value2 ... keyN=valueN". > > > > The idea is simple, autotest test pass the additional parameters > > through args, and the control file analyzes them and generate the > > configuration string for kvm_config. > > > > The keywords "only" and "no" were introduced to limit the variants, > > for each "only=variant1" the control file would generate a line > > "only variant1", same for "no". For others, "key = value" is > > generated. > > > > User still need to be familiar with the test parameters in order to > > get the intended test matrix. > > > > Change from V3: > > Use a slightly bigger subset of the config file language > > by allowing "no" to limit the amount of variants. > > > > Change from V2: > > Use the args exported by autotest. > > Analyze the cmd parameters in control and drop control.cli. > > Drop test_cli.cfg.sample so there's no default variants. > > Add "only" which is used to limit the varaints. > > > > Change from V1: > > Drop the wrapper method and use the control file directly. > > > > Signed-off-by: Jason Wang > > --- > > client/tests/kvm/control | 14 ++++++++++++++ > > 1 files changed, 14 insertions(+), 0 deletions(-) > > > > diff --git a/client/tests/kvm/control b/client/tests/kvm/control > > index 63bbe5d..79c0897 100644 > > --- a/client/tests/kvm/control > > +++ b/client/tests/kvm/control > > @@ -53,6 +53,20 @@ str = """ > > """ > > tests_cfg = kvm_config.config() > > tests_cfg_path = os.path.join(kvm_test_dir, "tests.cfg") > > + > > +if args: > > + # We get test parameters from command line > > + for arg in args: > > + try: > > + (key, value) = re.findall("(.*)=(.*)", arg)[0] > > + if key == "only": > > + str += "only %s\n" % value > > + if key == "no": > > + str += "no %s\n" % value > > + else: > > + str += "%s = %s\n" % (key, value) > > + except IndexError: > > + pass > > tests_cfg.fork_and_parse(tests_cfg_path, str) > > > > # Run the tests > > Is it possible to pass multiple names to an 'only' command, e.g. > only='boot reboot migrate'? What about values with spaces? (vms='vm1 > vm2 vm3') No, with this logic is not possible to pass multiple names or values with spaces, although I don't think the scope of this change is to allow the full power of the configuration file without using the config file. > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html