| Index: tests/gclient_scm_test.py
|
| diff --git a/tests/gclient_scm_test.py b/tests/gclient_scm_test.py
|
| index 6d5e380c0f9e2d18d9e64ff0255771611b2c3777..cb765b9164b449a6b57f70a609b7a3d74d25b181 100755
|
| --- a/tests/gclient_scm_test.py
|
| +++ b/tests/gclient_scm_test.py
|
| @@ -65,12 +65,12 @@ class BaseTestCase(GCBaseTestCase, SuperMoxTestBase):
|
|
|
| class SVNWrapperTestCase(BaseTestCase):
|
| class OptionsObject(object):
|
| - def __init__(self, verbose=False, revision=None):
|
| + def __init__(self, verbose=False, revision=None, force=False):
|
| self.verbose = verbose
|
| self.revision = revision
|
| self.manually_grab_svn_rev = True
|
| self.deps_os = None
|
| - self.force = False
|
| + self.force = force
|
| self.reset = False
|
| self.nohooks = False
|
|
|
| @@ -132,6 +132,7 @@ class SVNWrapperTestCase(BaseTestCase):
|
| def testRevertMissing(self):
|
| options = self.Options(verbose=True)
|
| gclient_scm.os.path.isdir(self.base_path).AndReturn(False)
|
| + gclient_scm.os.path.exists(self.base_path).AndReturn(False)
|
| gclient_scm.scm.SVN.Capture(['--version']
|
| ).AndReturn('svn, version 1.5.1 (r32289)')
|
| # It'll to a checkout instead.
|
| @@ -153,9 +154,37 @@ class SVNWrapperTestCase(BaseTestCase):
|
| self.checkstdout(
|
| ('\n_____ %s is missing, synching instead\n' % self.relpath))
|
|
|
| + def testRevertNoDotSvn(self):
|
| + options = self.Options(verbose=True, force=True)
|
| + gclient_scm.os.path.isdir(self.base_path).AndReturn(True)
|
| + gclient_scm.os.path.isdir(join(self.base_path, '.svn')).AndReturn(False)
|
| + gclient_scm.os.path.isdir(join(self.base_path, '.git')).AndReturn(False)
|
| + gclient_scm.os.path.isdir(join(self.base_path, '.hg')).AndReturn(False)
|
| + # Checkout.
|
| + gclient_scm.os.path.exists(self.base_path).AndReturn(False)
|
| + gclient_scm.os.path.exists(join(self.base_path, '.git')).AndReturn(False)
|
| + gclient_scm.os.path.exists(join(self.base_path, '.hg')).AndReturn(False)
|
| + gclient_scm.os.path.exists(self.base_path).AndReturn(False)
|
| + files_list = self.mox.CreateMockAnything()
|
| + gclient_scm.scm.SVN.Capture(['--version']).AndReturn('svn, version 1.6')
|
| + gclient_scm.scm.SVN.RunAndGetFileList(
|
| + options.verbose,
|
| + ['checkout', self.url, self.base_path, '--force', '--ignore-externals'],
|
| + cwd=self.root_dir,
|
| + file_list=files_list)
|
| +
|
| + self.mox.ReplayAll()
|
| + scm = self._scm_wrapper(url=self.url, root_dir=self.root_dir,
|
| + relpath=self.relpath)
|
| + scm.revert(options, self.args, files_list)
|
| + self.checkstdout(
|
| + '\n_____ %s is not a valid svn checkout, synching instead\n' %
|
| + self.relpath)
|
| +
|
| def testRevertNone(self):
|
| options = self.Options(verbose=True)
|
| gclient_scm.os.path.isdir(self.base_path).AndReturn(True)
|
| + gclient_scm.os.path.isdir(join(self.base_path, '.svn')).AndReturn(True)
|
| gclient_scm.scm.SVN.CaptureStatus(self.base_path).AndReturn([])
|
| gclient_scm.scm.SVN.RunAndGetFileList(
|
| options.verbose,
|
| @@ -172,6 +201,7 @@ class SVNWrapperTestCase(BaseTestCase):
|
| def testRevertDirectory(self):
|
| options = self.Options(verbose=True)
|
| gclient_scm.os.path.isdir(self.base_path).AndReturn(True)
|
| + gclient_scm.os.path.isdir(join(self.base_path, '.svn')).AndReturn(True)
|
| items = [
|
| ('~ ', 'a'),
|
| ]
|
|
|