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

Unified Diff: tests/git_common_test.py

Issue 2052113002: Make git-freeze bail out if the user has too much untracked data. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
« git_common.py ('K') | « man/src/git-freeze.txt ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/git_common_test.py
diff --git a/tests/git_common_test.py b/tests/git_common_test.py
index b4049445e75f58063741ce50b3979cd699ac0c45..651101dd840e144ed73c42d8b4abba31862cde39 100755
--- a/tests/git_common_test.py
+++ b/tests/git_common_test.py
@@ -415,26 +415,29 @@ class GitMutableFunctionsTest(git_test_utils.GitRepoReadWriteTestBase,
def testConfig(self):
self.repo.git('config', '--add', 'happy.derpies', 'food')
- self.assertEquals(self.repo.run(self.gc.config_list, 'happy.derpies'),
+ self.assertEquals(self.repo.run(self.gc.get_config_list, 'happy.derpies'),
['food'])
- self.assertEquals(self.repo.run(self.gc.config_list, 'sad.derpies'), [])
+ self.assertEquals(self.repo.run(self.gc.get_config_list, 'sad.derpies'), [])
self.repo.git('config', '--add', 'happy.derpies', 'cat')
- self.assertEquals(self.repo.run(self.gc.config_list, 'happy.derpies'),
+ self.assertEquals(self.repo.run(self.gc.get_config_list, 'happy.derpies'),
['food', 'cat'])
- self.assertEquals('cat', self.repo.run(self.gc.config, 'dude.bob', 'cat'))
+ self.assertEquals('cat', self.repo.run(self.gc.get_config, 'dude.bob',
+ 'cat'))
self.repo.run(self.gc.set_config, 'dude.bob', 'dog')
- self.assertEquals('dog', self.repo.run(self.gc.config, 'dude.bob', 'cat'))
+ self.assertEquals('dog', self.repo.run(self.gc.get_config, 'dude.bob',
+ 'cat'))
self.repo.run(self.gc.del_config, 'dude.bob')
# This should work without raising an exception
self.repo.run(self.gc.del_config, 'dude.bob')
- self.assertEquals('cat', self.repo.run(self.gc.config, 'dude.bob', 'cat'))
+ self.assertEquals('cat', self.repo.run(self.gc.get_config, 'dude.bob',
+ 'cat'))
self.assertEquals('origin/master', self.repo.run(self.gc.root))
@@ -559,10 +562,11 @@ class GitMutableStructuredTest(git_test_utils.GitRepoReadWriteTestBase,
)
self.assertEqual(
- self.repo['B'], self.repo.run(self.gc.config, 'branch.branch_K.base')
+ self.repo['B'], self.repo.run(self.gc.get_config, 'branch.branch_K.base')
)
self.assertEqual(
- 'branch_G', self.repo.run(self.gc.config, 'branch.branch_K.base-upstream')
+ 'branch_G', self.repo.run(self.gc.get_config,
+ 'branch.branch_K.base-upstream')
)
# deadbeef is a bad hash, so this will result in repo['B']
@@ -588,8 +592,8 @@ class GitMutableStructuredTest(git_test_utils.GitRepoReadWriteTestBase,
self.repo.run(self.gc.remove_merge_base, 'branch_K')
self.repo.run(self.gc.remove_merge_base, 'branch_L')
- self.assertEqual(None,
- self.repo.run(self.gc.config, 'branch.branch_K.base'))
+ self.assertEqual(None, self.repo.run(self.gc.get_config,
+ 'branch.branch_K.base'))
self.assertEqual({}, self.repo.run(self.gc.branch_config_map, 'base'))
@@ -727,6 +731,23 @@ class GitMutableStructuredTest(git_test_utils.GitRepoReadWriteTestBase,
CAT DOG
""")
+ def testStatus(self):
+ def inner():
+ dictified_status = lambda: {
+ k: dict(v._asdict()) # pylint: disable=W0212
+ for k, v in self.repo.run(self.gc.status).iteritems()
+ }
+ self.repo.git('mv', 'file', 'cat')
+ with open('COOL', 'w') as f:
+ f.write('Super cool file!')
+ self.assertDictEqual(
+ dictified_status(),
+ {'cat': {'lstat': 'R', 'rstat': ' ', 'src': 'file'},
+ 'COOL': {'lstat': '?', 'rstat': '?', 'src': 'COOL'}}
+ )
+
+ self.repo.run(inner)
+
class GitFreezeThaw(git_test_utils.GitRepoReadWriteTestBase):
@classmethod
@@ -805,6 +826,39 @@ class GitFreezeThaw(git_test_utils.GitRepoReadWriteTestBase):
self.repo.run(inner)
+ def testTooBig(self):
+ def inner():
+ self.repo.git('config', 'depot-tools.freeze-size-limit', '1')
+ with open('bigfile', 'w') as f:
+ chunk = 'NERDFACE' * 1024
+ for _ in xrange(128 * 2 + 1): # Just over 2 mb
+ f.write(chunk)
+ _, err = self.repo.capture_stdio(self.gc.freeze)
+ self.assertIn('too much untracked+unignored', err)
+
+ self.repo.run(inner)
+
+ def testMerge(self):
+ def inner():
+ self.repo.git('checkout', '-b', 'bad_merge_branch')
+ with open('bad_merge', 'w') as f:
+ f.write('bad_merge_left')
+ self.repo.git('add', 'bad_merge')
+ self.repo.git('commit', '-m', 'bad_merge')
+
+ self.repo.git('checkout', 'branch_D')
+ with open('bad_merge', 'w') as f:
+ f.write('bad_merge_right')
+ self.repo.git('add', 'bad_merge')
+ self.repo.git('commit', '-m', 'bad_merge_d')
+
+ self.repo.git('merge', 'bad_merge_branch')
+
+ _, err = self.repo.capture_stdio(self.gc.freeze)
+ self.assertIn('Cannot freeze unmerged changes', err)
+
+ self.repo.run(inner)
+
class GitMakeWorkdir(git_test_utils.GitRepoReadOnlyTestBase, GitCommonTestBase):
def setUp(self):
« git_common.py ('K') | « man/src/git-freeze.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698