Index: tests/presubmit_unittest.py |
diff --git a/tests/presubmit_unittest.py b/tests/presubmit_unittest.py |
index 65984ec9c05602d7cddca9bbe5caa6edabbb9c5f..8b6a68c9eabcb83d5ffa0b68832627378b1c2cf2 100755 |
--- a/tests/presubmit_unittest.py |
+++ b/tests/presubmit_unittest.py |
@@ -6,7 +6,7 @@ |
"""Unit tests for presubmit_support.py and presubmit_canned_checks.py.""" |
# pylint is too confused. |
-# pylint: disable=E1101,E1103,W0212,W0403 |
+# pylint: disable=E1101,E1103,R0201,W0212,W0403 |
import StringIO |
import sys |
@@ -1246,6 +1246,10 @@ class CannedChecksUnittest(PresubmitTestsBase): |
input_api.urllib2 = self.mox.CreateMock(presubmit.urllib2) |
input_api.unittest = unittest |
input_api.subprocess = self.mox.CreateMock(presubmit.subprocess) |
+ class fake_CalledProcessError(Exception): |
+ def __str__(self): |
+ return 'foo' |
+ input_api.subprocess.CalledProcessError = fake_CalledProcessError |
input_api.change = change |
input_api.host_url = 'http://localhost' |
@@ -1731,14 +1735,10 @@ class CannedChecksUnittest(PresubmitTestsBase): |
def testRunPythonUnitTestsNonExistentUpload(self): |
input_api = self.MockInputApi(None, False) |
- process = self.mox.CreateMockAnything() |
- process.returncode = 2 |
- input_api.subprocess.Popen( |
- ['pyyyyython', '-m', '_non_existent_module'], cwd=None, env=None, |
- stderr=presubmit.subprocess.PIPE, stdin=presubmit.subprocess.PIPE, |
- stdout=presubmit.subprocess.PIPE).AndReturn(process) |
- process.communicate().AndReturn( |
- ('', 'pyyython: module _non_existent_module not found')) |
+ input_api.subprocess.check_output( |
+ ['pyyyyython', '-m', '_non_existent_module'], cwd=None, env=None |
+ ).AndRaise( |
+ input_api.subprocess.CalledProcessError()) |
self.mox.ReplayAll() |
results = presubmit_canned_checks.RunPythonUnitTests( |
@@ -1749,15 +1749,12 @@ class CannedChecksUnittest(PresubmitTestsBase): |
def testRunPythonUnitTestsNonExistentCommitting(self): |
input_api = self.MockInputApi(None, True) |
- process = self.mox.CreateMockAnything() |
- process.returncode = 2 |
- input_api.subprocess.Popen( |
- ['pyyyyython', '-m', '_non_existent_module'], cwd=None, env=None, |
- stderr=presubmit.subprocess.PIPE, stdin=presubmit.subprocess.PIPE, |
- stdout=presubmit.subprocess.PIPE).AndReturn(process) |
- process.communicate().AndReturn( |
- ('', 'pyyython: module _non_existent_module not found')) |
+ input_api.subprocess.check_output( |
+ ['pyyyyython', '-m', '_non_existent_module'], cwd=None, env=None |
+ ).AndRaise( |
+ input_api.subprocess.CalledProcessError()) |
self.mox.ReplayAll() |
+ |
results = presubmit_canned_checks.RunPythonUnitTests( |
input_api, presubmit.OutputApi, ['_non_existent_module']) |
self.assertEquals(len(results), 1) |
@@ -1767,13 +1764,9 @@ class CannedChecksUnittest(PresubmitTestsBase): |
input_api = self.MockInputApi(None, False) |
input_api.unittest = self.mox.CreateMock(unittest) |
input_api.cStringIO = self.mox.CreateMock(presubmit.cStringIO) |
- process = self.mox.CreateMockAnything() |
- process.returncode = -1 |
- input_api.subprocess.Popen( |
- ['pyyyyython', '-m', 'test_module'], cwd=None, env=None, |
- stderr=presubmit.subprocess.PIPE, stdin=presubmit.subprocess.PIPE, |
- stdout=presubmit.subprocess.PIPE).AndReturn(process) |
- process.communicate().AndReturn(('BOO HOO!', '')) |
+ input_api.subprocess.check_output( |
+ ['pyyyyython', '-m', 'test_module'], cwd=None, env=None).AndRaise( |
+ input_api.subprocess.CalledProcessError()) |
self.mox.ReplayAll() |
results = presubmit_canned_checks.RunPythonUnitTests( |
@@ -1781,38 +1774,27 @@ class CannedChecksUnittest(PresubmitTestsBase): |
self.assertEquals(len(results), 1) |
self.assertEquals(results[0].__class__, |
presubmit.OutputApi.PresubmitNotifyResult) |
- self.assertEquals(results[0]._long_text, |
- "Test 'test_module' failed with code -1\nBOO HOO!") |
+ self.assertEquals('test_module failed!\nfoo', results[0]._message) |
def testRunPythonUnitTestsFailureCommitting(self): |
input_api = self.MockInputApi(None, True) |
- process = self.mox.CreateMockAnything() |
- process.returncode = 1 |
- input_api.subprocess.Popen( |
- ['pyyyyython', '-m', 'test_module'], cwd=None, env=None, |
- stderr=presubmit.subprocess.PIPE, stdin=presubmit.subprocess.PIPE, |
- stdout=presubmit.subprocess.PIPE).AndReturn(process) |
- process.communicate().AndReturn(('BOO HOO!', '')) |
+ input_api.subprocess.check_output( |
+ ['pyyyyython', '-m', 'test_module'], cwd=None, env=None).AndRaise( |
+ input_api.subprocess.CalledProcessError()) |
self.mox.ReplayAll() |
results = presubmit_canned_checks.RunPythonUnitTests( |
input_api, presubmit.OutputApi, ['test_module']) |
self.assertEquals(len(results), 1) |
self.assertEquals(results[0].__class__, presubmit.OutputApi.PresubmitError) |
- self.assertEquals(results[0]._long_text, |
- "Test 'test_module' failed with code 1\nBOO HOO!") |
+ self.assertEquals('test_module failed!\nfoo', results[0]._message) |
def testRunPythonUnitTestsSuccess(self): |
input_api = self.MockInputApi(None, False) |
input_api.cStringIO = self.mox.CreateMock(presubmit.cStringIO) |
input_api.unittest = self.mox.CreateMock(unittest) |
- process = self.mox.CreateMockAnything() |
- process.returncode = 0 |
- input_api.subprocess.Popen( |
- ['pyyyyython', '-m', 'test_module'], cwd=None, env=None, |
- stderr=presubmit.subprocess.PIPE, stdin=presubmit.subprocess.PIPE, |
- stdout=presubmit.subprocess.PIPE).AndReturn(process) |
- process.communicate().AndReturn(('', '')) |
+ input_api.subprocess.check_output( |
+ ['pyyyyython', '-m', 'test_module'], cwd=None, env=None) |
self.mox.ReplayAll() |
results = presubmit_canned_checks.RunPythonUnitTests( |
@@ -2022,16 +2004,11 @@ mac|success|blew |
unit_tests = ['allo', 'bar.py'] |
input_api.PresubmitLocalPath().AndReturn(self.fake_root_dir) |
input_api.PresubmitLocalPath().AndReturn(self.fake_root_dir) |
- proc1 = self.mox.CreateMockAnything() |
- input_api.subprocess.Popen(['allo'], cwd=self.fake_root_dir, |
- stderr=None, stdout=None).AndReturn(proc1) |
- proc1.returncode = 0 |
- proc1.communicate().AndReturn(['baz', None]) |
- proc2 = self.mox.CreateMockAnything() |
- input_api.subprocess.Popen(['bar.py'], cwd=self.fake_root_dir, |
- stderr=None, stdout=None).AndReturn(proc2) |
- proc2.returncode = 1 |
- proc2.communicate().AndReturn(['bouz', None]) |
+ input_api.subprocess.check_call( |
+ ['allo'], cwd=self.fake_root_dir) |
+ input_api.subprocess.check_call( |
+ ['bar.py'], cwd=self.fake_root_dir).AndRaise( |
+ input_api.subprocess.CalledProcessError()) |
self.mox.ReplayAll() |
results = presubmit_canned_checks.RunUnitTests( |
@@ -2053,11 +2030,8 @@ mac|success|blew |
path = presubmit.os.path.join(self.fake_root_dir, 'random_directory') |
input_api.os_listdir(path).AndReturn(['.', '..', 'a', 'b', 'c']) |
input_api.os_path.isfile = lambda x: not x.endswith('.') |
- proc1 = self.mox.CreateMockAnything() |
- input_api.subprocess.Popen(['random_directory/b'], cwd=self.fake_root_dir, |
- stderr=None, stdout=None).AndReturn(proc1) |
- proc1.returncode = 0 |
- proc1.communicate().AndReturn(['baz', None]) |
+ input_api.subprocess.check_call( |
+ ['random_directory/b'], cwd=self.fake_root_dir) |
self.mox.ReplayAll() |
results = presubmit_canned_checks.RunUnitTestsInDirectory( |