aboutsummaryrefslogtreecommitdiffstats
path: root/storage/filesystem/dotgit
diff options
context:
space:
mode:
authorJavi Fontan <jfontan@gmail.com>2018-09-06 19:09:02 +0200
committerJavi Fontan <jfontan@gmail.com>2018-09-06 19:13:42 +0200
commit8176f084d861891d1846a2d46bf669d0d3463ebd (patch)
tree22341a6315f5a0df6f1b0a5821b6c319da28d519 /storage/filesystem/dotgit
parent9013dde72d0387a74b728ee336019728ba159d1c (diff)
downloadgo-git-8176f084d861891d1846a2d46bf669d0d3463ebd.tar.gz
storage/filesystem: compare files using offset in test
Using equals to compare files it uses diff to do so. This can potentially consume lots of ram. Changed the comparison to use file offsets. If the descriptor is reused the offset is maintained. Signed-off-by: Javi Fontan <jfontan@gmail.com>
Diffstat (limited to 'storage/filesystem/dotgit')
-rw-r--r--storage/filesystem/dotgit/dotgit_test.go15
1 files changed, 13 insertions, 2 deletions
diff --git a/storage/filesystem/dotgit/dotgit_test.go b/storage/filesystem/dotgit/dotgit_test.go
index 50f8e64..308c6b7 100644
--- a/storage/filesystem/dotgit/dotgit_test.go
+++ b/storage/filesystem/dotgit/dotgit_test.go
@@ -474,16 +474,27 @@ func (s *SuiteDotGit) TestObjectPackWithKeepDescriptors(c *C) {
c.Assert(err, IsNil)
c.Assert(filepath.Ext(pack.Name()), Equals, ".pack")
+ // Move to an specific offset
+ pack.Seek(42, os.SEEK_SET)
+
pack2, err := dir.ObjectPack(f.PackfileHash)
c.Assert(err, IsNil)
- c.Assert(pack, Equals, pack2)
+
+ // If the file is the same the offset should be the same
+ offset, err := pack2.Seek(0, os.SEEK_CUR)
+ c.Assert(err, IsNil)
+ c.Assert(offset, Equals, int64(42))
err = dir.Close()
c.Assert(err, IsNil)
pack2, err = dir.ObjectPack(f.PackfileHash)
c.Assert(err, IsNil)
- c.Assert(pack, Not(Equals), pack2)
+
+ // If the file is opened again its offset should be 0
+ offset, err = pack2.Seek(0, os.SEEK_CUR)
+ c.Assert(err, IsNil)
+ c.Assert(offset, Equals, int64(0))
err = pack2.Close()
c.Assert(err, IsNil)