client: move restart_job() helper into upstart library

It's helpful to have similar helpers all in one place.

BUG=chromium:616778
TEST=run the affected tests (e.g., power_VideoDetector)

Change-Id: Ife4dea334257a0166a741fc3ad03b1c911385d6c
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/349676
Reviewed-by: Dan Erat <derat@chromium.org>
diff --git a/client/common_lib/base_utils.py b/client/common_lib/base_utils.py
index d3a538f..ba8383d 100644
--- a/client/common_lib/base_utils.py
+++ b/client/common_lib/base_utils.py
@@ -1761,15 +1761,3 @@
         time.sleep(0.1)
 
     return value
-
-
-def restart_job(name):
-    """
-    Restarts an upstart job if it's running.
-    If it's not running, start it.
-    """
-
-    if system_output('status %s' % name).find('start/running') != -1:
-        system_output('restart %s' % name)
-    else:
-        system_output('start %s' % name)
diff --git a/client/cros/multimedia/multimedia_xmlrpc_server.py b/client/cros/multimedia/multimedia_xmlrpc_server.py
index 1e20253..71b6128 100755
--- a/client/cros/multimedia/multimedia_xmlrpc_server.py
+++ b/client/cros/multimedia/multimedia_xmlrpc_server.py
@@ -11,9 +11,9 @@
 import xmlrpclib
 import traceback
 import common   # pylint: disable=unused-import
-from autotest_lib.client.bin import utils
 from autotest_lib.client.common_lib import logging_config
 from autotest_lib.client.cros import constants
+from autotest_lib.client.cros import upstart
 from autotest_lib.client.cros import xmlrpc_server
 from autotest_lib.client.cros.multimedia import audio_facade_native
 from autotest_lib.client.cros.multimedia import browser_facade_native
@@ -98,7 +98,7 @@
 
 
         # Restart Cras to clean up any audio activities.
-        utils.restart_job('cras')
+        upstart.restart_job('cras')
 
         with facade_resource.FacadeResource(restart=args.restart) as res:
             server = xmlrpc_server.XmlRpcServer(
diff --git a/client/cros/power_utils.py b/client/cros/power_utils.py
index 8575e95..3f53c56 100644
--- a/client/cros/power_utils.py
+++ b/client/cros/power_utils.py
@@ -5,6 +5,7 @@
 from autotest_lib.client.bin import site_utils, utils
 from autotest_lib.client.common_lib import base_utils
 from autotest_lib.client.common_lib import error
+from autotest_lib.client.cros import upstart
 
 
 # Possible display power settings. Copied from chromeos::DisplayPowerState
@@ -495,7 +496,7 @@
         for name, value in prefs.iteritems():
             utils.write_one_line('%s/%s' % (self._TEMPDIR, name), value)
         utils.system('mount --bind %s %s' % (self._TEMPDIR, self._PREFDIR))
-        utils.restart_job('powerd')
+        upstart.restart_job('powerd')
 
 
     def finalize(self):
@@ -503,7 +504,7 @@
         if os.path.exists(self._TEMPDIR):
             utils.system('umount %s' % self._PREFDIR, ignore_status=True)
             shutil.rmtree(self._TEMPDIR)
-            utils.restart_job('powerd')
+            upstart.restart_job('powerd')
 
 
     def __del__(self):
diff --git a/client/cros/upstart.py b/client/cros/upstart.py
index 7da7c7a..c40f964 100644
--- a/client/cros/upstart.py
+++ b/client/cros/upstart.py
@@ -23,3 +23,17 @@
     @param service_name: name of the service.
     """
     return os.path.exists('/etc/init/' + service_name + '.conf')
+
+
+def restart_job(service_name):
+    """
+    Restarts an upstart job if it's running.
+    If it's not running, start it.
+
+    @param service_name: name of service
+    """
+
+    if utils.system_output('status %s' % service_name).find('start/running') != -1:
+        utils.system_output('restart %s' % service_name)
+    else:
+        utils.system_output('start %s' % service_name)
diff --git a/client/site_tests/power_VideoDetector/power_VideoDetector.py b/client/site_tests/power_VideoDetector/power_VideoDetector.py
index 2fa1a71..0d72a8f 100644
--- a/client/site_tests/power_VideoDetector/power_VideoDetector.py
+++ b/client/site_tests/power_VideoDetector/power_VideoDetector.py
@@ -8,7 +8,7 @@
 from autotest_lib.client.bin import test, utils
 from autotest_lib.client.common_lib import base_utils, error
 from autotest_lib.client.common_lib.cros import chrome
-from autotest_lib.client.cros import power_utils
+from autotest_lib.client.cros import power_utils, upstart
 
 class power_VideoDetector(test.test):
     """
@@ -78,4 +78,4 @@
         """
         Cleanup powerd after test.
         """
-        utils.restart_job('powerd')
+        upstart.restart_job('powerd')