blob: e819352984e2bf96582c1100238aa92e384c9414 [file] [log] [blame]
#!/usr/bin/python
# Copyright (c) 2013 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.
"""The label of benchamrks."""
import os
from utils.file_utils import FileUtils
class Label(object):
def __init__(self, name, chromeos_image, chromeos_root, board, remote,
image_args, image_md5sum, cache_dir, chrome_src=None):
# Expand ~
chromeos_root = os.path.expanduser(chromeos_root)
chromeos_image = os.path.expanduser(chromeos_image)
self.name = name
self.chromeos_image = chromeos_image
self.board = board
self.remote = remote
self.image_args = image_args
self.image_md5sum = image_md5sum
self.cache_dir = cache_dir
if not chromeos_root:
chromeos_root = FileUtils().ChromeOSRootFromImage(chromeos_image)
if not chromeos_root:
raise Exception("No ChromeOS root given for label '%s' and could not "
"determine one from image path: '%s'." %
(name, chromeos_image))
else:
chromeos_root = FileUtils().CanonicalizeChromeOSRoot(chromeos_root)
if not chromeos_root:
raise Exception("Invalid ChromeOS root given for label '%s': '%s'."
% (name, chromeos_root))
self.chromeos_root = chromeos_root
if not chrome_src:
self.chrome_src = os.path.join(self.chromeos_root,
"chroot/var/cache/chromeos-chrome/chrome-src-internal/src")
else:
chromeos_root = FileUtils().CanonicalizeChromeOSRoot(chrome_src)
class MockLabel(object):
def __init__(self, name, chromeos_image, chromeos_root, board, remote,
image_args, image_md5sum, cache_dir):
self.name = name
self.chromeos_image = chromeos_image
self.board = board
self.remote = remote
self.cache_dir = cache_dir
if not chromeos_root:
self.chromeos_root = "/tmp/chromeos_root"
else:
self.chromeos_root = chromeos_root
self.image_args = image_args
self.image_md5sum = image_md5sum