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

Side by Side Diff: tests/checkout_test.py

Issue 11028002: Make apply_issue.py much more verbose about what it's doing. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Fix unit test Created 8 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « patch.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/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 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 checkout.py.""" 6 """Unit tests for checkout.py."""
7 7
8 import logging 8 import logging
9 import os 9 import os
10 import shutil 10 import shutil
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 'author': self.FAKE_REPOS.USERS[0][0], 301 'author': self.FAKE_REPOS.USERS[0][0],
302 'revprops': [('realauthor', self.FAKE_REPOS.USERS[1][0])] 302 'revprops': [('realauthor', self.FAKE_REPOS.USERS[1][0])]
303 } 303 }
304 root = os.path.join(self.root_dir, self.name) 304 root = os.path.join(self.root_dir, self.name)
305 self._check_base(self._get_co(None), root, False, expected) 305 self._check_base(self._get_co(None), root, False, expected)
306 306
307 def testException(self): 307 def testException(self):
308 self._check_exception( 308 self._check_exception(
309 self._get_co(None), 309 self._get_co(None),
310 'While running patch -p1 --forward --force --no-backup-if-mismatch;\n' 310 'While running patch -p1 --forward --force --no-backup-if-mismatch;\n'
311 'patching file chrome/file.cc\n' 311 ' patching file chrome/file.cc\n'
312 'Hunk #1 FAILED at 3.\n' 312 ' Hunk #1 FAILED at 3.\n'
313 '1 out of 1 hunk FAILED -- saving rejects to file ' 313 ' 1 out of 1 hunk FAILED -- saving rejects to file '
314 'chrome/file.cc.rej\n') 314 'chrome/file.cc.rej\n')
315 315
316 def testSvnProps(self): 316 def testSvnProps(self):
317 co = self._get_co(None) 317 co = self._get_co(None)
318 co.prepare(None) 318 co.prepare(None)
319 try: 319 try:
320 # svn:ignore can only be applied to directories. 320 # svn:ignore can only be applied to directories.
321 svn_props = [('svn:ignore', 'foo')] 321 svn_props = [('svn:ignore', 'foo')]
322 co.apply_patch( 322 co.apply_patch(
323 [patch.FilePatchDiff('chrome/file.cc', RAW.PATCH, svn_props)]) 323 [patch.FilePatchDiff('chrome/file.cc', RAW.PATCH, svn_props)])
324 self.fail() 324 self.fail()
325 except checkout.PatchApplicationFailed, e: 325 except checkout.PatchApplicationFailed, e:
326 self.assertEquals(e.filename, 'chrome/file.cc') 326 self.assertEquals(e.filename, 'chrome/file.cc')
327 self.assertEquals( 327 self.assertEquals(
328 e.status, 328 e.status,
329 'While running svn propset svn:ignore foo chrome/file.cc ' 329 'While running svn propset svn:ignore foo chrome/file.cc '
330 '--non-interactive;\n' 330 '--non-interactive;\n'
331 'patching file chrome/file.cc\n' 331 ' patching file chrome/file.cc\n'
332 'svn: Cannot set \'svn:ignore\' on a file (\'chrome/file.cc\')\n') 332 ' svn: Cannot set \'svn:ignore\' on a file (\'chrome/file.cc\')\n')
333 co.prepare(None) 333 co.prepare(None)
334 svn_props = [('svn:eol-style', 'LF'), ('foo', 'bar')] 334 svn_props = [('svn:eol-style', 'LF'), ('foo', 'bar')]
335 co.apply_patch( 335 co.apply_patch(
336 [patch.FilePatchDiff('chrome/file.cc', RAW.PATCH, svn_props)]) 336 [patch.FilePatchDiff('chrome/file.cc', RAW.PATCH, svn_props)])
337 filepath = os.path.join(self.root_dir, self.name, 'chrome/file.cc') 337 filepath = os.path.join(self.root_dir, self.name, 'chrome/file.cc')
338 # Manually verify the properties. 338 # Manually verify the properties.
339 props = subprocess2.check_output( 339 props = subprocess2.check_output(
340 ['svn', 'proplist', filepath], 340 ['svn', 'proplist', filepath],
341 cwd=self.root_dir).splitlines()[1:] 341 cwd=self.root_dir).splitlines()[1:]
342 props = sorted(p.strip() for p in props) 342 props = sorted(p.strip() for p in props)
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 except NotImplementedError: 465 except NotImplementedError:
466 pass 466 pass
467 self.assertTree(self.get_trunk(True), root) 467 self.assertTree(self.get_trunk(True), root)
468 # Verify that prepare() is a no-op. 468 # Verify that prepare() is a no-op.
469 self.assertEquals(None, co.prepare(None)) 469 self.assertEquals(None, co.prepare(None))
470 self.assertTree(self.get_trunk(True), root) 470 self.assertTree(self.get_trunk(True), root)
471 471
472 def testException(self): 472 def testException(self):
473 self._check_exception( 473 self._check_exception(
474 self._get_co(None), 474 self._get_co(None),
475 'patching file chrome/file.cc\n' 475 'While running patch -u --binary -p1;\n'
476 'Hunk #1 FAILED at 3.\n' 476 ' patching file chrome/file.cc\n'
477 '1 out of 1 hunk FAILED -- saving rejects to file ' 477 ' Hunk #1 FAILED at 3.\n'
478 ' 1 out of 1 hunk FAILED -- saving rejects to file '
478 'chrome/file.cc.rej\n') 479 'chrome/file.cc.rej\n')
479 480
480 def testProcess(self): 481 def testProcess(self):
481 self._test_process(self._get_co) 482 self._test_process(self._get_co)
482 483
483 def testPrepare(self): 484 def testPrepare(self):
484 # RawCheckout doesn't support prepare() but emulate it. 485 # RawCheckout doesn't support prepare() but emulate it.
485 co = self._get_co(None) 486 co = self._get_co(None)
486 revs = [1] 487 revs = [1]
487 def prepare(asked): 488 def prepare(asked):
(...skipping 19 matching lines...) Expand all
507 post_processors) 508 post_processors)
508 509
509 def testAll(self): 510 def testAll(self):
510 root = os.path.join(self.root_dir, self.name) 511 root = os.path.join(self.root_dir, self.name)
511 self._check_base(self._get_co(None), root, False, None) 512 self._check_base(self._get_co(None), root, False, None)
512 513
513 def testException(self): 514 def testException(self):
514 self._check_exception( 515 self._check_exception(
515 self._get_co(None), 516 self._get_co(None),
516 'While running patch -p1 --forward --force --no-backup-if-mismatch;\n' 517 'While running patch -p1 --forward --force --no-backup-if-mismatch;\n'
517 'patching file chrome/file.cc\n' 518 ' patching file chrome/file.cc\n'
518 'Hunk #1 FAILED at 3.\n' 519 ' Hunk #1 FAILED at 3.\n'
519 '1 out of 1 hunk FAILED -- saving rejects to file ' 520 ' 1 out of 1 hunk FAILED -- saving rejects to file '
520 'chrome/file.cc.rej\n') 521 'chrome/file.cc.rej\n')
521 522
522 def testProcess(self): 523 def testProcess(self):
523 self._test_process(self._get_co) 524 self._test_process(self._get_co)
524 525
525 def testPrepare(self): 526 def testPrepare(self):
526 self._test_prepare(self._get_co(None)) 527 self._test_prepare(self._get_co(None))
527 528
528 def testMove(self): 529 def testMove(self):
529 self._check_move(self._get_co(None)) 530 self._check_move(self._get_co(None))
530 531
531 532
532 if __name__ == '__main__': 533 if __name__ == '__main__':
533 if '-v' in sys.argv: 534 if '-v' in sys.argv:
534 DEBUGGING = True 535 DEBUGGING = True
535 logging.basicConfig( 536 logging.basicConfig(
536 level=logging.DEBUG, 537 level=logging.DEBUG,
537 format='%(levelname)5s %(filename)15s(%(lineno)3d): %(message)s') 538 format='%(levelname)5s %(filename)15s(%(lineno)3d): %(message)s')
538 else: 539 else:
539 logging.basicConfig( 540 logging.basicConfig(
540 level=logging.ERROR, 541 level=logging.ERROR,
541 format='%(levelname)5s %(filename)15s(%(lineno)3d): %(message)s') 542 format='%(levelname)5s %(filename)15s(%(lineno)3d): %(message)s')
542 unittest.main() 543 unittest.main()
OLDNEW
« no previous file with comments | « patch.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698