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

Side by Side Diff: tests/git_common_test.py

Issue 2244023003: Fix broken git tests on mac. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Created 4 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 | Annotate | Revision Log
« no previous file with comments | « testing_support/git_test_utils.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 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 self.repo['B'], 326 self.repo['B'],
327 self.repo['E'], 327 self.repo['E'],
328 self.repo['C'], 328 self.repo['C'],
329 ])) 329 ]))
330 330
331 with self.assertRaisesRegexp(Exception, r"one of \('master', 'bananas'\)"): 331 with self.assertRaisesRegexp(Exception, r"one of \('master', 'bananas'\)"):
332 self.repo.run(self.gc.parse_commitrefs, 'master', 'bananas') 332 self.repo.run(self.gc.parse_commitrefs, 'master', 'bananas')
333 333
334 def testRepoRoot(self): 334 def testRepoRoot(self):
335 def cd_and_repo_root(path): 335 def cd_and_repo_root(path):
336 print(os.getcwd())
337 os.chdir(path) 336 os.chdir(path)
338 return self.gc.repo_root() 337 return self.gc.repo_root()
339 338
340 self.assertEqual(self.repo.repo_path, self.repo.run(self.gc.repo_root)) 339 self.assertEqual(self.repo.repo_path, self.repo.run(self.gc.repo_root))
341 # cd to a subdirectory; repo_root should still return the root dir. 340 # cd to a subdirectory; repo_root should still return the root dir.
342 self.assertEqual(self.repo.repo_path, 341 self.assertEqual(self.repo.repo_path,
343 self.repo.run(cd_and_repo_root, 'some/files')) 342 self.repo.run(cd_and_repo_root, 'some/files'))
344 343
345 def testTags(self): 344 def testTags(self):
346 self.assertEqual(set(self.repo.run(self.gc.tags)), 345 self.assertEqual(set(self.repo.run(self.gc.tags)),
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
642 641
643 self.assertEqual(bottomup, [ 642 self.assertEqual(bottomup, [
644 ('branch_L', 'branch_K'), 643 ('branch_L', 'branch_K'),
645 ('branch_Z', 'root_X'), 644 ('branch_Z', 'root_X'),
646 ('branch_K', 'branch_G'), 645 ('branch_K', 'branch_G'),
647 ('branch_G', 'root_A'), 646 ('branch_G', 'root_A'),
648 ('root_A', 'root_X'), 647 ('root_A', 'root_X'),
649 ]) 648 ])
650 649
651 def testIsGitTreeDirty(self): 650 def testIsGitTreeDirty(self):
652 self.assertEquals(False, self.repo.run(self.gc.is_dirty_git_tree, 'foo')) 651 retval = []
652 self.repo.capture_stdio(
653 lambda: retval.append(self.repo.run(self.gc.is_dirty_git_tree, 'foo')))
654
655 self.assertEquals(False, retval[0])
653 self.repo.open('test.file', 'w').write('test data') 656 self.repo.open('test.file', 'w').write('test data')
654 self.repo.git('add', 'test.file') 657 self.repo.git('add', 'test.file')
655 self.assertEquals(True, self.repo.run(self.gc.is_dirty_git_tree, 'foo')) 658
659 retval = []
660 self.repo.capture_stdio(
661 lambda: retval.append(self.repo.run(self.gc.is_dirty_git_tree, 'foo')))
662 self.assertEquals(True, retval[0])
656 663
657 def testSquashBranch(self): 664 def testSquashBranch(self):
658 self.repo.git('checkout', 'branch_K') 665 self.repo.git('checkout', 'branch_K')
659 666
660 self.assertEquals(True, self.repo.run(self.gc.squash_current_branch, 667 self.assertEquals(True, self.repo.run(self.gc.squash_current_branch,
661 'cool message')) 668 'cool message'))
662 669
663 lines = ['cool message', ''] 670 lines = ['cool message', '']
664 for l in 'HIJK': 671 for l in 'HIJK':
665 lines.extend((self.repo[l], l, '')) 672 lines.extend((self.repo[l], l, ''))
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
888 def setUp(self): 895 def setUp(self):
889 self._tempdir = tempfile.mkdtemp() 896 self._tempdir = tempfile.mkdtemp()
890 897
891 def tearDown(self): 898 def tearDown(self):
892 shutil.rmtree(self._tempdir) 899 shutil.rmtree(self._tempdir)
893 900
894 REPO_SCHEMA = """ 901 REPO_SCHEMA = """
895 A 902 A
896 """ 903 """
897 904
905 @unittest.skipIf(not hasattr(os, 'symlink'), "OS doesn't support symlink")
898 def testMakeWorkdir(self): 906 def testMakeWorkdir(self):
899 if not hasattr(os, 'symlink'):
900 return
901
902 workdir = os.path.join(self._tempdir, 'workdir') 907 workdir = os.path.join(self._tempdir, 'workdir')
903 self.gc.make_workdir(os.path.join(self.repo.repo_path, '.git'), 908 self.gc.make_workdir(os.path.join(self.repo.repo_path, '.git'),
904 os.path.join(workdir, '.git')) 909 os.path.join(workdir, '.git'))
905 EXPECTED_LINKS = [ 910 EXPECTED_LINKS = [
906 'config', 'info', 'hooks', 'logs/refs', 'objects', 'refs', 911 'config', 'info', 'hooks', 'logs/refs', 'objects', 'refs',
907 ] 912 ]
908 for path in EXPECTED_LINKS: 913 for path in EXPECTED_LINKS:
909 self.assertTrue(os.path.islink(os.path.join(workdir, '.git', path))) 914 self.assertTrue(os.path.islink(os.path.join(workdir, '.git', path)))
910 self.assertEqual(os.path.realpath(os.path.join(workdir, '.git', path)), 915 self.assertEqual(os.path.realpath(os.path.join(workdir, '.git', path)),
911 os.path.join(self.repo.repo_path, '.git', path)) 916 os.path.join(self.repo.repo_path, '.git', path))
(...skipping 24 matching lines...) Expand all
936 self.repo.show_commit('A', format_string='%cn %ci')) 941 self.repo.show_commit('A', format_string='%cn %ci'))
937 self.assertEquals('Author McAuthorly 1970-01-03 00:00:00 +0000', 942 self.assertEquals('Author McAuthorly 1970-01-03 00:00:00 +0000',
938 self.repo.show_commit('B', format_string='%an %ai')) 943 self.repo.show_commit('B', format_string='%an %ai'))
939 self.assertEquals('Charles Committish 1970-01-04 00:00:00 +0000', 944 self.assertEquals('Charles Committish 1970-01-04 00:00:00 +0000',
940 self.repo.show_commit('B', format_string='%cn %ci')) 945 self.repo.show_commit('B', format_string='%cn %ci'))
941 946
942 947
943 if __name__ == '__main__': 948 if __name__ == '__main__':
944 sys.exit(coverage_utils.covered_main( 949 sys.exit(coverage_utils.covered_main(
945 os.path.join(DEPOT_TOOLS_ROOT, 'git_common.py'))) 950 os.path.join(DEPOT_TOOLS_ROOT, 'git_common.py')))
OLDNEW
« no previous file with comments | « testing_support/git_test_utils.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698