| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright 2015 the V8 project authors. All rights reserved. | 2 # Copyright 2015 the V8 project authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 import mergeinfo | 6 import mergeinfo |
| 7 import shutil | 7 import shutil |
| 8 import unittest | 8 import unittest |
| 9 | 9 |
| 10 from collections import namedtuple | 10 from collections import namedtuple |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 | 23 |
| 24 fullCommand = ["git", "-C", self.base_dir] + git_args | 24 fullCommand = ["git", "-C", self.base_dir] + git_args |
| 25 p = Popen(args=fullCommand, stdin=PIPE, | 25 p = Popen(args=fullCommand, stdin=PIPE, |
| 26 stdout=PIPE, stderr=PIPE) | 26 stdout=PIPE, stderr=PIPE) |
| 27 output, err = p.communicate() | 27 output, err = p.communicate() |
| 28 rc = p.returncode | 28 rc = p.returncode |
| 29 if rc != 0: | 29 if rc != 0: |
| 30 raise Exception(err) | 30 raise Exception(err) |
| 31 return output | 31 return output |
| 32 | 32 |
| 33 def _update_origin(self): |
| 34 # Fetch from origin to get/update the origin/master branch |
| 35 self._execute_git(['fetch', 'origin']) |
| 36 |
| 33 def setUp(self): | 37 def setUp(self): |
| 34 if path.exists(self.base_dir): | 38 if path.exists(self.base_dir): |
| 35 shutil.rmtree(self.base_dir) | 39 shutil.rmtree(self.base_dir) |
| 36 | 40 |
| 37 check_call(["git", "init", self.base_dir]) | 41 check_call(["git", "init", self.base_dir]) |
| 38 | 42 |
| 43 # Add fake remote with name 'origin' |
| 44 self._execute_git(['remote', 'add', 'origin', self.base_dir]) |
| 45 |
| 39 # Initial commit | 46 # Initial commit |
| 40 message = '''Initial commit''' | 47 message = '''Initial commit''' |
| 41 | 48 |
| 42 self._make_empty_commit(message) | 49 self._make_empty_commit(message) |
| 43 | 50 |
| 44 def tearDown(self): | 51 def tearDown(self): |
| 45 if path.exists(self.base_dir): | 52 if path.exists(self.base_dir): |
| 46 shutil.rmtree(self.base_dir) | 53 shutil.rmtree(self.base_dir) |
| 47 | 54 |
| 48 def _assert_correct_standard_result( | 55 def _assert_correct_standard_result( |
| (...skipping 12 matching lines...) Expand all Loading... |
| 61 result[hash_of_first_commit][0], | 68 result[hash_of_first_commit][0], |
| 62 "Child commit wrong") | 69 "Child commit wrong") |
| 63 | 70 |
| 64 def _get_commits(self): | 71 def _get_commits(self): |
| 65 commits = self._execute_git( | 72 commits = self._execute_git( |
| 66 ["log", "--format=%H", "--reverse"]).splitlines() | 73 ["log", "--format=%H", "--reverse"]).splitlines() |
| 67 return commits | 74 return commits |
| 68 | 75 |
| 69 def _make_empty_commit(self, message): | 76 def _make_empty_commit(self, message): |
| 70 self._execute_git(["commit", "--allow-empty", "-m", message]) | 77 self._execute_git(["commit", "--allow-empty", "-m", message]) |
| 78 self._update_origin() |
| 71 return self._get_commits()[-1] | 79 return self._get_commits()[-1] |
| 72 | 80 |
| 73 def testCanDescribeCommit(self): | 81 def testCanDescribeCommit(self): |
| 74 commits = self._get_commits() | 82 commits = self._get_commits() |
| 75 hash_of_first_commit = commits[0] | 83 hash_of_first_commit = commits[0] |
| 76 | 84 |
| 77 result = mergeinfo.describe_commit( | 85 result = mergeinfo.describe_commit( |
| 78 self.base_dir, | 86 self.base_dir, |
| 79 hash_of_first_commit).splitlines() | 87 hash_of_first_commit).splitlines() |
| 80 | 88 |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 171 self.base_dir, hash_of_first_commit), 'No Canary coverage') | 179 self.base_dir, hash_of_first_commit), 'No Canary coverage') |
| 172 | 180 |
| 173 self._execute_git(['branch', 'remotes/origin/chromium/2345']) | 181 self._execute_git(['branch', 'remotes/origin/chromium/2345']) |
| 174 self._execute_git(['branch', 'remotes/origin/chromium/2346']) | 182 self._execute_git(['branch', 'remotes/origin/chromium/2346']) |
| 175 | 183 |
| 176 self.assertEqual(mergeinfo.get_first_canary( | 184 self.assertEqual(mergeinfo.get_first_canary( |
| 177 self.base_dir, hash_of_first_commit), '2345') | 185 self.base_dir, hash_of_first_commit), '2345') |
| 178 | 186 |
| 179 if __name__ == "__main__": | 187 if __name__ == "__main__": |
| 180 unittest.main() | 188 unittest.main() |
| OLD | NEW |