Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(424)

Unified Diff: tests/presubmit_unittest.py

Issue 392006: Cleanup the unit tests by mocking more system functions. (Closed)
Patch Set: Created 11 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tests/gclient_test.py ('k') | tests/revert_unittest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/presubmit_unittest.py
diff --git a/tests/presubmit_unittest.py b/tests/presubmit_unittest.py
index 132f6aee0ceac3dbc2a6eec41607a96ebcf355be..3149c9738d19cd4881677218f778cd79f43d27b4 100755
--- a/tests/presubmit_unittest.py
+++ b/tests/presubmit_unittest.py
@@ -5,19 +5,15 @@
"""Unit tests for presubmit_support.py and presubmit_canned_checks.py."""
-import exceptions
-import os
import StringIO
-import unittest
# Local imports
import presubmit_support as presubmit
import presubmit_canned_checks
-import super_mox
-from super_mox import mox
+from super_mox import mox, SuperMoxTestBase
-class PresubmitTestsBase(super_mox.SuperMoxTestBase):
+class PresubmitTestsBase(SuperMoxTestBase):
"""Setups and tear downs the mocks but doesn't test anything as-is."""
presubmit_text = """
def CheckChangeOnUpload(input_api, output_api):
@@ -37,33 +33,17 @@ def GetPreferredTrySlaves():
"""
def setUp(self):
- super_mox.SuperMoxTestBase.setUp(self)
- self.mox.StubOutWithMock(presubmit, 'warnings')
- # Stub out 'os' but keep os.path.commonprefix/dirname/join/normpath/splitext
- # and os.sep.
- os_sep = presubmit.os.sep
- os_path_commonprefix = presubmit.os.path.commonprefix
- os_path_dirname = presubmit.os.path.dirname
- os_path_join = presubmit.os.path.join
- os_path_normpath = presubmit.os.path.normpath
- os_path_splitext = presubmit.os.path.splitext
- self.mox.StubOutWithMock(presubmit, 'os')
- self.mox.StubOutWithMock(presubmit.os, 'path')
- presubmit.os.sep = os_sep
- presubmit.os.path.join = os_path_join
- presubmit.os.path.dirname = os_path_dirname
- presubmit.os.path.normpath = os_path_normpath
- presubmit.os.path.splitext = os_path_splitext
+ SuperMoxTestBase.setUp(self)
self.mox.StubOutWithMock(presubmit, 'random')
- self.mox.StubOutWithMock(presubmit, 'sys')
+ self.mox.StubOutWithMock(presubmit, 'warnings')
presubmit._ASKED_FOR_FEEDBACK = False
- presubmit.os.path.commonprefix = os_path_commonprefix
self.fake_root_dir = self.RootDir()
# Special mocks.
def MockAbsPath(f):
return f
def MockChdir(f):
return None
+ # SuperMoxTestBase already mock these but simplify our life.
presubmit.os.path.abspath = MockAbsPath
presubmit.os.getcwd = self.RootDir
presubmit.os.chdir = MockChdir
@@ -281,13 +261,13 @@ class PresubmitUnittest(PresubmitTestsBase):
fake_presubmit
))
- self.assertRaises(exceptions.RuntimeError,
+ self.assertRaises(presubmit.exceptions.RuntimeError,
executer.ExecPresubmitScript,
'def CheckChangeOnCommit(input_api, output_api):\n'
' return "foo"',
fake_presubmit)
- self.assertRaises(exceptions.RuntimeError,
+ self.assertRaises(presubmit.exceptions.RuntimeError,
executer.ExecPresubmitScript,
'def CheckChangeOnCommit(input_api, output_api):\n'
' return ["foo"]',
@@ -424,7 +404,7 @@ def CheckChangeOnCommit(input_api, output_api):
def testDirectoryHandling(self):
files = [
['A', 'isdir'],
- ['A', os.path.join('isdir', 'blat.cc')],
+ ['A', presubmit.os.path.join('isdir', 'blat.cc')],
]
isdir = presubmit.os.path.join(self.fake_root_dir, 'isdir')
blat = presubmit.os.path.join(isdir, 'blat.cc')
@@ -501,7 +481,7 @@ def CheckChangeOnCommit(input_api, output_api):
not_list_result1 = "'foo'"
not_list_result2 = "('a', 'tuple')"
for result in starts_with_space_result, not_list_result1, not_list_result2:
- self.assertRaises(exceptions.RuntimeError,
+ self.assertRaises(presubmit.exceptions.RuntimeError,
executer.ExecPresubmitScript,
self.presubmit_tryslave % result)
@@ -544,6 +524,8 @@ def CheckChangeOnCommit(input_api, output_api):
output))
def testMain(self):
+ # OptParser calls presubmit.os.path.exists and is a pain when mocked.
+ self.UnMock(presubmit.os.path, 'exists')
self.mox.StubOutWithMock(presubmit, 'DoPresubmitChecks')
self.mox.StubOutWithMock(presubmit, 'ParseFiles')
presubmit.os.path.isdir(presubmit.os.path.join(self.fake_root_dir, '.git')
@@ -1477,4 +1459,5 @@ class CannedChecksUnittest(PresubmitTestsBase):
if __name__ == '__main__':
+ import unittest
unittest.main()
« no previous file with comments | « tests/gclient_test.py ('k') | tests/revert_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698