OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # Copyright (c) 2009 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2009 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 gcl.py.""" | 6 """Unit tests for gcl.py.""" |
7 | 7 |
8 # Local imports | 8 # Local imports |
9 import gcl | 9 import gcl |
10 from super_mox import mox, SuperMoxTestBase | 10 from super_mox import mox, SuperMoxTestBase |
11 | 11 |
12 | 12 |
13 class GclTestsBase(SuperMoxTestBase): | 13 class GclTestsBase(SuperMoxTestBase): |
14 """Setups and tear downs the mocks but doesn't test anything as-is.""" | 14 """Setups and tear downs the mocks but doesn't test anything as-is.""" |
15 def setUp(self): | 15 def setUp(self): |
16 SuperMoxTestBase.setUp(self) | 16 SuperMoxTestBase.setUp(self) |
17 self.fake_root_dir = self.RootDir() | 17 self.fake_root_dir = self.RootDir() |
18 self.mox.StubOutWithMock(gcl, 'RunShell') | 18 self.mox.StubOutWithMock(gcl, 'RunShell') |
19 self.mox.StubOutWithMock(gcl.SVN, 'CaptureInfo') | 19 self.mox.StubOutWithMock(gcl.SVN, 'CaptureInfo') |
20 self.mox.StubOutWithMock(gcl, 'tempfile') | 20 self.mox.StubOutWithMock(gcl, 'tempfile') |
21 self.mox.StubOutWithMock(gcl.upload, 'RealMain') | 21 self.mox.StubOutWithMock(gcl.upload, 'RealMain') |
22 # These are not tested. | |
23 self.mox.StubOutWithMock(gcl, 'ReadFile') | 22 self.mox.StubOutWithMock(gcl, 'ReadFile') |
24 self.mox.StubOutWithMock(gcl, 'WriteFile') | 23 self.mox.StubOutWithMock(gcl.gclient_utils, 'FileWrite') |
25 | 24 |
26 | 25 |
27 class GclUnittest(GclTestsBase): | 26 class GclUnittest(GclTestsBase): |
28 """General gcl.py tests.""" | 27 """General gcl.py tests.""" |
29 def testMembersChanged(self): | 28 def testMembersChanged(self): |
30 self.mox.ReplayAll() | 29 self.mox.ReplayAll() |
31 members = [ | 30 members = [ |
32 'CODEREVIEW_SETTINGS', 'CODEREVIEW_SETTINGS_FILE', 'Change', | 31 'CODEREVIEW_SETTINGS', 'CODEREVIEW_SETTINGS_FILE', 'Change', |
33 'ChangeInfo', 'Changes', 'Commit', 'DEFAULT_LINT_IGNORE_REGEX', | 32 'ChangeInfo', 'Changes', 'Commit', 'DEFAULT_LINT_IGNORE_REGEX', |
34 'DEFAULT_LINT_REGEX', 'DeleteEmptyChangeLists', 'DoPresubmitChecks', | 33 'DEFAULT_LINT_REGEX', 'DeleteEmptyChangeLists', 'DoPresubmitChecks', |
35 'ErrorExit', 'FILES_CACHE', 'FilterFlag', 'GenerateChangeName', | 34 'ErrorExit', 'FILES_CACHE', 'FilterFlag', 'GenerateChangeName', |
36 'GenerateDiff', 'GetCLs', 'GetCacheDir', 'GetCachedFile', | 35 'GenerateDiff', 'GetCLs', 'GetCacheDir', 'GetCachedFile', |
37 'GetChangelistInfoFile', 'GetChangesDir', 'GetCodeReviewSetting', | 36 'GetChangelistInfoFile', 'GetChangesDir', 'GetCodeReviewSetting', |
38 'GetEditor', 'GetFilesNotInCL', 'GetInfoDir', 'GetIssueDescription', | 37 'GetEditor', 'GetFilesNotInCL', 'GetInfoDir', 'GetIssueDescription', |
39 'GetModifiedFiles', 'GetRepositoryRoot', 'Help', 'Lint', | 38 'GetModifiedFiles', 'GetRepositoryRoot', 'Help', 'Lint', |
40 'LoadChangelistInfoForMultiple', 'MISSING_TEST_MSG', 'Opened', | 39 'LoadChangelistInfoForMultiple', 'MISSING_TEST_MSG', 'Opened', |
41 'OptionallyDoPresubmitChecks', 'PresubmitCL', 'REPOSITORY_ROOT', | 40 'OptionallyDoPresubmitChecks', 'PresubmitCL', 'REPOSITORY_ROOT', |
42 'ReadFile', 'RunShell', 'RunShellWithReturnCode', 'SVN', | 41 'ReadFile', 'RunShell', 'RunShellWithReturnCode', 'SVN', |
43 'SendToRietveld', 'TryChange', 'UnknownFiles', 'UploadCL', 'Warn', | 42 'SendToRietveld', 'TryChange', 'UnknownFiles', 'UploadCL', 'Warn', |
44 'WriteFile', | |
45 'breakpad', 'gclient_utils', 'getpass', 'main', 'os', 'random', 're', | 43 'breakpad', 'gclient_utils', 'getpass', 'main', 'os', 'random', 're', |
46 'shutil', 'string', 'subprocess', 'sys', 'tempfile', 'upload', | 44 'shutil', 'string', 'subprocess', 'sys', 'tempfile', 'upload', |
47 'urllib2', | 45 'urllib2', |
48 ] | 46 ] |
49 # If this test fails, you should add the relevant test. | 47 # If this test fails, you should add the relevant test. |
50 self.compareMembers(gcl, members) | 48 self.compareMembers(gcl, members) |
51 | 49 |
52 def testIsSVNMoved(self): | 50 def testIsSVNMoved(self): |
53 # TODO(maruel): TEST ME | 51 # TODO(maruel): TEST ME |
54 pass | 52 pass |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 | 206 |
209 change_info = gcl.ChangeInfo.Load('bleh', self.fake_root_dir, True, False) | 207 change_info = gcl.ChangeInfo.Load('bleh', self.fake_root_dir, True, False) |
210 self.assertEquals(change_info.name, 'bleh') | 208 self.assertEquals(change_info.name, 'bleh') |
211 self.assertEquals(change_info.issue, 0) | 209 self.assertEquals(change_info.issue, 0) |
212 self.assertEquals(change_info.patchset, 0) | 210 self.assertEquals(change_info.patchset, 0) |
213 self.assertEquals(change_info.description, "") | 211 self.assertEquals(change_info.description, "") |
214 self.assertEquals(change_info.GetFiles(), []) | 212 self.assertEquals(change_info.GetFiles(), []) |
215 | 213 |
216 def testSaveEmpty(self): | 214 def testSaveEmpty(self): |
217 gcl.GetChangelistInfoFile('').AndReturn('foo') | 215 gcl.GetChangelistInfoFile('').AndReturn('foo') |
218 gcl.WriteFile('foo', gcl.ChangeInfo._SEPARATOR.join(['0, 0, clean', '', | 216 gcl.gclient_utils.FileWrite( |
219 ''])) | 217 'foo', |
| 218 gcl.ChangeInfo._SEPARATOR.join(['0, 0, clean', '', ''])) |
220 self.mox.ReplayAll() | 219 self.mox.ReplayAll() |
221 | 220 |
222 change_info = gcl.ChangeInfo('', 0, 0, '', None, self.fake_root_dir) | 221 change_info = gcl.ChangeInfo('', 0, 0, '', None, self.fake_root_dir) |
223 change_info.Save() | 222 change_info.Save() |
224 | 223 |
225 def testSaveDirty(self): | 224 def testSaveDirty(self): |
226 gcl.GetChangelistInfoFile('').AndReturn('foo') | 225 gcl.GetChangelistInfoFile('').AndReturn('foo') |
227 gcl.WriteFile('foo', gcl.ChangeInfo._SEPARATOR.join(['0, 0, dirty', '', | 226 gcl.gclient_utils.FileWrite( |
228 ''])) | 227 'foo', |
| 228 gcl.ChangeInfo._SEPARATOR.join(['0, 0, dirty', '', ''])) |
229 self.mox.ReplayAll() | 229 self.mox.ReplayAll() |
230 | 230 |
231 change_info = gcl.ChangeInfo('', 0, 0, '', None, self.fake_root_dir, | 231 change_info = gcl.ChangeInfo('', 0, 0, '', None, self.fake_root_dir, |
232 needs_upload=True) | 232 needs_upload=True) |
233 change_info.Save() | 233 change_info.Save() |
234 | 234 |
235 | 235 |
236 class UploadCLUnittest(GclTestsBase): | 236 class UploadCLUnittest(GclTestsBase): |
237 def setUp(self): | 237 def setUp(self): |
238 GclTestsBase.setUp(self) | 238 GclTestsBase.setUp(self) |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
352 self.mox.ReplayAll() | 352 self.mox.ReplayAll() |
353 | 353 |
354 gcl.UploadCL(change_info, args) | 354 gcl.UploadCL(change_info, args) |
355 self.assertEquals(change_info.issue, 1) | 355 self.assertEquals(change_info.issue, 1) |
356 self.assertEquals(change_info.patchset, 2) | 356 self.assertEquals(change_info.patchset, 2) |
357 | 357 |
358 | 358 |
359 if __name__ == '__main__': | 359 if __name__ == '__main__': |
360 import unittest | 360 import unittest |
361 unittest.main() | 361 unittest.main() |
OLD | NEW |