mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-22 14:11:07 +02:00
Cleaned up _InsertKeyIntoImage to be more general (able to remove key if no key set). Also made it much more intelligent ... only doing things when it needs to. Moved mount / unmount code to cros_lib. BUG=chromium-os:12684 TEST=Ran it a lot ... inspected images after and saw tests pass. Review URL: http://codereview.chromium.org/6698017 Change-Id: Icd96d1178eeabf45a2d5916fbcab8bf7ffba7e21
55 lines
2.0 KiB
Python
55 lines
2.0 KiB
Python
# 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 os
|
|
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([src, update_id])
|
|
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, test_root):
|
|
self.proc = None
|
|
self.test_root = test_root
|
|
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,
|
|
log_to_file=os.path.join(self.test_root,
|
|
'dev_server.log'))
|
|
|
|
def Stop(self):
|
|
"""Kills the devserver instance."""
|
|
cros_lib.RunCommand(['sudo', 'pkill', '-f', 'devserver.py'], error_ok=True,
|
|
print_cmd=False)
|
|
|
|
@classmethod
|
|
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
|