gclient: Add better error reporting when path is not a git repo.
Review URL: http://codereview.chromium.org/505007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@36172 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/tests/gclient_scm_test.py b/tests/gclient_scm_test.py
index 66c1f5e..61146b4 100755
--- a/tests/gclient_scm_test.py
+++ b/tests/gclient_scm_test.py
@@ -16,6 +16,7 @@
"""Unit tests for gclient_scm.py."""
+import os
import shutil
# Import it before super_mox to keep a valid reference.
from subprocess import Popen, PIPE, STDOUT
@@ -541,6 +542,22 @@
'\tSee man git-rebase for details.\n'
self.assertRaisesError(exception, scm.update, options, (), [])
+ def testUpdateNotGit(self):
+ if not self.enabled:
+ return
+ options = self.Options()
+ scm = gclient_scm.CreateSCM(url=self.url, root_dir=self.root_dir,
+ relpath=self.relpath)
+ git_path = gclient_scm.os.path.join(self.base_path, '.git')
+ os.rename(git_path, git_path + 'foo')
+ exception = \
+ '\n____ .\n' \
+ '\tPath is not a git repo. No .git dir.\n' \
+ '\tTo resolve:\n' \
+ '\t\trm -rf .\n' \
+ '\tAnd run gclient sync again\n'
+ self.assertRaisesError(exception, scm.update, options, (), [])
+
def testRevinfo(self):
if not self.enabled:
return