diff options
author | Luis Lozano <llozano@chromium.org> | 2013-03-15 14:44:13 -0700 |
---|---|---|
committer | ChromeBot <chrome-bot@google.com> | 2013-03-15 15:51:37 -0700 |
commit | f81680c018729fd4499e1e200d04b48c4b90127c (patch) | |
tree | 940608da8374604b82edfdb2d7df55d065f05d4c /crosperf/image_checksummer.py | |
parent | 2296ee0b914aba5bba07becab4ff68884ce9b8a5 (diff) | |
download | toolchain-utils-f81680c018729fd4499e1e200d04b48c4b90127c.tar.gz |
Cleaned up directory after copy of tools from perforce directory
Got rid of stale copies of some tools like "crosperf" and moved all
files under v14 directory (that came from perforce) into the top
directory.
BUG=None
TEST=None
Change-Id: I408d17a36ceb00e74db71403d2351fd466a14f8e
Reviewed-on: https://gerrit-int.chromium.org/33887
Tested-by: Luis Lozano <llozano@chromium.org>
Reviewed-by: Yunlian Jiang <yunlian@google.com>
Commit-Queue: Luis Lozano <llozano@chromium.org>
Diffstat (limited to 'crosperf/image_checksummer.py')
-rw-r--r-- | crosperf/image_checksummer.py | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/crosperf/image_checksummer.py b/crosperf/image_checksummer.py index f75dc944..dcc1cb02 100644 --- a/crosperf/image_checksummer.py +++ b/crosperf/image_checksummer.py @@ -2,24 +2,38 @@ # Copyright 2011 Google Inc. All Rights Reserved. +import os import threading + from utils import logger from utils.file_utils import FileUtils class ImageChecksummer(object): class PerImageChecksummer(object): - def __init__(self, filename): + def __init__(self, label): self._lock = threading.Lock() - self.filename = filename + self.label = label self._checksum = None def Checksum(self): with self._lock: if not self._checksum: - logger.GetLogger().LogOutput("Computing checksum for '%s'." % - self.filename) - self._checksum = FileUtils().Md5File(self.filename) + logger.GetLogger().LogOutput("Acquiring checksum for '%s'." % + self.label.name) + self._checksum = None + if self.label.chromeos_image: + if os.path.exists(self.label.chromeos_image): + self._checksum = FileUtils().Md5File(self.label.chromeos_image) + logger.GetLogger().LogOutput("Computed checksum is " + ": %s" % self._checksum) + if not self._checksum: + if self.label.image_md5sum: + self._checksum = self.label.image_md5sum + logger.GetLogger().LogOutput("Checksum in experiment file is " + ": %s" % self._checksum) + else: + raise Exception("Checksum computing error.") logger.GetLogger().LogOutput("Checksum is: %s" % self._checksum) return self._checksum @@ -34,16 +48,16 @@ class ImageChecksummer(object): *args, **kwargs) return cls._instance - def Checksum(self, filename): + def Checksum(self, label): with self._lock: - if filename not in self._per_image_checksummers: - self._per_image_checksummers[filename] = (ImageChecksummer. - PerImageChecksummer(filename)) - checksummer = self._per_image_checksummers[filename] + if label.name not in self._per_image_checksummers: + self._per_image_checksummers[label.name] = (ImageChecksummer. + PerImageChecksummer(label)) + checksummer = self._per_image_checksummers[label.name] try: return checksummer.Checksum() except Exception, e: - logger.GetLogger().LogError("Could not compute checksum of file '%s'." - % filename) + logger.GetLogger().LogError("Could not compute checksum of image in label" + " '%s'."% label.name) raise e |