diff options
author | Sebastian Thiel <sebastian.thiel@icloud.com> | 2022-05-18 07:43:53 +0800 |
---|---|---|
committer | Sebastian Thiel <sebastian.thiel@icloud.com> | 2022-05-18 07:43:53 +0800 |
commit | 21ec529987d10e0010badd37f8da3274167d436f (patch) | |
tree | a3394cfe902ce7edd07c89420c21c13274a2d295 /test/test_fun.py | |
parent | b30720ee4d9762a03eae4fa7cfa4b0190d81784d (diff) | |
download | gitpython-21ec529987d10e0010badd37f8da3274167d436f.tar.gz |
Run everything through 'black'
That way people who use it won't be deterred, while it unifies style
everywhere.
Diffstat (limited to 'test/test_fun.py')
-rw-r--r-- | test/test_fun.py | 103 |
1 files changed, 60 insertions, 43 deletions
diff --git a/test/test_fun.py b/test/test_fun.py index e3d07194..7c99a4a1 100644 --- a/test/test_fun.py +++ b/test/test_fun.py @@ -16,23 +16,19 @@ from git.objects.fun import ( tree_to_stream, tree_entries_from_data, ) -from git.repo.fun import ( - find_worktree_git_dir -) -from test.lib import ( - TestBase, - with_rw_repo, - with_rw_directory -) +from git.repo.fun import find_worktree_git_dir +from test.lib import TestBase, with_rw_repo, with_rw_directory from git.util import bin_to_hex, cygpath, join_path_native from gitdb.base import IStream from gitdb.typ import str_tree_type class TestFun(TestBase): - def _assert_index_entries(self, entries, trees): - index = IndexFile.from_tree(self.rorepo, *[self.rorepo.tree(bin_to_hex(t).decode('ascii')) for t in trees]) + index = IndexFile.from_tree( + self.rorepo, + *[self.rorepo.tree(bin_to_hex(t).decode("ascii")) for t in trees] + ) assert entries assert len(index.entries) == len(entries) for entry in entries: @@ -80,7 +76,7 @@ class TestFun(TestBase): istream = odb.store(IStream(str_tree_type, len(sio.getvalue()), sio)) return istream.binsha - @with_rw_repo('0.1.6') + @with_rw_repo("0.1.6") def test_three_way_merge(self, rwrepo): def mkfile(name, sha, executable=0): return (sha, S_IFREG | 0o644 | executable * 0o111, name) @@ -91,6 +87,7 @@ class TestFun(TestBase): def assert_entries(entries, num_entries, has_conflict=False): assert len(entries) == num_entries assert has_conflict == (len([e for e in entries if e.stage != 0]) > 0) + mktree = self.mktree shaa = b"\1" * 20 @@ -100,14 +97,14 @@ class TestFun(TestBase): odb = rwrepo.odb # base tree - bfn = 'basefile' + bfn = "basefile" fbase = mkfile(bfn, shaa) tb = mktree(odb, [fbase]) # non-conflicting new files, same data - fa = mkfile('1', shab) + fa = mkfile("1", shab) th = mktree(odb, [fbase, fa]) - fb = mkfile('2', shac) + fb = mkfile("2", shac) tm = mktree(odb, [fbase, fb]) # two new files, same base file @@ -115,9 +112,9 @@ class TestFun(TestBase): assert_entries(aggressive_tree_merge(odb, trees), 3) # both delete same file, add own one - fa = mkfile('1', shab) + fa = mkfile("1", shab) th = mktree(odb, [fa]) - fb = mkfile('2', shac) + fb = mkfile("2", shac) tm = mktree(odb, [fb]) # two new files @@ -125,9 +122,9 @@ class TestFun(TestBase): assert_entries(aggressive_tree_merge(odb, trees), 2) # same file added in both, differently - fa = mkfile('1', shab) + fa = mkfile("1", shab) th = mktree(odb, [fa]) - fb = mkfile('1', shac) + fb = mkfile("1", shac) tm = mktree(odb, [fb]) # expect conflict @@ -135,9 +132,9 @@ class TestFun(TestBase): assert_entries(aggressive_tree_merge(odb, trees), 2, True) # same file added, different mode - fa = mkfile('1', shab) + fa = mkfile("1", shab) th = mktree(odb, [fa]) - fb = mkcommit('1', shab) + fb = mkcommit("1", shab) tm = mktree(odb, [fb]) # expect conflict @@ -145,9 +142,9 @@ class TestFun(TestBase): assert_entries(aggressive_tree_merge(odb, trees), 2, True) # same file added in both - fa = mkfile('1', shab) + fa = mkfile("1", shab) th = mktree(odb, [fa]) - fb = mkfile('1', shab) + fb = mkfile("1", shab) tm = mktree(odb, [fb]) # expect conflict @@ -194,7 +191,11 @@ class TestFun(TestBase): if is_them: trees = [tb, tb, th] entries = aggressive_tree_merge(odb, trees) - assert len(entries) == 1 and entries[0].binsha == shaa and entries[0].mode == fa[1] + assert ( + len(entries) == 1 + and entries[0].binsha == shaa + and entries[0].mode == fa[1] + ) # one side deletes, the other changes = conflict fa = mkfile(bfn, shab) @@ -209,8 +210,20 @@ class TestFun(TestBase): def test_stat_mode_to_index_mode(self): modes = ( - 0o600, 0o611, 0o640, 0o641, 0o644, 0o650, 0o651, - 0o700, 0o711, 0o740, 0o744, 0o750, 0o751, 0o755, + 0o600, + 0o611, + 0o640, + 0o641, + 0o644, + 0o650, + 0o651, + 0o700, + 0o711, + 0o740, + 0o744, + 0o750, + 0o751, + 0o755, ) for mode in modes: expected_mode = S_IFREG | (mode & S_IXUSR and 0o755 or 0o644) @@ -229,42 +242,46 @@ class TestFun(TestBase): def test_tree_traversal(self): # low level tree tarversal odb = self.rorepo.odb - H = self.rorepo.tree('29eb123beb1c55e5db4aa652d843adccbd09ae18') # head tree - M = self.rorepo.tree('e14e3f143e7260de9581aee27e5a9b2645db72de') # merge tree - B = self.rorepo.tree('f606937a7a21237c866efafcad33675e6539c103') # base tree - B_old = self.rorepo.tree('1f66cfbbce58b4b552b041707a12d437cc5f400a') # old base tree + H = self.rorepo.tree("29eb123beb1c55e5db4aa652d843adccbd09ae18") # head tree + M = self.rorepo.tree("e14e3f143e7260de9581aee27e5a9b2645db72de") # merge tree + B = self.rorepo.tree("f606937a7a21237c866efafcad33675e6539c103") # base tree + B_old = self.rorepo.tree( + "1f66cfbbce58b4b552b041707a12d437cc5f400a" + ) # old base tree # two very different trees - entries = traverse_trees_recursive(odb, [B_old.binsha, H.binsha], '') + entries = traverse_trees_recursive(odb, [B_old.binsha, H.binsha], "") self._assert_tree_entries(entries, 2) - oentries = traverse_trees_recursive(odb, [H.binsha, B_old.binsha], '') + oentries = traverse_trees_recursive(odb, [H.binsha, B_old.binsha], "") assert len(oentries) == len(entries) self._assert_tree_entries(oentries, 2) # single tree - is_no_tree = lambda i, d: i.type != 'tree' - entries = traverse_trees_recursive(odb, [B.binsha], '') + is_no_tree = lambda i, d: i.type != "tree" + entries = traverse_trees_recursive(odb, [B.binsha], "") assert len(entries) == len(list(B.traverse(predicate=is_no_tree))) self._assert_tree_entries(entries, 1) # two trees - entries = traverse_trees_recursive(odb, [B.binsha, H.binsha], '') + entries = traverse_trees_recursive(odb, [B.binsha, H.binsha], "") self._assert_tree_entries(entries, 2) # tree trees - entries = traverse_trees_recursive(odb, [B.binsha, H.binsha, M.binsha], '') + entries = traverse_trees_recursive(odb, [B.binsha, H.binsha, M.binsha], "") self._assert_tree_entries(entries, 3) def test_tree_traversal_single(self): max_count = 50 count = 0 odb = self.rorepo.odb - for commit in self.rorepo.commit("29eb123beb1c55e5db4aa652d843adccbd09ae18").traverse(): + for commit in self.rorepo.commit( + "29eb123beb1c55e5db4aa652d843adccbd09ae18" + ).traverse(): if count >= max_count: break count += 1 - entries = traverse_tree_recursive(odb, commit.tree.binsha, '') + entries = traverse_tree_recursive(odb, commit.tree.binsha, "") assert entries # END for each commit @@ -275,12 +292,12 @@ class TestFun(TestBase): if git.version_info[:3] < (2, 5, 1): raise SkipTest("worktree feature unsupported") - rw_master = self.rorepo.clone(join_path_native(rw_dir, 'master_repo')) - branch = rw_master.create_head('aaaaaaaa') - worktree_path = join_path_native(rw_dir, 'worktree_repo') + rw_master = self.rorepo.clone(join_path_native(rw_dir, "master_repo")) + branch = rw_master.create_head("aaaaaaaa") + worktree_path = join_path_native(rw_dir, "worktree_repo") if Git.is_cygwin(): worktree_path = cygpath(worktree_path) - rw_master.git.worktree('add', worktree_path, branch.name) + rw_master.git.worktree("add", worktree_path, branch.name) dotgit = osp.join(worktree_path, ".git") statbuf = stat(dotgit) @@ -292,5 +309,5 @@ class TestFun(TestBase): self.assertTrue(statbuf.st_mode & S_IFDIR) def test_tree_entries_from_data_with_failing_name_decode_py3(self): - r = tree_entries_from_data(b'100644 \x9f\0aaa') - assert r == [(b'aaa', 33188, '\udc9f')], r + r = tree_entries_from_data(b"100644 \x9f\0aaa") + assert r == [(b"aaa", 33188, "\udc9f")], r |