From 26a8b9f35639bbbbe971e8d1364fb25ec4a1266b Mon Sep 17 00:00:00 2001 From: Edward Lemur Date: Thu, 15 Aug 2019 20:46:44 +0000 Subject: [PATCH] depot_tools: Make gclient Python3 compatible. Bug: 984182 Change-Id: Idc38678acbfca9cc6b89d77db28fdc24784f2b7d Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1753742 Commit-Queue: Edward Lemur Reviewed-by: Robbie Iannucci --- gclient.py | 2 +- gclient_scm.py | 2 +- gclient_utils.py | 3 ++ testing_support/fake_repos.py | 10 ++-- tests/gclient_smoketest.py | 76 ++++++++++++++++------------- tests/gclient_test.py | 90 ++++++++++++++++++----------------- 6 files changed, 100 insertions(+), 83 deletions(-) diff --git a/gclient.py b/gclient.py index f940f6830..9dfbcd551 100755 --- a/gclient.py +++ b/gclient.py @@ -1980,7 +1980,7 @@ class CipdDependency(Dependency): ]) for p in sorted( self._cipd_root.packages(self._cipd_subdir), - cmp=lambda x, y: cmp(x.name, y.name)): + key=lambda x: x.name): s.extend([ ' {', ' "package": "%s",' % escape_cipd_var(p.name), diff --git a/gclient_scm.py b/gclient_scm.py index d599bfef3..457d73f05 100644 --- a/gclient_scm.py +++ b/gclient_scm.py @@ -318,7 +318,7 @@ class GitWrapper(SCMWrapper): files = self._Capture( ['-c', 'core.quotePath=false', 'ls-files']).splitlines() file_list.extend( - [os.path.join(self.checkout_path, f.decode()) for f in files]) + [os.path.join(self.checkout_path, f) for f in files]) def _DisableHooks(self): hook_dir = os.path.join(self.checkout_path, '.git', 'hooks') diff --git a/gclient_utils.py b/gclient_utils.py index 227ce056f..45617dfdf 100644 --- a/gclient_utils.py +++ b/gclient_utils.py @@ -165,6 +165,9 @@ class PrintableObject(object): def FileRead(filename, mode='rU'): + # On Python 3 newlines are converted to '\n' by default and 'U' is deprecated. + if mode == 'rU' and sys.version_info.major == 3: + mode = 'r' with open(filename, mode=mode) as f: # codecs.open() has different behavior than open() on python 2.6 so use # open() and decode manually. diff --git a/testing_support/fake_repos.py b/testing_support/fake_repos.py index fe74e8450..e6b43a6c3 100755 --- a/testing_support/fake_repos.py +++ b/testing_support/fake_repos.py @@ -46,7 +46,7 @@ def read_tree(tree_root): for f in [join(root, f) for f in files if not f.startswith('.')]: filepath = f[len(tree_root) + 1:].replace(os.sep, '/') assert len(filepath), f - tree[filepath] = open(join(root, f), 'rU').read() + tree[filepath] = gclient_utils.FileRead(join(root, f)) return tree @@ -931,7 +931,7 @@ class FakeReposTestBase(trial_dir.TestCase): def checkString(self, expected, result, msg=None): """Prints the diffs to ease debugging.""" - self.assertEquals(expected.splitlines(), result.splitlines(), msg) + self.assertEqual(expected.splitlines(), result.splitlines(), msg) if expected != result: # Strip the begining while expected and result and expected[0] == result[0]: @@ -940,13 +940,13 @@ class FakeReposTestBase(trial_dir.TestCase): # The exception trace makes it hard to read so dump it too. if '\n' in result: print(result) - self.assertEquals(expected, result, msg) + self.assertEqual(expected, result, msg) def check(self, expected, results): """Checks stdout, stderr, returncode.""" self.checkString(expected[0], results[0]) self.checkString(expected[1], results[1]) - self.assertEquals(expected[2], results[2]) + self.assertEqual(expected[2], results[2]) def assertTree(self, tree, tree_root=None): """Diff the checkout tree with a dict.""" @@ -958,7 +958,7 @@ class FakeReposTestBase(trial_dir.TestCase): logging.error('Actual %s\n%s' % (tree_root, pprint.pformat(actual))) logging.error('Expected\n%s' % pprint.pformat(tree)) logging.error('Diff\n%s' % pprint.pformat(diff)) - self.assertEquals(diff, {}) + self.assertEqual(diff, {}) def mangle_git_tree(self, *args): """Creates a 'virtual directory snapshot' to compare with the actual result diff --git a/tests/gclient_smoketest.py b/tests/gclient_smoketest.py index fdf99e5e4..14ee17449 100755 --- a/tests/gclient_smoketest.py +++ b/tests/gclient_smoketest.py @@ -50,7 +50,8 @@ class GClientSmokeBase(fake_repos.FakeReposTestBase): cmd = cmd_base + cmd process = subprocess.Popen(cmd, cwd=cwd, env=self.env, stdout=subprocess.PIPE, stderr=subprocess.PIPE, - shell=sys.platform.startswith('win')) + shell=sys.platform.startswith('win'), + universal_newlines=True) (stdout, stderr) = process.communicate() logging.debug("XXX: %s\n%s\nXXX" % (' '.join(cmd), stdout)) logging.debug("YYY: %s\n%s\nYYY" % (' '.join(cmd), stderr)) @@ -72,11 +73,11 @@ class GClientSmokeBase(fake_repos.FakeReposTestBase): else: remaining.append(line) else: - self.assertEquals([], remaining) + self.assertEqual([], remaining) task_id = int(m.group(1)) tasks.setdefault(task_id, []).append(m.group(2)) out = [] - for key in sorted(tasks.iterkeys()): + for key in sorted(tasks.keys()): out.extend(tasks[key]) out.extend(remaining) return '\n'.join(out) @@ -88,7 +89,7 @@ class GClientSmokeBase(fake_repos.FakeReposTestBase): if untangle: stdout = self.untangle(stdout) self.checkString(expected_stderr, stderr) - self.assertEquals(0, returncode) + self.assertEqual(0, returncode) return self.checkBlock(stdout, items) def splitBlock(self, stdout): @@ -138,7 +139,7 @@ class GClientSmokeBase(fake_repos.FakeReposTestBase): def checkBlock(self, stdout, items): results = self.splitBlock(stdout) - for i in xrange(min(len(results), len(items))): + for i in range(min(len(results), len(items))): if isinstance(items[i], (list, tuple)): verb = items[i][0] path = items[i][1] @@ -154,7 +155,7 @@ class GClientSmokeBase(fake_repos.FakeReposTestBase): (i, results[i][0][2].lower(), path.lower())) else: self.checkString(results[i][0][2], path, (i, results[i][0][2], path)) - self.assertEquals(len(results), len(items), (stdout, items, len(results))) + self.assertEqual(len(results), len(items), (stdout, items, len(results))) return results @@ -178,7 +179,7 @@ class GClientSmoke(GClientSmokeBase): def testConfig(self): # Get any bootstrapping out of the way. results = self.gclient(['version']) - self.assertEquals(results[2], 0) + self.assertEqual(results[2], 0) p = join(self.root_dir, '.gclient') def test(cmd, expected): @@ -186,7 +187,9 @@ class GClientSmoke(GClientSmokeBase): os.remove(p) results = self.gclient(cmd) self.check(('', '', 0), results) - self.checkString(expected, open(p, 'rU').read()) + mode = 'r' if sys.version_info.major == 3 else 'rU' + with open(p, mode) as f: + self.checkString(expected, f.read()) test(['config', self.git_base + 'src/'], ('solutions = [\n' @@ -524,7 +527,7 @@ class GClientSmokeGIT(GClientSmokeBase): self.gclient(['config', self.git_base + 'repo_13', '--name', 'src']) _out, _err, rc = self.gclient( ['sync', '-v', '-v', '-v', '--revision', self.githash('repo_13', 2)]) - self.assertEquals(0, rc) + self.assertEqual(0, rc) def testSyncFetchUpdate(self): if not self.enabled: @@ -535,12 +538,12 @@ class GClientSmokeGIT(GClientSmokeBase): # non-standard refs. _out, _err, rc = self.gclient( ['sync', '-v', '-v', '-v', '--revision', self.githash('repo_13', 1)]) - self.assertEquals(0, rc) + self.assertEqual(0, rc) # Make sure update that pulls a non-standard ref works. _out, _err, rc = self.gclient( ['sync', '-v', '-v', '-v', '--revision', self.githash('repo_13', 2)]) - self.assertEquals(0, rc) + self.assertEqual(0, rc) def testSyncDirect(self): if not self.enabled: @@ -548,7 +551,7 @@ class GClientSmokeGIT(GClientSmokeBase): self.gclient(['config', self.git_base + 'repo_12', '--name', 'src']) _out, _err, rc = self.gclient( ['sync', '-v', '-v', '-v', '--revision', 'refs/changes/1212']) - self.assertEquals(0, rc) + self.assertEqual(0, rc) def testSyncUnmanaged(self): if not self.enabled: @@ -652,8 +655,8 @@ class GClientSmokeGIT(GClientSmokeBase): # runhooks runs all hooks even if not matching by design. out = self.parseGclient(['runhooks', '--deps', 'mac'], ['running', 'running']) - self.assertEquals(1, len(out[0])) - self.assertEquals(1, len(out[1])) + self.assertEqual(1, len(out[0])) + self.assertEqual(1, len(out[1])) tree = self.mangle_git_tree(('repo_1@2', 'src'), ('repo_2@1', 'src/repo2'), ('repo_3@2', 'src/repo2/repo_renamed')) @@ -681,9 +684,9 @@ class GClientSmokeGIT(GClientSmokeBase): out = self.parseGclient(['sync', '--deps', 'mac', '--jobs=1', '--revision', 'src@' + self.githash('repo_5', 2)], expectation) - self.assertEquals('Cloning into ', out[0][1][:13]) - self.assertEquals(2, len(out[1]), out[1]) - self.assertEquals('pre-deps hook', out[1][1]) + self.assertEqual('Cloning into ', out[0][1][:13]) + self.assertEqual(2, len(out[1]), out[1]) + self.assertEqual('pre-deps hook', out[1][1]) tree = self.mangle_git_tree(('repo_5@2', 'src'), ('repo_1@2', 'src/repo1'), ('repo_2@1', 'src/repo2') @@ -731,14 +734,21 @@ class GClientSmokeGIT(GClientSmokeBase): ('running', self.root_dir), # pre-deps hook ('running', self.root_dir), # pre-deps hook (fails) ] + executable = sys.executable + # On Python 3 we always execute hooks with 'python', so we cannot use + # sys.executable. + if sys.version_info.major == 3: + executable = subprocess.check_output( + ['python', '-c', 'import sys; print(sys.executable)']) + executable = executable.decode('utf-8').strip() expected_stderr = ("Error: Command '%s -c import sys; " "sys.exit(1)' returned non-zero exit status 1 in %s\n" - % (sys.executable, self.root_dir)) + % (executable, self.root_dir)) stdout, stderr, retcode = self.gclient(['sync', '--deps', 'mac', '--jobs=1', '--revision', 'src@' + self.githash('repo_5', 3)]) - self.assertEquals(stderr, expected_stderr) - self.assertEquals(2, retcode) + self.assertEqual(stderr, expected_stderr) + self.assertEqual(2, retcode) self.checkBlock(stdout, expectated_stdout) def testRevInfo(self): @@ -1654,7 +1664,7 @@ class GClientSmokeGITMutates(GClientSmokeBase): out = self.parseGclient(['status', '--deps', 'mac', '--jobs', '1'], []) # TODO(maruel): http://crosbug.com/3584 It should output the unversioned # files. - self.assertEquals(0, len(out)) + self.assertEqual(0, len(out)) # Revert implies --force implies running hooks without looking at pattern # matching. For each expected path, 'git reset' and 'git clean' are run, so @@ -1663,7 +1673,7 @@ class GClientSmokeGITMutates(GClientSmokeBase): # because it is clean and has no output for 'git clean'. out = self.parseGclient(['revert', '--deps', 'mac', '--jobs', '1'], ['running', 'running']) - self.assertEquals(2, len(out)) + self.assertEqual(2, len(out)) tree = self.mangle_git_tree(('repo_1@3', 'src'), ('repo_2@1', 'src/repo2'), ('repo_3@2', 'src/repo2/repo_renamed')) @@ -1682,7 +1692,7 @@ class GClientSmokeGITMutates(GClientSmokeBase): }]) out = self.parseGclient(['revert', '--deps', 'mac', '--jobs', '1'], ['running', 'running']) - self.assertEquals(2, len(out)) + self.assertEqual(2, len(out)) tree = self.mangle_git_tree(('repo_1@3', 'src'), ('repo_2@3', 'src/repo2'), ('repo_3@2', 'src/repo2/repo_renamed')) @@ -1694,7 +1704,7 @@ class GClientSmokeGITMutates(GClientSmokeBase): out = results[0].splitlines(False) # TODO(maruel): http://crosbug.com/3584 It should output the unversioned # files. - self.assertEquals(0, len(out)) + self.assertEqual(0, len(out)) def testSyncNoHistory(self): if not self.enabled: @@ -1730,8 +1740,8 @@ class GClientSmokeGITMutates(GClientSmokeBase): # Check that repo_2 is actually shallow and its log has only one entry. rev_lists = subprocess2.check_output(['git', 'rev-list', 'HEAD'], - cwd=repo2_root) - self.assertEquals(repo_2_hash_new, rev_lists.strip('\r\n')) + cwd=repo2_root).decode('utf-8') + self.assertEqual(repo_2_hash_new, rev_lists.strip('\r\n')) # Check that we have actually checked out the right commit. self.assertTrue(os.path.exists(join(repo2_root, 'last_file'))) @@ -1881,7 +1891,7 @@ class BlinkDEPSTransitionSmokeTest(GClientSmokeBase): '}]']) # Go back and forth two times. - for _ in xrange(2): + for _ in range(2): res = self.gclient(['sync', '--jobs', '1', '--revision', 'src@%s' % self.pre_merge_sha]) self.assertEqual(res[2], 0, 'DEPS change sync failed.') @@ -1912,7 +1922,7 @@ class BlinkDEPSTransitionSmokeTest(GClientSmokeBase): self.assertEqual(res[2], 0, 'Initial gclient sync failed.') # Go back and forth two times. - for _ in xrange(2): + for _ in range(2): subprocess2.check_call(['git', 'checkout', '-q', self.pre_merge_sha], cwd=self.checkout_path) res = self.gclient(['sync', '--jobs', '1']) @@ -1968,7 +1978,7 @@ class GClientSmokeCipd(GClientSmokeBase): def testSyncCipd(self): self.gclient(['config', self.git_base + 'repo_14', '--name', 'src']) out, err, rc = self.gclient(['sync']) - self.assertEquals(0, rc, out + err) + self.assertEqual(0, rc, out + err) tree = self.mangle_git_tree(('repo_14@1', 'src')) tree.update({ @@ -2002,7 +2012,7 @@ class GClientSmokeCipd(GClientSmokeBase): # repo_13@1 has src/repo12 as a git dependency. out, err, rc = self.gclient( ['sync', '-v', '-v', '-v', '--revision', self.githash('repo_13', 1)]) - self.assertEquals(0, rc, out + err) + self.assertEqual(0, rc, out + err) tree = self.mangle_git_tree(('repo_13@1', 'src'), ('repo_12@1', 'src/repo12')) @@ -2012,7 +2022,7 @@ class GClientSmokeCipd(GClientSmokeBase): out, err, rc = self.gclient( ['sync', '-v', '-v', '-v', '--revision', self.githash('repo_13', 3), '--delete_unversioned_trees']) - self.assertEquals(0, rc, out + err) + self.assertEqual(0, rc, out + err) tree = self.mangle_git_tree(('repo_13@3', 'src')) tree.update({ @@ -2035,7 +2045,7 @@ class GClientSmokeCipd(GClientSmokeBase): out, err, rc = self.gclient( ['sync', '-v', '-v', '-v', '--revision', self.githash('repo_13', 3), '--delete_unversioned_trees']) - self.assertEquals(0, rc, out + err) + self.assertEqual(0, rc, out + err) tree = self.mangle_git_tree(('repo_13@3', 'src')) tree.update({ @@ -2054,7 +2064,7 @@ class GClientSmokeCipd(GClientSmokeBase): # repo_13@1 has src/repo12 as a git dependency. out, err, rc = self.gclient( ['sync', '-v', '-v', '-v', '--revision', self.githash('repo_13', 1)]) - self.assertEquals(0, rc, out + err) + self.assertEqual(0, rc, out + err) tree = self.mangle_git_tree(('repo_13@1', 'src'), ('repo_12@1', 'src/repo12')) diff --git a/tests/gclient_test.py b/tests/gclient_test.py index 2f592e2d3..e260d06f1 100755 --- a/tests/gclient_test.py +++ b/tests/gclient_test.py @@ -8,7 +8,6 @@ See gclient_smoketest.py for integration tests. """ -import Queue import copy import logging import ntpath @@ -16,6 +15,11 @@ import os import sys import unittest +if sys.version_info.major == 2: + import Queue +else: + import queue as Queue + sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) import metrics @@ -51,7 +55,7 @@ class SCMMock(object): self.url = parsed_url def RunCommand(self, command, options, args, file_list): - self.unit_test.assertEquals('None', command) + self.unit_test.assertEqual('None', command) self.unit_test.processed.put((self.name, self.url)) # pylint: disable=no-self-use @@ -77,7 +81,7 @@ class GclientTest(trial_dir.TestCase): sys.stdout = gclient.gclient_utils.MakeFileAnnotated(sys.stdout) def tearDown(self): - self.assertEquals([], self._get_processed()) + self.assertEqual([], self._get_processed()) gclient.gclient_scm.GitWrapper = self._old_createscm sys.stdout = self._old_sys_stdout os.chdir(self.previous_dir) @@ -142,10 +146,10 @@ class GclientTest(trial_dir.TestCase): self.assertTrue( actual.index(('bar', 'svn://example.com/bar')) < actual.index(('bar/empty', 'svn://example.com/bar_empty'))) - self.assertEquals(first_3, sorted(actual[0:3])) + self.assertEqual(first_3, sorted(actual[0:3])) else: - self.assertEquals(first_3, actual[0:3]) - self.assertEquals( + self.assertEqual(first_3, actual[0:3]) + self.assertEqual( [ ('foo/dir1', 'svn://example.com/dir1'), ('foo/dir1/dir2', 'svn://example.com/dir1/dir2'), @@ -155,10 +159,10 @@ class GclientTest(trial_dir.TestCase): ], actual[3:]) - self.assertEquals(3, len(obj.dependencies)) - self.assertEquals('foo', obj.dependencies[0].name) - self.assertEquals('bar', obj.dependencies[1].name) - self.assertEquals('bar/empty', obj.dependencies[2].name) + self.assertEqual(3, len(obj.dependencies)) + self.assertEqual('foo', obj.dependencies[0].name) + self.assertEqual('bar', obj.dependencies[1].name) + self.assertEqual('bar/empty', obj.dependencies[2].name) self._check_requirements( obj.dependencies[0], { @@ -189,8 +193,8 @@ class GclientTest(trial_dir.TestCase): for dependency in solution.dependencies: e = expected.pop(dependency.name) a = sorted(dependency.requirements) - self.assertEquals(e, a, (dependency.name, e, a)) - self.assertEquals({}, expected) + self.assertEqual(e, a, (dependency.name, e, a)) + self.assertEqual({}, expected) def _get_processed(self): """Retrieves the item in the order they were processed.""" @@ -235,7 +239,7 @@ class GclientTest(trial_dir.TestCase): relative=False, condition=None, print_outbuf=True) - self.assertEquals('proto://host/path@revision', d.url) + self.assertEqual('proto://host/path@revision', d.url) def testStr(self): parser = gclient.OptionParser() @@ -296,7 +300,7 @@ class GclientTest(trial_dir.TestCase): # pylint: disable=protected-access obj.dependencies[0]._file_list.append('foo') str_obj = str(obj) - self.assertEquals(322, len(str_obj), '%d\n%s' % (len(str_obj), str_obj)) + self.assertEqual(322, len(str_obj), '%d\n%s' % (len(str_obj), str_obj)) def testHooks(self): hooks = [{'pattern':'.', 'action':['cmd1', 'arg1', 'arg2']}] @@ -607,13 +611,13 @@ class GclientTest(trial_dir.TestCase): obj.RunOnDeps('None', args) self.assertEqual(['zippy'], sorted(obj.enforced_os)) all_hooks = obj.GetHooks(options) - self.assertEquals( + self.assertEqual( [('.', 'svn://example.com/'),], sorted(self._get_processed())) - self.assertEquals([h.action for h in all_hooks], + self.assertEqual([h.action for h in all_hooks], [('python', 'do_a'), ('python', 'do_b')]) - self.assertEquals([h.condition for h in all_hooks], + self.assertEqual([h.condition for h in all_hooks], [None, 'checkout_blorp']) def testOverride(self): @@ -700,7 +704,7 @@ class GclientTest(trial_dir.TestCase): with self.assertRaises(gclient_utils.Error): obj.RunOnDeps('None', []) self.assertEqual(['unix'], sorted(obj.enforced_os)) - self.assertEquals( + self.assertEqual( [ ('foo', 'svn://example.com/foo'), ], @@ -755,7 +759,7 @@ class GclientTest(trial_dir.TestCase): options, _ = gclient.OptionParser().parse_args([]) obj = gclient.GClient.LoadCurrentConfig(options) obj.RunOnDeps('None', []) - self.assertEquals( + self.assertEqual( [ ('bar', 'svn://example.com/bar'), ('baz', 'svn://example.com/baz'), @@ -795,7 +799,7 @@ class GclientTest(trial_dir.TestCase): options, _ = gclient.OptionParser().parse_args([]) obj = gclient.GClient.LoadCurrentConfig(options) obj.RunOnDeps('None', []) - self.assertEquals( + self.assertEqual( [ ('foo', 'svn://example.com/foo'), ('foo/bar', 'svn://example.com/bar'), @@ -832,7 +836,7 @@ class GclientTest(trial_dir.TestCase): options, _ = gclient.OptionParser().parse_args([]) obj = gclient.GClient.LoadCurrentConfig(options) obj.RunOnDeps('None', []) - self.assertEquals( + self.assertEqual( [ ('foo', 'svn://example.com/foo'), ('foo/bar', 'svn://example.com/bar'), @@ -871,7 +875,7 @@ class GclientTest(trial_dir.TestCase): options, _ = gclient.OptionParser().parse_args([]) obj = gclient.GClient.LoadCurrentConfig(options) obj.RunOnDeps('None', []) - self.assertEquals( + self.assertEqual( [ ('foo', 'svn://example.com/foo'), ('foo/third_party/bar', 'svn://example.com/bar'), @@ -907,7 +911,7 @@ class GclientTest(trial_dir.TestCase): options, _ = gclient.OptionParser().parse_args([]) obj = gclient.GClient.LoadCurrentConfig(options) obj.RunOnDeps('None', []) - self.assertEquals( + self.assertEqual( [ ('foo', 'svn://example.com/foo'), ('bar', 'svn://example.com/bar'), @@ -943,7 +947,7 @@ class GclientTest(trial_dir.TestCase): options, _ = gclient.OptionParser().parse_args([]) obj = gclient.GClient.LoadCurrentConfig(options) obj.RunOnDeps('None', []) - self.assertEquals( + self.assertEqual( [ ('foo', 'svn://example.com/foo'), ('bar', 'svn://example.com/bar'), @@ -968,7 +972,7 @@ class GclientTest(trial_dir.TestCase): options, _ = gclient.OptionParser().parse_args([]) obj = gclient.GClient.LoadCurrentConfig(options) obj.RunOnDeps('None', []) - self.assertEquals( + self.assertEqual( [ ('foo', 'svn://example.com/foo'), ('bar', 'svn://example.com/bar'), @@ -1004,16 +1008,16 @@ class GclientTest(trial_dir.TestCase): options.validate_syntax = True obj = gclient.GClient.LoadCurrentConfig(options) - self.assertEquals(1, len(obj.dependencies)) + self.assertEqual(1, len(obj.dependencies)) sol = obj.dependencies[0] sol._condition = 'some_condition' sol.ParseDepsFile() - self.assertEquals(1, len(sol.dependencies)) + self.assertEqual(1, len(sol.dependencies)) dep = sol.dependencies[0] self.assertIsInstance(dep, gclient.CipdDependency) - self.assertEquals( + self.assertEqual( 'https://chrome-infra-packages.appspot.com/lemur@version:1234', dep.url) @@ -1035,8 +1039,8 @@ class GclientTest(trial_dir.TestCase): obj = gclient.GClient.LoadCurrentConfig(options) obj.RunOnDeps('None', []) dep = obj.dependencies[0] - self.assertEquals([], dep.findDepsFromNotAllowedHosts()) - self.assertEquals(frozenset(), dep.allowed_hosts) + self.assertEqual([], dep.findDepsFromNotAllowedHosts()) + self.assertEqual(frozenset(), dep.allowed_hosts) self._get_processed() def testDepsFromNotAllowedHostsOK(self): @@ -1058,8 +1062,8 @@ class GclientTest(trial_dir.TestCase): obj = gclient.GClient.LoadCurrentConfig(options) obj.RunOnDeps('None', []) dep = obj.dependencies[0] - self.assertEquals([], dep.findDepsFromNotAllowedHosts()) - self.assertEquals(frozenset(['example.com']), dep.allowed_hosts) + self.assertEqual([], dep.findDepsFromNotAllowedHosts()) + self.assertEqual(frozenset(['example.com']), dep.allowed_hosts) self._get_processed() def testDepsFromNotAllowedHostsBad(self): @@ -1081,8 +1085,8 @@ class GclientTest(trial_dir.TestCase): obj = gclient.GClient.LoadCurrentConfig(options) obj.RunOnDeps('None', []) dep = obj.dependencies[0] - self.assertEquals(frozenset(['other.com']), dep.allowed_hosts) - self.assertEquals([dep.dependencies[0]], dep.findDepsFromNotAllowedHosts()) + self.assertEqual(frozenset(['other.com']), dep.allowed_hosts) + self.assertEqual([dep.dependencies[0]], dep.findDepsFromNotAllowedHosts()) self._get_processed() def testDepsParseFailureWithEmptyAllowedHosts(self): @@ -1162,16 +1166,16 @@ class GclientTest(trial_dir.TestCase): options.validate_syntax = True obj = gclient.GClient.LoadCurrentConfig(options) - self.assertEquals(1, len(obj.dependencies)) + self.assertEqual(1, len(obj.dependencies)) sol = obj.dependencies[0] sol._condition = 'some_condition' sol.ParseDepsFile() - self.assertEquals(1, len(sol.dependencies)) + self.assertEqual(1, len(sol.dependencies)) dep = sol.dependencies[0] self.assertIsInstance(dep, gclient.CipdDependency) - self.assertEquals( + self.assertEqual( 'https://chrome-infra-packages.appspot.com/lemur@version:1234', dep.url) @@ -1204,16 +1208,16 @@ class GclientTest(trial_dir.TestCase): options.validate_syntax = True obj = gclient.GClient.LoadCurrentConfig(options) - self.assertEquals(1, len(obj.dependencies)) + self.assertEqual(1, len(obj.dependencies)) sol = obj.dependencies[0] sol._condition = 'some_condition' sol.ParseDepsFile() - self.assertEquals(1, len(sol.dependencies)) + self.assertEqual(1, len(sol.dependencies)) dep = sol.dependencies[0] self.assertIsInstance(dep, gclient.GitDependency) - self.assertEquals('https://example.com/bar', dep.url) + self.assertEqual('https://example.com/bar', dep.url) def testSameDirAllowMultipleCipdDeps(self): """Verifies gclient allow multiple cipd deps under same directory.""" @@ -1266,8 +1270,8 @@ class GclientTest(trial_dir.TestCase): []) dep0 = obj.dependencies[0].dependencies[0] dep1 = obj.dependencies[0].dependencies[1] - self.assertEquals('https://example.com/foo_package@foo_version', dep0.url) - self.assertEquals('https://example.com/bar_package@bar_version', dep1.url) + self.assertEqual('https://example.com/foo_package@foo_version', dep0.url) + self.assertEqual('https://example.com/bar_package@bar_version', dep1.url) def _testPosixpathImpl(self): parser = gclient.OptionParser() @@ -1287,7 +1291,7 @@ class GclientTest(trial_dir.TestCase): should_process=True, relative=False, condition=None) - self.assertEquals(cipd_dep._cipd_subdir, 'src/foo/bar/baz') + self.assertEqual(cipd_dep._cipd_subdir, 'src/foo/bar/baz') def testPosixpathCipdSubdir(self): self._testPosixpathImpl()