From 694eae7064b6b53162e6a8084366dfb5618677bd Mon Sep 17 00:00:00 2001 From: Christoffer Jansson Date: Mon, 21 Feb 2022 20:05:33 +0100 Subject: [PATCH] Decode/encode data to utf-8 Currently blocking the chromium to webrtc roller Bug: webrtc:13607 Change-Id: I02237b266d4f2a2fdec2975b9e67d1c4b2099a48 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252001 Reviewed-by: Mirko Bonadei Commit-Queue: Christoffer Jansson Cr-Commit-Position: refs/heads/main@{#36041} --- tools_webrtc/autoroller/roll_deps.py | 12 +++++----- .../autoroller/unittests/roll_deps_test.py | 24 +++++++++---------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/tools_webrtc/autoroller/roll_deps.py b/tools_webrtc/autoroller/roll_deps.py index 269200bff5..13e7582410 100755 --- a/tools_webrtc/autoroller/roll_deps.py +++ b/tools_webrtc/autoroller/roll_deps.py @@ -120,7 +120,7 @@ def ParseDepsDict(deps_content): def ParseLocalDepsFile(filename): with open(filename, 'rb') as f: - deps_content = f.read() + deps_content = f.read().decode('utf-8') return ParseDepsDict(deps_content) @@ -196,7 +196,7 @@ def _ReadGitilesContent(url): # Download and decode BASE64 content until # https://code.google.com/p/gitiles/issues/detail?id=7 is fixed. base64_content = ReadUrlContent(url + '?format=TEXT') - return base64.b64decode(base64_content[0]) + return base64.b64decode(base64_content[0].decode('utf-8')) def ReadRemoteCrFile(path_below_src, revision): @@ -524,8 +524,8 @@ def GenerateCommitMessage( def UpdateDepsFile(deps_filename, rev_update, changed_deps, new_cr_content): """Update the DEPS file with the new revision.""" - with open(deps_filename, 'r') as deps_file: - deps_content = deps_file.read() + with open(deps_filename, 'rb') as deps_file: + deps_content = deps_file.read().decode('utf-8') # Update the chromium_revision variable. deps_content = deps_content.replace(rev_update.current_chromium_rev, @@ -544,8 +544,8 @@ def UpdateDepsFile(deps_filename, rev_update, changed_deps, new_cr_content): (ANDROID_DEPS_START, ANDROID_DEPS_END, faulty)) deps_content = deps_re.sub(new_deps.group(0), deps_content) - with open(deps_filename, 'w') as deps_file: - deps_file.write(deps_content) + with open(deps_filename, 'wb') as deps_file: + deps_file.write(deps_content.encode('utf-8')) # Update each individual DEPS entry. for dep in changed_deps: diff --git a/tools_webrtc/autoroller/unittests/roll_deps_test.py b/tools_webrtc/autoroller/unittests/roll_deps_test.py index 42db81c258..b58f319eec 100755 --- a/tools_webrtc/autoroller/unittests/roll_deps_test.py +++ b/tools_webrtc/autoroller/unittests/roll_deps_test.py @@ -108,22 +108,22 @@ class TestRollChromiumRevision(unittest.TestCase): new_rev = 'aaaaabbbbbcccccdddddeeeeefffff0000011111' current_rev = TEST_DATA_VARS['chromium_revision'] - with open(self._new_cr_depsfile_android) as deps_file: - new_cr_contents = deps_file.read() + with open(self._new_cr_depsfile_android, 'rb') as deps_file: + new_cr_contents = deps_file.read().decode('utf-8') UpdateDepsFile(self._webrtc_depsfile, ChromiumRevisionUpdate(current_rev, new_rev), [], new_cr_contents) - with open(self._webrtc_depsfile) as deps_file: - deps_contents = deps_file.read() + with open(self._webrtc_depsfile, 'rb') as deps_file: + deps_contents = deps_file.read().decode('utf-8') self.assertTrue(new_rev in deps_contents, 'Failed to find %s in\n%s' % (new_rev, deps_contents)) def _UpdateDepsSetup(self): - with open(self._webrtc_depsfile_android) as deps_file: - webrtc_contents = deps_file.read() - with open(self._new_cr_depsfile_android) as deps_file: - new_cr_contents = deps_file.read() + with open(self._webrtc_depsfile_android, 'rb') as deps_file: + webrtc_contents = deps_file.read().decode('utf-8') + with open(self._new_cr_depsfile_android, 'rb') as deps_file: + new_cr_contents = deps_file.read().decode('utf-8') webrtc_deps = ParseDepsDict(webrtc_contents) new_cr_deps = ParseDepsDict(new_cr_contents) @@ -132,8 +132,8 @@ class TestRollChromiumRevision(unittest.TestCase): UpdateDepsFile(self._webrtc_depsfile_android, NO_CHROMIUM_REVISION_UPDATE, changed_deps, new_cr_contents) - with open(self._webrtc_depsfile_android) as deps_file: - updated_contents = deps_file.read() + with open(self._webrtc_depsfile_android, 'rb') as deps_file: + updated_contents = deps_file.read().decode('utf-8') return webrtc_contents, updated_contents @@ -160,8 +160,8 @@ class TestRollChromiumRevision(unittest.TestCase): self.assertFalse(removed in updated_contents) def testParseDepsDict(self): - with open(self._webrtc_depsfile) as deps_file: - deps_contents = deps_file.read() + with open(self._webrtc_depsfile, 'rb') as deps_file: + deps_contents = deps_file.read().decode('utf-8') local_scope = ParseDepsDict(deps_contents) vars_dict = local_scope['vars']