Check binary existence in gclient: 2nd try.
The first approach crrev.com/132446 was reverted due to
Windows build breaks. This approach is more robust because
it actually tests the binary by running the command actually.
BUG=114483
TEST=succeeded on Linux
Review URL: http://codereview.chromium.org/10103024
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@132783 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/tests/gclient_scm_test.py b/tests/gclient_scm_test.py
index 94ab420..ebe5e45 100755
--- a/tests/gclient_scm_test.py
+++ b/tests/gclient_scm_test.py
@@ -64,11 +64,17 @@
self.mox.StubOutWithMock(subprocess2, 'Popen')
self._scm_wrapper = gclient_scm.CreateSCM
gclient_scm.scm.SVN.current_version = None
+ self._original_SVNBinaryExists = gclient_scm.SVNWrapper.BinaryExists
+ self._original_GitBinaryExists = gclient_scm.GitWrapper.BinaryExists
+ gclient_scm.SVNWrapper.BinaryExists = staticmethod(lambda : True)
+ gclient_scm.GitWrapper.BinaryExists = staticmethod(lambda : True)
# Absolute path of the fake checkout directory.
self.base_path = join(self.root_dir, self.relpath)
def tearDown(self):
SuperMoxTestBase.tearDown(self)
+ gclient_scm.SVNWrapper.BinaryExists = self._original_SVNBinaryExists
+ gclient_scm.GitWrapper.BinaryExists = self._original_GitBinaryExists
class SVNWrapperTestCase(BaseTestCase):
@@ -94,6 +100,7 @@
def testDir(self):
members = [
+ 'BinaryExists',
'FullUrlForRelativeUrl',
'GetRevisionDate',
'GetUsableRev',
@@ -750,16 +757,23 @@
self.base_path = join(self.root_dir, self.relpath)
self.enabled = self.CreateGitRepo(self.sample_git_import, self.base_path)
StdoutCheck.setUp(self)
+ self._original_GitBinaryExists = gclient_scm.GitWrapper.BinaryExists
+ self._original_SVNBinaryExists = gclient_scm.SVNWrapper.BinaryExists
+ gclient_scm.GitWrapper.BinaryExists = staticmethod(lambda : True)
+ gclient_scm.SVNWrapper.BinaryExists = staticmethod(lambda : True)
def tearDown(self):
StdoutCheck.tearDown(self)
TestCaseUtils.tearDown(self)
unittest.TestCase.tearDown(self)
rmtree(self.root_dir)
+ gclient_scm.GitWrapper.BinaryExists = self._original_GitBinaryExists
+ gclient_scm.SVNWrapper.BinaryExists = self._original_SVNBinaryExists
class ManagedGitWrapperTestCase(BaseGitWrapperTestCase):
def testDir(self):
members = [
+ 'BinaryExists',
'FullUrlForRelativeUrl',
'GetRevisionDate',
'GetUsableRev',