Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Side by Side Diff: tests/gclient_scm_test.py

Issue 3028053: Add code to automatically svn cleanup during svn update. (Closed)
Patch Set: Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gclient_scm.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2010 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Unit tests for gclient_scm.py.""" 6 """Unit tests for gclient_scm.py."""
7 7
8 # Import before super_mox to keep valid references. 8 # Import before super_mox to keep valid references.
9 from os import rename 9 from os import rename
10 from shutil import rmtree 10 from shutil import rmtree
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 options.force = True 248 options.force = True
249 options.nohooks = False 249 options.nohooks = False
250 file_info = { 250 file_info = {
251 'Repository Root': 'blah', 251 'Repository Root': 'blah',
252 'URL': self.url, 252 'URL': self.url,
253 'UUID': 'ABC', 253 'UUID': 'ABC',
254 'Revision': 42, 254 'Revision': 42,
255 } 255 }
256 gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.git') 256 gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.git')
257 ).AndReturn(False) 257 ).AndReturn(False)
258
259 # Verify no locked files.
260 gclient_scm.scm.SVN.CaptureStatus(gclient_scm.os.path.join(base_path, '.')
261 ).AndReturn([])
262
258 # Checkout or update. 263 # Checkout or update.
259 gclient_scm.os.path.exists(base_path).AndReturn(True) 264 gclient_scm.os.path.exists(base_path).AndReturn(True)
260 gclient_scm.scm.SVN.CaptureInfo( 265 gclient_scm.scm.SVN.CaptureInfo(
261 gclient_scm.os.path.join(base_path, "."), '.' 266 gclient_scm.os.path.join(base_path, "."), '.'
262 ).AndReturn(file_info) 267 ).AndReturn(file_info)
263 # Cheat a bit here. 268 # Cheat a bit here.
264 gclient_scm.scm.SVN.CaptureInfo(file_info['URL'], '.').AndReturn(file_info) 269 gclient_scm.scm.SVN.CaptureInfo(file_info['URL'], '.').AndReturn(file_info)
265 additional_args = [] 270 additional_args = []
266 if options.manually_grab_svn_rev: 271 if options.manually_grab_svn_rev:
267 additional_args = ['--revision', str(file_info['Revision'])] 272 additional_args = ['--revision', str(file_info['Revision'])]
(...skipping 20 matching lines...) Expand all
288 293
289 # Checks to make sure that we support svn co --depth. 294 # Checks to make sure that we support svn co --depth.
290 gclient_scm.scm.SVN.current_version = None 295 gclient_scm.scm.SVN.current_version = None
291 gclient_scm.scm.SVN.Capture(['--version'] 296 gclient_scm.scm.SVN.Capture(['--version']
292 ).AndReturn('svn, version 1.5.1 (r32289)') 297 ).AndReturn('svn, version 1.5.1 (r32289)')
293 gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.svn') 298 gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.svn')
294 ).AndReturn(False) 299 ).AndReturn(False)
295 gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, 'DEPS') 300 gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, 'DEPS')
296 ).AndReturn(False) 301 ).AndReturn(False)
297 302
303 # Verify no locked files.
304 gclient_scm.scm.SVN.CaptureStatus(gclient_scm.os.path.join(base_path, '.')
305 ).AndReturn([])
306
298 # When checking out a single file, we issue an svn checkout and svn update. 307 # When checking out a single file, we issue an svn checkout and svn update.
299 files_list = self.mox.CreateMockAnything() 308 files_list = self.mox.CreateMockAnything()
300 gclient_scm.scm.SVN.Run( 309 gclient_scm.scm.SVN.Run(
301 ['checkout', '--depth', 'empty', self.url, base_path], self.root_dir) 310 ['checkout', '--depth', 'empty', self.url, base_path], self.root_dir)
302 gclient_scm.scm.SVN.RunAndGetFileList(options, ['update', 'DEPS'], 311 gclient_scm.scm.SVN.RunAndGetFileList(options, ['update', 'DEPS'],
303 gclient_scm.os.path.join(self.root_dir, self.relpath), files_list) 312 gclient_scm.os.path.join(self.root_dir, self.relpath), files_list)
304 313
305 # Now we fall back on scm.update(). 314 # Now we fall back on scm.update().
306 gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.git') 315 gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.git')
307 ).AndReturn(False) 316 ).AndReturn(False)
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
356 gclient_scm.scm.SVN.Capture(['--version'] 365 gclient_scm.scm.SVN.Capture(['--version']
357 ).AndReturn('svn, version 1.5.1 (r32289)') 366 ).AndReturn('svn, version 1.5.1 (r32289)')
358 gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.svn') 367 gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.svn')
359 ).AndReturn(False) 368 ).AndReturn(False)
360 # If DEPS already exists, assume we're upgrading from svn1.4, so delete 369 # If DEPS already exists, assume we're upgrading from svn1.4, so delete
361 # the old DEPS file. 370 # the old DEPS file.
362 gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, 'DEPS') 371 gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, 'DEPS')
363 ).AndReturn(True) 372 ).AndReturn(True)
364 gclient_scm.os.remove(gclient_scm.os.path.join(base_path, 'DEPS')) 373 gclient_scm.os.remove(gclient_scm.os.path.join(base_path, 'DEPS'))
365 374
375 # Verify no locked files.
376 gclient_scm.scm.SVN.CaptureStatus(gclient_scm.os.path.join(base_path, '.')
377 ).AndReturn([])
378
366 # When checking out a single file, we issue an svn checkout and svn update. 379 # When checking out a single file, we issue an svn checkout and svn update.
367 files_list = self.mox.CreateMockAnything() 380 files_list = self.mox.CreateMockAnything()
368 gclient_scm.scm.SVN.Run( 381 gclient_scm.scm.SVN.Run(
369 ['checkout', '--depth', 'empty', self.url, base_path], self.root_dir) 382 ['checkout', '--depth', 'empty', self.url, base_path], self.root_dir)
370 gclient_scm.scm.SVN.RunAndGetFileList(options, ['update', 'DEPS'], 383 gclient_scm.scm.SVN.RunAndGetFileList(options, ['update', 'DEPS'],
371 gclient_scm.os.path.join(self.root_dir, self.relpath), files_list) 384 gclient_scm.os.path.join(self.root_dir, self.relpath), files_list)
372 385
373 # Now we fall back on scm.update(). 386 # Now we fall back on scm.update().
374 gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.git') 387 gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.git')
375 ).AndReturn(False) 388 ).AndReturn(False)
(...skipping 16 matching lines...) Expand all
392 'URL': self.url, 405 'URL': self.url,
393 'Revision': 42, 406 'Revision': 42,
394 } 407 }
395 # Checks to make sure that we support svn co --depth. 408 # Checks to make sure that we support svn co --depth.
396 gclient_scm.scm.SVN.current_version = None 409 gclient_scm.scm.SVN.current_version = None
397 gclient_scm.scm.SVN.Capture(['--version'] 410 gclient_scm.scm.SVN.Capture(['--version']
398 ).AndReturn('svn, version 1.5.1 (r32289)') 411 ).AndReturn('svn, version 1.5.1 (r32289)')
399 gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.svn') 412 gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.svn')
400 ).AndReturn(True) 413 ).AndReturn(True)
401 414
415 # Verify no locked files.
416 gclient_scm.scm.SVN.CaptureStatus(gclient_scm.os.path.join(base_path, '.')
417 ).AndReturn([])
418
402 # Now we fall back on scm.update(). 419 # Now we fall back on scm.update().
403 files_list = self.mox.CreateMockAnything() 420 files_list = self.mox.CreateMockAnything()
404 gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.git') 421 gclient_scm.os.path.exists(gclient_scm.os.path.join(base_path, '.git')
405 ).AndReturn(False) 422 ).AndReturn(False)
406 gclient_scm.os.path.exists(base_path).AndReturn(True) 423 gclient_scm.os.path.exists(base_path).AndReturn(True)
407 gclient_scm.scm.SVN.CaptureInfo( 424 gclient_scm.scm.SVN.CaptureInfo(
408 gclient_scm.os.path.join(base_path, "."), '.' 425 gclient_scm.os.path.join(base_path, "."), '.'
409 ).AndReturn(file_info) 426 ).AndReturn(file_info)
410 gclient_scm.scm.SVN.CaptureInfo(file_info['URL'], '.').AndReturn(file_info) 427 gclient_scm.scm.SVN.CaptureInfo(file_info['URL'], '.').AndReturn(file_info)
411 print("\n_____ %s at 42" % self.relpath) 428 print("\n_____ %s at 42" % self.relpath)
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
735 relpath=self.relpath) 752 relpath=self.relpath)
736 rev_info = scm.revinfo(options, (), None) 753 rev_info = scm.revinfo(options, (), None)
737 self.assertEquals(rev_info, '069c602044c5388d2d15c3f875b057c852003458') 754 self.assertEquals(rev_info, '069c602044c5388d2d15c3f875b057c852003458')
738 755
739 756
740 if __name__ == '__main__': 757 if __name__ == '__main__':
741 import unittest 758 import unittest
742 unittest.main() 759 unittest.main()
743 760
744 # vim: ts=2:sw=2:tw=80:et: 761 # vim: ts=2:sw=2:tw=80:et:
OLDNEW
« no previous file with comments | « gclient_scm.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698