[autotest] Disable post-test and iteration sysinfo in provisioning
Sysinfo is taking 2 mins in provisioning. Post-provisioning
sysinfo is not that interesting. And in case a provisioning job
fails, the following repair will still collect logs.
Also disable per-iteration sysinfo which doesn't make sense
for provisioning since it only run once.
BUG=chromium:426141
TEST=Run a provisioning job and observe only pre-test sysinfo
is collected.
Change-Id: I57c95abb410a3be31b34e093f6a67e668ea4249c
Reviewed-on: https://chromium-review.googlesource.com/243361
Reviewed-by: Fang Deng <[email protected]>
Tested-by: Fang Deng <[email protected]>
Commit-Queue: Fang Deng <[email protected]>
diff --git a/server/site_tests/provision_AutoUpdate/control b/server/site_tests/provision_AutoUpdate/control
index 04895a6..f6ab4cf 100644
--- a/server/site_tests/provision_AutoUpdate/control
+++ b/server/site_tests/provision_AutoUpdate/control
@@ -38,8 +38,13 @@
job.sysinfo.add_logdir(constants.AUTOUPDATE_PRESERVE_LOG)
host = hosts.create_host(machine, initialize=False)
+ # Only collect pre-test sysinfo to save time.
job.run_test('provision_AutoUpdate', host=host, value=value,
- disable_sysinfo=False)
+ disable_sysinfo=False,
+ disable_before_test_sysinfo=False,
+ disable_before_iteration_sysinfo=True,
+ disable_after_test_sysinfo=True,
+ disable_after_iteration_sysinfo=True)
job.parallel_simple(run, machines)
diff --git a/server/test.py b/server/test.py
index c184d65..f9cbdf4 100644
--- a/server/test.py
+++ b/server/test.py
@@ -228,11 +228,33 @@
def runtest(job, url, tag, args, dargs):
+ """Server-side runtest.
+
+ @param job: A server_job instance.
+ @param url: URL to the test.
+ @param tag: Test tag that will be appended to the test name.
+ See client/common_lib/test.py:runtest
+ @param args: args to pass to the test.
+ @param dargs: key-val based args to pass to the test.
+ """
+
+ disable_before_test_hook = dargs.pop('disable_before_test_sysinfo', False)
+ disable_after_test_hook = dargs.pop('disable_after_test_sysinfo', False)
+ disable_before_iteration_hook = dargs.pop(
+ 'disable_before_iteration_sysinfo', False)
+ disable_after_iteration_hook = dargs.pop(
+ 'disable_after_iteration_sysinfo', False)
+
if not dargs.pop('disable_sysinfo', False):
logger = _sysinfo_logger(job)
- logging_args = [logger.before_hook, logger.after_hook,
- logger.before_iteration_hook,
- logger.after_iteration_hook]
+ logging_args = [
+ logger.before_hook if not disable_before_test_hook else None,
+ logger.after_hook if not disable_after_test_hook else None,
+ (logger.before_iteration_hook
+ if not disable_before_iteration_hook else None),
+ (logger.after_iteration_hook
+ if not disable_after_iteration_hook else None),
+ ]
else:
logger = None
logging_args = [None, None, None, None]