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

Side by Side Diff: tests/git_common_test.py

Issue 1064933004: git-squash-branch: handle empty squashes and dirty trees (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Created 5 years, 8 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 | « tests/git_cl_test.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 2013 The Chromium Authors. All rights reserved. 2 # Copyright 2013 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 git_common.py""" 6 """Unit tests for git_common.py"""
7 7
8 import binascii 8 import binascii
9 import collections 9 import collections
10 import os 10 import os
(...skipping 543 matching lines...) Expand 10 before | Expand all | Expand 10 after
554 ]) 554 ])
555 555
556 self.assertEqual(bottomup, [ 556 self.assertEqual(bottomup, [
557 ('branch_L', 'branch_K'), 557 ('branch_L', 'branch_K'),
558 ('branch_Z', 'root_X'), 558 ('branch_Z', 'root_X'),
559 ('branch_K', 'branch_G'), 559 ('branch_K', 'branch_G'),
560 ('branch_G', 'root_A'), 560 ('branch_G', 'root_A'),
561 ('root_A', 'root_X'), 561 ('root_A', 'root_X'),
562 ]) 562 ])
563 563
564 def testIsGitTreeDirty(self):
565 self.assertEquals(False, self.repo.run(self.gc.is_dirty_git_tree, 'foo'))
566 self.repo.open('test.file', 'w').write('test data')
567 self.repo.git('add', 'test.file')
568 self.assertEquals(True, self.repo.run(self.gc.is_dirty_git_tree, 'foo'))
569
564 def testSquashBranch(self): 570 def testSquashBranch(self):
565 self.repo.git('checkout', 'branch_K') 571 self.repo.git('checkout', 'branch_K')
566 572
567 self.repo.run(self.gc.squash_current_branch, 'cool message') 573 self.assertEquals(True, self.repo.run(self.gc.squash_current_branch,
574 'cool message'))
568 575
569 lines = ['cool message', ''] 576 lines = ['cool message', '']
570 for l in 'HIJK': 577 for l in 'HIJK':
571 lines.extend((self.repo[l], l, '')) 578 lines.extend((self.repo[l], l, ''))
572 lines.pop() 579 lines.pop()
573 msg = '\n'.join(lines) 580 msg = '\n'.join(lines)
574 581
575 self.assertEquals(self.repo.run(self.gc.run, 'log', '-n1', '--format=%B'), 582 self.assertEquals(self.repo.run(self.gc.run, 'log', '-n1', '--format=%B'),
576 msg) 583 msg)
577 584
578 self.assertEquals( 585 self.assertEquals(
579 self.repo.git('cat-file', 'blob', 'branch_K:file').stdout, 586 self.repo.git('cat-file', 'blob', 'branch_K:file').stdout,
580 'K' 587 'K'
581 ) 588 )
582 589
590 def testSquashBranchEmpty(self):
591 self.repo.git('checkout', 'branch_K')
592 self.repo.git('checkout', 'branch_G', '.')
593 self.repo.git('commit', '-m', 'revert all changes no branch')
594 # Should return False since the quash would result in an empty commit
595 stdout = self.repo.capture_stdio(self.gc.squash_current_branch)[0]
596 self.assertEquals(stdout, 'Nothing to commit; squashed branch is empty\n')
597
583 def testRebase(self): 598 def testRebase(self):
584 self.assertSchema(""" 599 self.assertSchema("""
585 A B C D E F G 600 A B C D E F G
586 B H I J K 601 B H I J K
587 J L 602 J L
588 603
589 X Y Z 604 X Y Z
590 605
591 CAT DOG 606 CAT DOG
592 """) 607 """)
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
705 720
706 self.assertEquals(self.repo.git('status', '--porcelain').stdout, STATUS_1) 721 self.assertEquals(self.repo.git('status', '--porcelain').stdout, STATUS_1)
707 722
708 self.repo.run(inner) 723 self.repo.run(inner)
709 724
710 725
711 if __name__ == '__main__': 726 if __name__ == '__main__':
712 sys.exit(coverage_utils.covered_main( 727 sys.exit(coverage_utils.covered_main(
713 os.path.join(DEPOT_TOOLS_ROOT, 'git_common.py') 728 os.path.join(DEPOT_TOOLS_ROOT, 'git_common.py')
714 )) 729 ))
OLDNEW
« no previous file with comments | « tests/git_cl_test.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698