Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import unittest | 5 import unittest |
| 6 | 6 |
| 7 from webkitpy.common.host_mock import MockHost | 7 from webkitpy.common.host_mock import MockHost |
| 8 from webkitpy.common.system.executive_mock import MockExecutive | 8 from webkitpy.common.system.executive_mock import MockExecutive |
| 9 from webkitpy.common.system.filesystem_mock import MockFileSystem | 9 from webkitpy.common.system.filesystem_mock import MockFileSystem |
| 10 from webkitpy.w3c.local_wpt import LocalWPT | 10 from webkitpy.w3c.local_wpt import LocalWPT |
| 11 | 11 |
| 12 | 12 |
| 13 class LocalWPTTest(unittest.TestCase): | 13 class LocalWPTTest(unittest.TestCase): |
| 14 | 14 |
| 15 def test_fetches_if_wpt_exists(self): | 15 def test_fetches_if_wpt_exists(self): |
|
qyearsley
2017/01/10 20:42:46
Thought about naming: the purpose of the first thr
| |
| 16 host = MockHost() | 16 host = MockHost() |
| 17 host.filesystem = MockFileSystem(files={ | 17 host.filesystem = MockFileSystem(files={ |
| 18 '/tmp/wpt': '' | 18 '/tmp/wpt': '' |
| 19 }) | 19 }) |
| 20 | 20 |
| 21 LocalWPT(host) | 21 LocalWPT(host) |
| 22 | 22 |
| 23 self.assertEqual(len(host.executive.calls), 2) | 23 self.assertEqual(len(host.executive.calls), 4) |
| 24 self.assertEqual(host.executive.calls[0][1], 'fetch') | 24 self.assertEqual([cmd[1] for cmd in host.executive.calls], |
| 25 self.assertEqual(host.executive.calls[1][1], 'checkout') | 25 ['fetch', 'checkout', 'remote', 'remote']) |
|
qyearsley
2017/01/10 20:42:46
Possible rephrasing:
subcommands = [argv[1] for
jeffcarp
2017/01/10 22:11:58
Sure (to your last point). We do it elsewhere so I
| |
| 26 | 26 |
| 27 def test_clones_if_wpt_does_not_exist(self): | 27 def test_clones_if_wpt_does_not_exist(self): |
| 28 host = MockHost() | 28 host = MockHost() |
| 29 host.filesystem = MockFileSystem() | 29 host.filesystem = MockFileSystem() |
| 30 | 30 |
| 31 LocalWPT(host) | 31 LocalWPT(host) |
| 32 | 32 |
| 33 self.assertEqual(len(host.executive.calls), 1) | 33 self.assertEqual(len(host.executive.calls), 3) |
| 34 self.assertEqual(host.executive.calls[0][1], 'clone') | 34 self.assertEqual(host.executive.calls[0][1], 'clone') |
| 35 | 35 |
| 36 def test_no_fetch_flag(self): | 36 def test_no_fetch_flag(self): |
| 37 host = MockHost() | 37 host = MockHost() |
| 38 host.filesystem = MockFileSystem(files={ | 38 host.filesystem = MockFileSystem(files={ |
| 39 '/tmp/wpt': '' | 39 '/tmp/wpt': '' |
| 40 }) | 40 }) |
| 41 | 41 |
| 42 LocalWPT(host, no_fetch=True) | 42 LocalWPT(host, no_fetch=True) |
| 43 | 43 |
| 44 self.assertEqual(len(host.executive.calls), 0) | 44 self.assertEqual(len(host.executive.calls), 0) |
| 45 | 45 |
| 46 def test_run(self): | 46 def test_run(self): |
| 47 host = MockHost() | 47 host = MockHost() |
| 48 host.filesystem = MockFileSystem() | 48 host.filesystem = MockFileSystem() |
| 49 | 49 |
| 50 local_wpt = LocalWPT(host) | 50 local_wpt = LocalWPT(host) |
| 51 | 51 |
| 52 local_wpt.run(['echo', 'rutabaga']) | 52 local_wpt.run(['echo', 'rutabaga']) |
| 53 self.assertEqual(len(host.executive.calls), 2) | 53 self.assertEqual(len(host.executive.calls), 4) |
| 54 self.assertEqual(host.executive.calls[1], ['echo', 'rutabaga']) | 54 self.assertEqual(host.executive.calls[3], ['echo', 'rutabaga']) |
| 55 | 55 |
| 56 def test_last_wpt_exported_commit(self): | 56 def test_last_wpt_exported_commit(self): |
| 57 host = MockHost() | 57 host = MockHost() |
| 58 return_vals = [ | 58 return_vals = [ |
| 59 'deadbeefcafe', | 59 'deadbeefcafe', |
| 60 '123', | 60 '123', |
| 61 '9ea4fc353a4b1c11c6e524270b11baa4d1ddfde8', | 61 '9ea4fc353a4b1c11c6e524270b11baa4d1ddfde8', |
| 62 ] | 62 ] |
| 63 host.executive = MockExecutive(run_command_fn=lambda _: return_vals.pop( )) | 63 host.executive = MockExecutive(run_command_fn=lambda _: return_vals.pop( )) |
| 64 host.filesystem = MockFileSystem() | 64 host.filesystem = MockFileSystem() |
| 65 local_wpt = LocalWPT(host, no_fetch=True) | 65 local_wpt = LocalWPT(host, no_fetch=True) |
| 66 | 66 |
| 67 wpt_sha, chromium_commit = local_wpt.most_recent_chromium_commit() | 67 wpt_sha, chromium_commit = local_wpt.most_recent_chromium_commit() |
| 68 self.assertEqual(wpt_sha, '9ea4fc353a4b1c11c6e524270b11baa4d1ddfde8') | 68 self.assertEqual(wpt_sha, '9ea4fc353a4b1c11c6e524270b11baa4d1ddfde8') |
| 69 self.assertEqual(chromium_commit.position, '123') | 69 self.assertEqual(chromium_commit.position, '123') |
| 70 self.assertEqual(chromium_commit.sha, 'deadbeefcafe') | 70 self.assertEqual(chromium_commit.sha, 'deadbeefcafe') |
| 71 | 71 |
| 72 def test_last_wpt_exported_commit_not_found(self): | 72 def test_last_wpt_exported_commit_not_found(self): |
| 73 host = MockHost() | 73 host = MockHost() |
| 74 host.executive = MockExecutive(run_command_fn=lambda _: None) | 74 host.executive = MockExecutive(run_command_fn=lambda _: '') |
| 75 host.filesystem = MockFileSystem() | 75 host.filesystem = MockFileSystem() |
| 76 local_wpt = LocalWPT(host) | 76 local_wpt = LocalWPT(host) |
| 77 | 77 |
| 78 commit = local_wpt.most_recent_chromium_commit() | 78 commit = local_wpt.most_recent_chromium_commit() |
| 79 self.assertEqual(commit, (None, None)) | 79 self.assertEqual(commit, (None, None)) |
| 80 | 80 |
| 81 def test_create_branch_with_patch(self): | 81 def test_create_branch_with_patch(self): |
| 82 host = MockHost() | 82 host = MockHost() |
| 83 host.filesystem = MockFileSystem() | 83 host.filesystem = MockFileSystem() |
| 84 | 84 |
| 85 local_wpt = LocalWPT(host) | 85 local_wpt = LocalWPT(host) |
| 86 | 86 |
| 87 local_branch_name = local_wpt.create_branch_with_patch('message', 'patch ', 'author') | 87 local_branch_name = local_wpt.create_branch_with_patch('message', 'patch ', 'author') |
| 88 self.assertEqual(len(host.executive.calls), 10) | 88 self.assertEqual(len(host.executive.calls), 12) |
|
qyearsley
2017/01/10 20:42:46
Note, asserting the length is redundant if you ass
jeffcarp
2017/01/10 22:11:58
Good catch
| |
| 89 self.assertEqual(local_branch_name, 'chromium-export-try') | 89 self.assertEqual(local_branch_name, 'chromium-export-try') |
| 90 self.assertEqual(host.executive.calls, [ | 90 self.assertEqual(host.executive.calls, [ |
| 91 ['git', 'clone', 'https://chromium.googlesource.com/external/w3c/web -platform-tests.git', '/tmp/wpt'], | 91 ['git', 'clone', 'https://chromium.googlesource.com/external/w3c/web -platform-tests.git', '/tmp/wpt'], |
| 92 ['git', 'remote'], | |
| 93 ['git', 'remote', 'add', 'github', 'git@github.com:w3c/web-platform- tests.git'], | |
| 92 ['git', 'reset', '--hard', 'HEAD'], | 94 ['git', 'reset', '--hard', 'HEAD'], |
| 93 ['git', 'clean', '-fdx'], | 95 ['git', 'clean', '-fdx'], |
| 94 ['git', 'checkout', 'origin/master'], | 96 ['git', 'checkout', 'origin/master'], |
| 95 ['git', 'branch', '-a'], | 97 ['git', 'branch', '-a'], |
| 96 ['git', 'branch', '-a'], | 98 ['git', 'branch', '-a'], |
| 97 ['git', 'checkout', '-b', 'chromium-export-try'], | 99 ['git', 'checkout', '-b', 'chromium-export-try'], |
| 98 ['git', 'apply', '-'], | 100 ['git', 'apply', '-'], |
| 99 ['git', 'commit', '--author', 'author', '-am', 'message'], | 101 ['git', 'commit', '--author', 'author', '-am', 'message'], |
| 100 ['git', 'push', 'github', 'chromium-export-try']]) | 102 ['git', 'push', 'github', 'chromium-export-try']]) |
| OLD | NEW |