[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/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]