Index: testing/tools/common.py |
diff --git a/testing/tools/common.py b/testing/tools/common.py |
index 1e1d257f48d608eb33845e9877b588442577e118..a0cc946f1ad5377b4629255adaede150f57c45d1 100755 |
--- a/testing/tools/common.py |
+++ b/testing/tools/common.py |
@@ -25,6 +25,24 @@ def RunCommand(cmd): |
except subprocess.CalledProcessError as e: |
return e |
+# RunCommandExtractHashedFiles returns a tuple: (raised_exception, hashed_files) |
+# It runs the given command. If it fails it will return an exception and None. |
+# If it succeeds it will return None and the list of processed files extracted |
+# from the output of the command. It expects lines in this format: |
+# MD5:<path_to_image_file>:<md5_hash_in_hex> |
+# The returned hashed_files is a list of (file_path, MD5-hash) pairs. |
+def RunCommandExtractHashedFiles(cmd): |
+ try: |
+ output = subprocess.check_output(cmd, universal_newlines=True) |
+ ret = [] |
+ for line in output.split('\n'): |
+ line = line.strip() |
+ if line.startswith("MD5:"): |
+ ret.append([x.strip() for x in line.lstrip("MD5:").rsplit(":", 1)]) |
+ return None, ret |
+ except subprocess.CalledProcessError as e: |
+ return e, None |
+ |
# Adjust Dr. Memory wrapper to have separate log directory for each test |
# for better error reporting. |
def DrMemoryWrapper(wrapper, pdf_name): |