Skip to content
This repository was archived by the owner on Sep 11, 2020. It is now read-only.

Commit 34cb7a3

Browse files
committed
Add test for CommitNode.Commit() and CommitNode.Tree()
Signed-off-by: Filip Navara <filip.navara@gmail.com>
1 parent cc48439 commit 34cb7a3

File tree

1 file changed

+27
-17
lines changed

1 file changed

+27
-17
lines changed

plumbing/object/commitnode_test.go

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package object
33
import (
44
"path"
55

6-
"golang.org/x/exp/mmap"
76
. "gopkg.in/check.v1"
87
"gopkg.in/src-d/go-git-fixtures.v3"
98
"gopkg.in/src-d/go-git.v4/plumbing"
@@ -19,6 +18,14 @@ type CommitNodeSuite struct {
1918

2019
var _ = Suite(&CommitNodeSuite{})
2120

21+
func unpackRepositry(f *fixtures.Fixture) *filesystem.Storage {
22+
storer := filesystem.NewStorage(f.DotGit(), cache.NewObjectLRUDefault())
23+
p := f.Packfile()
24+
defer p.Close()
25+
packfile.UpdateObjectStorage(storer, p)
26+
return storer
27+
}
28+
2229
func testWalker(c *C, nodeIndex CommitNodeIndex) {
2330
head, err := nodeIndex.Get(plumbing.NewHash("b9d69064b190e7aedccf84731ca1d917871f8a1c"))
2431
c.Assert(err, IsNil)
@@ -75,24 +82,31 @@ func testParents(c *C, nodeIndex CommitNodeIndex) {
7582
}
7683
}
7784

85+
func testCommitAndTree(c *C, nodeIndex CommitNodeIndex) {
86+
merge3node, err := nodeIndex.Get(plumbing.NewHash("6f6c5d2be7852c782be1dd13e36496dd7ad39560"))
87+
c.Assert(err, IsNil)
88+
merge3commit, err := merge3node.Commit()
89+
c.Assert(err, IsNil)
90+
c.Assert(merge3node.ID().String(), Equals, merge3commit.ID().String())
91+
tree, err := merge3node.Tree()
92+
c.Assert(err, IsNil)
93+
c.Assert(tree.ID().String(), Equals, merge3commit.TreeHash.String())
94+
}
95+
7896
func (s *CommitNodeSuite) TestObjectGraph(c *C) {
7997
f := fixtures.ByTag("commit-graph").One()
80-
storer := filesystem.NewStorage(f.DotGit(), cache.NewObjectLRUDefault())
81-
p := f.Packfile()
82-
defer p.Close()
83-
err := packfile.UpdateObjectStorage(storer, p)
84-
c.Assert(err, IsNil)
98+
storer := unpackRepositry(f)
8599

86100
nodeIndex := NewObjectCommitNodeIndex(storer)
87101
testWalker(c, nodeIndex)
88102
testParents(c, nodeIndex)
103+
testCommitAndTree(c, nodeIndex)
89104
}
90105

91106
func (s *CommitNodeSuite) TestCommitGraph(c *C) {
92107
f := fixtures.ByTag("commit-graph").One()
93-
dotgit := f.DotGit()
94-
storer := filesystem.NewStorage(dotgit, cache.NewObjectLRUDefault())
95-
reader, err := mmap.Open(path.Join(dotgit.Root(), "objects", "info", "commit-graph"))
108+
storer := unpackRepositry(f)
109+
reader, err := storer.Filesystem().Open(path.Join("objects", "info", "commit-graph"))
96110
c.Assert(err, IsNil)
97111
defer reader.Close()
98112
index, err := commitgraph.OpenFileIndex(reader)
@@ -101,20 +115,15 @@ func (s *CommitNodeSuite) TestCommitGraph(c *C) {
101115
nodeIndex := NewGraphCommitNodeIndex(index, storer)
102116
testWalker(c, nodeIndex)
103117
testParents(c, nodeIndex)
118+
testCommitAndTree(c, nodeIndex)
104119
}
105120

106121
func (s *CommitNodeSuite) TestMixedGraph(c *C) {
107-
// Unpack the original repository with pack file
108122
f := fixtures.ByTag("commit-graph").One()
109-
dotgit := f.DotGit()
110-
storer := filesystem.NewStorage(dotgit, cache.NewObjectLRUDefault())
111-
p := f.Packfile()
112-
defer p.Close()
113-
err := packfile.UpdateObjectStorage(storer, p)
114-
c.Assert(err, IsNil)
123+
storer := unpackRepositry(f)
115124

116125
// Take the commit-graph file and copy it to memory index without the last commit
117-
reader, err := mmap.Open(path.Join(dotgit.Root(), "objects", "info", "commit-graph"))
126+
reader, err := storer.Filesystem().Open(path.Join("objects", "info", "commit-graph"))
118127
c.Assert(err, IsNil)
119128
defer reader.Close()
120129
fileIndex, err := commitgraph.OpenFileIndex(reader)
@@ -131,4 +140,5 @@ func (s *CommitNodeSuite) TestMixedGraph(c *C) {
131140
nodeIndex := NewGraphCommitNodeIndex(memoryIndex, storer)
132141
testWalker(c, nodeIndex)
133142
testParents(c, nodeIndex)
143+
testCommitAndTree(c, nodeIndex)
134144
}

0 commit comments

Comments
 (0)