OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2011 The Chromium 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 """Unit tests for owners.py.""" | 6 """Unit tests for owners.py.""" |
7 | 7 |
8 import unittest | 8 import unittest |
9 | 9 |
10 import owners | 10 import owners |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 def test_covered_by__everyone(self): | 65 def test_covered_by__everyone(self): |
66 self.assert_covered_by(['DEPS'], [john]) | 66 self.assert_covered_by(['DEPS'], [john]) |
67 self.assert_covered_by(['DEPS'], [darin]) | 67 self.assert_covered_by(['DEPS'], [darin]) |
68 | 68 |
69 def test_covered_by__explicit(self): | 69 def test_covered_by__explicit(self): |
70 self.assert_covered_by(['content/content.gyp'], [john]) | 70 self.assert_covered_by(['content/content.gyp'], [john]) |
71 self.assert_covered_by(['chrome/gpu/OWNERS'], [ken]) | 71 self.assert_covered_by(['chrome/gpu/OWNERS'], [ken]) |
72 | 72 |
73 def test_covered_by__owners_propagates_down(self): | 73 def test_covered_by__owners_propagates_down(self): |
74 self.assert_covered_by(['chrome/gpu/OWNERS'], [ben]) | 74 self.assert_covered_by(['chrome/gpu/OWNERS'], [ben]) |
| 75 |
| 76 def test_covered_by__no_file_in_dir(self): |
75 self.assert_covered_by(['/chrome/renderer/gpu/gpu_channel_host.h'], [peter]) | 77 self.assert_covered_by(['/chrome/renderer/gpu/gpu_channel_host.h'], [peter]) |
76 | 78 |
77 def assert_not_covered_by(self, files, reviewers, unreviewed_files): | 79 def assert_not_covered_by(self, files, reviewers, unreviewed_files): |
78 db = self.db() | 80 db = self.db() |
79 self.assertEquals(db.files_not_covered_by(set(files), set(reviewers)), | 81 self.assertEquals(db.files_not_covered_by(set(files), set(reviewers)), |
80 set(unreviewed_files)) | 82 set(unreviewed_files)) |
81 | 83 |
82 def test_not_covered_by__need_at_least_one_reviewer(self): | 84 def test_not_covered_by__need_at_least_one_reviewer(self): |
83 self.assert_not_covered_by(['DEPS'], [], ['DEPS']) | 85 self.assert_not_covered_by(['DEPS'], [], ['DEPS']) |
84 | 86 |
(...skipping 22 matching lines...) Expand all Loading... |
107 def test_reviewers_for__set_noparent_works(self): | 109 def test_reviewers_for__set_noparent_works(self): |
108 self.assert_reviewers_for(['content/content.gyp'], [john, darin]) | 110 self.assert_reviewers_for(['content/content.gyp'], [john, darin]) |
109 | 111 |
110 def test_reviewers_for__wildcard_dir(self): | 112 def test_reviewers_for__wildcard_dir(self): |
111 self.assert_reviewers_for(['DEPS'], [owners.EVERYONE]) | 113 self.assert_reviewers_for(['DEPS'], [owners.EVERYONE]) |
112 | 114 |
113 def assert_syntax_error(self, owners_file_contents): | 115 def assert_syntax_error(self, owners_file_contents): |
114 db = self.db() | 116 db = self.db() |
115 self.files['/foo/OWNERS'] = owners_file_contents | 117 self.files['/foo/OWNERS'] = owners_file_contents |
116 self.files['/foo/DEPS'] = '' | 118 self.files['/foo/DEPS'] = '' |
117 self.assertRaises(owners.SyntaxErrorInOwnersFile, db.reviewers_for, | 119 try: |
118 ['/foo/DEPS']) | 120 db.reviewers_for(['/foo/DEPS']) |
| 121 self.fail() # pragma: no cover |
| 122 except owners.SyntaxErrorInOwnersFile, e: |
| 123 self.assertTrue(str(e).startswith('/foo/OWNERS:1')) |
119 | 124 |
120 def test_syntax_error__unknown_token(self): | 125 def test_syntax_error__unknown_token(self): |
121 self.assert_syntax_error('{}\n') | 126 self.assert_syntax_error('{}\n') |
122 | 127 |
123 def test_syntax_error__unknown_set(self): | 128 def test_syntax_error__unknown_set(self): |
124 self.assert_syntax_error('set myfatherisbillgates\n') | 129 self.assert_syntax_error('set myfatherisbillgates\n') |
125 | 130 |
126 def test_syntax_error__bad_email(self): | 131 def test_syntax_error__bad_email(self): |
127 self.assert_syntax_error('ben\n') | 132 self.assert_syntax_error('ben\n') |
128 | 133 |
129 | 134 |
130 if __name__ == '__main__': | 135 if __name__ == '__main__': |
131 unittest.main() | 136 unittest.main() |
OLD | NEW |