Implemented hooks for external logging infrastructure for storing both server-side and client-side logs.
Signed-off-by: Svitlana Tumanova <stumanova@google.com>
git-svn-id: http://test.kernel.org/svn/autotest/trunk@1408 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/server/server_job.py b/server/server_job.py
index c37c96c..bc39916 100755
--- a/server/server_job.py
+++ b/server/server_job.py
@@ -106,7 +106,7 @@
return {}
-class server_job:
+class base_server_job:
"""The actual job against which we do everything.
Properties:
@@ -203,6 +203,24 @@
self.verify()
+ def enable_external_logging(self):
+ """Start or restart external logging mechanism.
+ """
+ pass
+
+
+ def disable_external_logging(self):
+ """ Pause or stop external logging mechanism.
+ """
+ pass
+
+
+ def use_external_logging(self):
+ """Return True if external logging should be used.
+ """
+ return False
+
+
def run(self, reboot = False, install_before = False,
install_after = False, collect_crashdumps = True,
namespace = {}):
@@ -217,7 +235,8 @@
test_start_time = int(time.time())
os.chdir(self.resultdir)
-
+
+ self.enable_external_logging()
status_log = os.path.join(self.resultdir, 'status.log')
try:
if install_before and machines:
@@ -237,6 +256,7 @@
namespace['test_start_time'] = test_start_time
exec(preamble + crashdumps,
namespace, namespace)
+ self.disable_external_logging()
if reboot and machines:
exec(preamble + reboot_segment,
namespace, namespace)
@@ -630,3 +650,14 @@
self._process_line(self.leftover)
self._process_logs()
self.flush()
+
+# site_server_job.py may be non-existant or empty, make sure that an
+# appropriate site_server_job class is created nevertheless
+try:
+ from site_server_job import site_server_job
+except ImportError:
+ class site_server_job(base_server_job):
+ pass
+
+class server_job(site_server_job):
+ pass