Index: bin/au_test_harness/dev_server_wrapper.py |
diff --git a/bin/au_test_harness/dev_server_wrapper.py b/bin/au_test_harness/dev_server_wrapper.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..01b52d4d7d93f5500e4cc375370b112b1fe35a50 |
--- /dev/null |
+++ b/bin/au_test_harness/dev_server_wrapper.py |
@@ -0,0 +1,50 @@ |
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+"""Module containing methods and classes to interact with a devserver instance. |
+""" |
+ |
+import threading |
+ |
+import cros_build_lib as cros_lib |
+ |
+def GenerateUpdateId(target, src, key): |
+ """Returns a simple representation id of target and src paths.""" |
+ update_id = target |
+ if src: update_id = '->'.join([update_id, src]) |
+ if key: update_id = '+'.join([update_id, key]) |
+ return update_id |
+ |
+class DevServerWrapper(threading.Thread): |
+ """A Simple wrapper around a dev server instance.""" |
+ |
+ def __init__(self): |
+ self.proc = None |
+ threading.Thread.__init__(self) |
+ |
+ def run(self): |
+ # Kill previous running instance of devserver if it exists. |
+ cros_lib.RunCommand(['sudo', 'pkill', '-f', 'devserver.py'], error_ok=True, |
+ print_cmd=False) |
+ cros_lib.RunCommand(['sudo', |
+ 'start_devserver', |
+ '--archive_dir=./static', |
+ '--client_prefix=ChromeOSUpdateEngine', |
+ '--production', |
+ ], enter_chroot=True, print_cmd=False) |
+ |
+ def Stop(self): |
+ """Kills the devserver instance.""" |
+ cros_lib.RunCommand(['sudo', 'pkill', '-f', 'devserver.py'], error_ok=True, |
+ print_cmd=False) |
+ |
+ @classmethod |
dgarrett
2011/03/03 02:17:21
Again, not a problem, I'm just curious.
sosa
2011/03/03 03:11:41
Static method. Doesn't use any specific variables
|
+ def GetDevServerURL(cls, port, sub_dir): |
+ """Returns the dev server url for a given port and sub directory.""" |
+ ip_addr = cros_lib.GetIPAddress() |
+ if not port: port = 8080 |
+ url = 'http://%(ip)s:%(port)s/%(dir)s' % {'ip': ip_addr, |
+ 'port': str(port), |
+ 'dir': sub_dir} |
+ return url |