| Index: tests/gclient_scm_test.py
|
| ===================================================================
|
| --- tests/gclient_scm_test.py (revision 44440)
|
| +++ tests/gclient_scm_test.py (working copy)
|
| @@ -274,8 +274,17 @@
|
| 'URL': self.url,
|
| 'Revision': 42,
|
| }
|
| +
|
| + # Checks to make sure that we support svn co --depth.
|
| + gclient_scm.scm.SVN.current_version = None
|
| + gclient_scm.scm.SVN.Capture(['--version']
|
| + ).AndReturn('svn, version 1.5.1 (r32289)')
|
| + gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.svn')
|
| + ).AndReturn(False)
|
| + gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, 'DEPS')
|
| + ).AndReturn(False)
|
| +
|
| # When checking out a single file, we issue an svn checkout and svn update.
|
| - gclient_scm.os.path.exists(base_path).AndReturn(False)
|
| files_list = self.mox.CreateMockAnything()
|
| gclient_scm.scm.SVN.Run(
|
| ['checkout', '--depth', 'empty', self.url, base_path], self.root_dir)
|
| @@ -284,7 +293,7 @@
|
|
|
| # Now we fall back on scm.update().
|
| gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.git')
|
| - ).AndReturn(False)
|
| + ).AndReturn(False)
|
| gclient_scm.os.path.exists(base_path).AndReturn(True)
|
| gclient_scm.scm.SVN.CaptureInfo(
|
| gclient_scm.os.path.join(base_path, "."), '.'
|
| @@ -297,15 +306,88 @@
|
| relpath=self.relpath)
|
| scm.updatesingle(options, ['DEPS'], files_list)
|
|
|
| - def testUpdateSingleUpdate(self):
|
| + def testUpdateSingleCheckoutSVN14(self):
|
| options = self.Options(verbose=True)
|
| base_path = gclient_scm.os.path.join(self.root_dir, self.relpath)
|
| file_info = {
|
| 'URL': self.url,
|
| 'Revision': 42,
|
| }
|
| +
|
| + # Checks to make sure that we support svn co --depth.
|
| + gclient_scm.scm.SVN.current_version = None
|
| + gclient_scm.scm.SVN.Capture(['--version']
|
| + ).AndReturn('svn, version 1.4.4 (r25188)')
|
| + gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path)
|
| + ).AndReturn(True)
|
| +
|
| + # When checking out a single file with svn 1.4, we use svn export
|
| + files_list = self.mox.CreateMockAnything()
|
| + gclient_scm.scm.SVN.Run(
|
| + ['export', gclient_scm.os.path.join(self.url, 'DEPS'),
|
| + gclient_scm.os.path.join(base_path, 'DEPS')], self.root_dir)
|
| +
|
| + self.mox.ReplayAll()
|
| + scm = self._scm_wrapper(url=self.url, root_dir=self.root_dir,
|
| + relpath=self.relpath)
|
| + scm.updatesingle(options, ['DEPS'], files_list)
|
| +
|
| + def testUpdateSingleCheckoutSVNUpgrade(self):
|
| + options = self.Options(verbose=True)
|
| + base_path = gclient_scm.os.path.join(self.root_dir, self.relpath)
|
| + file_info = {
|
| + 'URL': self.url,
|
| + 'Revision': 42,
|
| + }
|
| +
|
| + # Checks to make sure that we support svn co --depth.
|
| + gclient_scm.scm.SVN.current_version = None
|
| + gclient_scm.scm.SVN.Capture(['--version']
|
| + ).AndReturn('svn, version 1.5.1 (r32289)')
|
| + gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.svn')
|
| + ).AndReturn(False)
|
| + # If DEPS already exists, assume we're upgrading from svn1.4, so delete
|
| + # the old DEPS file.
|
| + gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, 'DEPS')
|
| + ).AndReturn(True)
|
| + gclient_scm.os.remove(gclient_scm.os.path.join(base_path, 'DEPS'))
|
| +
|
| + # When checking out a single file, we issue an svn checkout and svn update.
|
| + files_list = self.mox.CreateMockAnything()
|
| + gclient_scm.scm.SVN.Run(
|
| + ['checkout', '--depth', 'empty', self.url, base_path], self.root_dir)
|
| + gclient_scm.scm.SVN.RunAndGetFileList(options, ['update', 'DEPS'],
|
| + gclient_scm.os.path.join(self.root_dir, self.relpath), files_list)
|
| +
|
| + # Now we fall back on scm.update().
|
| + gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.git')
|
| + ).AndReturn(False)
|
| gclient_scm.os.path.exists(base_path).AndReturn(True)
|
| + gclient_scm.scm.SVN.CaptureInfo(
|
| + gclient_scm.os.path.join(base_path, "."), '.'
|
| + ).AndReturn(file_info)
|
| + gclient_scm.scm.SVN.CaptureInfo(file_info['URL'], '.').AndReturn(file_info)
|
| + print("\n_____ %s at 42" % self.relpath)
|
|
|
| + self.mox.ReplayAll()
|
| + scm = self._scm_wrapper(url=self.url, root_dir=self.root_dir,
|
| + relpath=self.relpath)
|
| + scm.updatesingle(options, ['DEPS'], files_list)
|
| +
|
| + def testUpdateSingleUpdate(self):
|
| + options = self.Options(verbose=True)
|
| + base_path = gclient_scm.os.path.join(self.root_dir, self.relpath)
|
| + file_info = {
|
| + 'URL': self.url,
|
| + 'Revision': 42,
|
| + }
|
| + # Checks to make sure that we support svn co --depth.
|
| + gclient_scm.scm.SVN.current_version = None
|
| + gclient_scm.scm.SVN.Capture(['--version']
|
| + ).AndReturn('svn, version 1.5.1 (r32289)')
|
| + gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.svn')
|
| + ).AndReturn(True)
|
| +
|
| # Now we fall back on scm.update().
|
| files_list = self.mox.CreateMockAnything()
|
| gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.git')
|
|
|