----- "Mike Burns" <[email protected]> wrote:
> Eduardo Habkost wrote:
> > Hi,
> >
> > Excerpts from Michael Burns's message of Fri May 08 15:55:30 -0300
> 2009:
> >
> >> --- a/client/tests/kvm_runtest_2/kvm_install.py
> >> +++ b/client/tests/kvm_runtest_2/kvm_install.py
> >> @@ -77,6 +77,17 @@ def run_kvm_install(test, params, env):
> >> elif install_mode == "localsrc":
> >> __install_kvm(test, srcdir)
> >>
> >> + # install from custom script
> >> + elif install_mode == "custom":
> >> + install_script = params.get("install_script")
> >> + script =
> os.path.join(os.environ['AUTODIR'],install_script)
> >> + if not install_script:
> >> + message = "Custom script filename not specified"
> >> + kvm_log.error(message)
> >> + raise error.TestError, message
> >> + kvm_log.info("Running " + script + " to install kvm")
> >> + os.system(script)
> >>
> >
> > What if we had some way to pass the other parameters from 'params'
> to
> > the custom script?
> >
> > Maybe something like (untested):
> >
> > for k in params.keys():
> > os.putenv("KVM_INSTALL_%s" % (k), params[k])
> >
> > Are all values on 'params' guaranteed to be strings, or they can be
> set
> > to any python value? In the latter case, we could use
> str(params[k]), or
> > export only the string parameters.
> >
> That's a good idea. I'm not sure about whether the params are all
> strings. I'll try it out and respin the patch after.
1. Not all params are strings -- 'depend' is a list of strings, so
str(params[k]) is a good idea.
2. Why not just pass the parameters via the command line, e.g.
install_command = my_script.sh param1 param2
3. Why do you use os.environ['AUTODIR'] instead of test.bindir? As far as I
know, $AUTODIR is the 'client' dir, while test.bindir takes you directly to
kvm_runtest_2.
4. It may be useful to run the script in the kvm_runtest_2 dir, in case the
script wants to create symlinks or anything like that. So the last line could
be something like
os.system("cd %s; %s" % (test.bindir, install_script))
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html