Will this code actually work on a standalone client job? I'm not sure we've ever used global_config stuff outside of the server (despite the fact that the code lives in the common_lib). -- John On Thu, Nov 5, 2009 at 12:23 PM, Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx> wrote: > Right now autotest will drop caches between: > * Test executions > * Same test iterations > > This change turns those into configurable options on > global_config.ini. Default configuration: > > [CLIENT] > drop_caches: True > drop_caches_between_iterations: True > > Signed-off-by: Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx> > --- > client/bin/autotest | 7 ++++++- > client/bin/job.py | 11 ++++++++--- > global_config.ini | 7 ++++++- > 3 files changed, 20 insertions(+), 5 deletions(-) > > diff --git a/client/bin/autotest b/client/bin/autotest > index fe8f2c7..2d47843 100755 > --- a/client/bin/autotest > +++ b/client/bin/autotest > @@ -6,6 +6,7 @@ import os, sys, shutil > import common > from optparse import OptionParser > from autotest_lib.client.bin import job > +from autotest_lib.client.common_lib import global_config > > > # Use the name of the binary to find the real installation directory > @@ -58,5 +59,9 @@ options, args = parser.parse_args() > if len(args) != 1: > usage() > > +drop_caches = global_config.global_config.get_config_value('CLIENT', > + 'drop_caches', > + type=bool) > + > # JOB: run the specified job control file. > -job.runjob(os.path.realpath(args[0]), options) > +job.runjob(os.path.realpath(args[0]), drop_caches, options) > diff --git a/client/bin/job.py b/client/bin/job.py > index ebfb3a3..6099188 100755 > --- a/client/bin/job.py > +++ b/client/bin/job.py > @@ -15,6 +15,8 @@ from autotest_lib.client.bin import config, sysinfo, test, local_host > from autotest_lib.client.bin import partition as partition_lib > from autotest_lib.client.common_lib import error, barrier, log, logging_manager > from autotest_lib.client.common_lib import base_packages, packages > +from autotest_lib.client.common_lib import global_config > + > > LAST_BOOT_TAG = object() > NO_DEFAULT = object() > @@ -251,7 +253,10 @@ class base_job(object): > """ > Perform the drop caches initialization. > """ > - self.drop_caches_between_iterations = True > + self.drop_caches_between_iterations = ( > + global_config.global_config.get_config_value('CLIENT', > + 'drop_caches_between_iterations', > + type=bool)) > self.drop_caches = drop_caches > if self.drop_caches: > logging.debug("Dropping caches") > @@ -1339,7 +1344,7 @@ class disk_usage_monitor: > return decorator > > > -def runjob(control, options): > +def runjob(control, drop_caches, options): > """ > Run a job using the given control file. > > @@ -1367,7 +1372,7 @@ def runjob(control, options): > if options.cont and not os.path.exists(state): > raise error.JobComplete("all done") > > - myjob = job(control, options) > + myjob = job(control=control, drop_caches=drop_caches, options=options) > > # Load in the users control file, may do any one of: > # 1) execute in toto > diff --git a/global_config.ini b/global_config.ini > index cc20a96..d018374 100644 > --- a/global_config.ini > +++ b/global_config.ini > @@ -28,7 +28,6 @@ parse_failed_repair_default: 0 > # Autotest potential install paths > client_autodir_paths: /usr/local/autotest,/home/autotest > > - > [SERVER] > hostname: autotest > # Turn on RPC Logging > @@ -48,6 +47,12 @@ smtp_port: > smtp_user: > smtp_password: > > +[CLIENT] > +# Drop test client caches between every test execution > +drop_caches: True > +# Drop test client caches between every test iteration execution > +drop_caches_between_iterations: True > + > [SCHEDULER] > die_on_orphans: False > enable_scheduler: True > -- > 1.6.2.5 > > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html