52 lines
1.5 KiB
Python
52 lines
1.5 KiB
Python
|
#!/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())
|