upload_symbols: get tests passing under Python 3
There's one encoding fix to get pass the hard failure, then a bunch
of explicit socket/file closing to avoid resource leakage warnings.
BUG=chromium:997354
TEST=`./run_tests` passes
Change-Id: Icde02806e524a2bee835dd31126e1e1d2915683c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1919673
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
diff --git a/scripts/upload_symbols.py b/scripts/upload_symbols.py
index afbb020..09e4adb 100644
--- a/scripts/upload_symbols.py
+++ b/scripts/upload_symbols.py
@@ -261,10 +261,10 @@
prefix='upload_symbols',
dir=tempdir, delete=False) as temp_sym_file:
- temp_sym_file.writelines(
- [x for x in open(symbol.file_name, 'rb').readlines()
- if not x.startswith('STACK CFI')]
- )
+ with open(symbol.file_name, 'rb') as fp:
+ temp_sym_file.writelines(
+ x for x in fp.readlines() if not x.startswith(b'STACK CFI')
+ )
original_file_size = file_size
symbol.file_name = temp_sym_file.name
@@ -390,10 +390,11 @@
{'debug_file': symbol.header.name,
'debug_id': symbol.header.id.replace('-', '')}
}
- ExecRequest('put',
- upload['uploadUrl'], timeout,
- api_key=api_key,
- data=open(symbol.file_name, 'r'))
+ with open(symbol.file_name, 'r') as fp:
+ ExecRequest('put',
+ upload['uploadUrl'], timeout,
+ api_key=api_key,
+ data=fp)
ExecRequest('post',
'%s/uploads/%s:complete' % (
upload_url, upload['uploadKey']),