| #!/usr/bin/env python |
| # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import os |
| import re |
| import sys |
| import zipfile |
| |
| |
| def main(): |
| ZIP_PATTERN = re.compile('dmprof......\.zip') |
| |
| assert len(sys.argv) == 6 |
| assert sys.argv[1] == 'cp' |
| assert sys.argv[2] == '-a' |
| assert sys.argv[3] == 'public-read' |
| assert ZIP_PATTERN.match(os.path.basename(sys.argv[4])) |
| assert sys.argv[5] == 'gs://test-storage/' |
| |
| zip_file = zipfile.ZipFile(sys.argv[4], 'r') |
| |
| expected_nameset = set(['heap.01234.0001.heap', |
| 'heap.01234.0002.heap', |
| 'heap.01234.0001.buckets', |
| 'heap.01234.0002.buckets', |
| 'heap.01234.symmap/maps', |
| 'heap.01234.symmap/chrome.uvwxyz.readelf-e', |
| 'heap.01234.symmap/chrome.abcdef.nm', |
| 'heap.01234.symmap/files.json']) |
| assert set(zip_file.namelist()) == expected_nameset |
| |
| heap_1 = zip_file.getinfo('heap.01234.0001.heap') |
| assert heap_1.CRC == 763099253 |
| assert heap_1.file_size == 1107 |
| |
| buckets_1 = zip_file.getinfo('heap.01234.0001.buckets') |
| assert buckets_1.CRC == 2632528901 |
| assert buckets_1.file_size == 2146 |
| |
| nm_chrome = zip_file.getinfo('heap.01234.symmap/chrome.abcdef.nm') |
| assert nm_chrome.CRC == 2717882373 |
| assert nm_chrome.file_size == 131049 |
| |
| zip_file.close() |
| return 0 |
| |
| |
| if __name__ == '__main__': |
| sys.exit(main()) |