43 lines
1.0 KiB
Go
43 lines
1.0 KiB
Go
package gitcmd
|
|
|
|
import "testing"
|
|
|
|
func TestParseCountObjects(t *testing.T) {
|
|
|
|
out := "count: 3\nsize: 4\nin-pack: 17\npacks: 1\nsize-pack: 12\ngarbage: 0\nsize-garbage: 0\n"
|
|
got := parseCountObjects(out)
|
|
want := CountObjectsResult{
|
|
Count: 3, Size: 4 * 1024,
|
|
InPack: 17, Packs: 1, SizePack: 12 * 1024,
|
|
}
|
|
if *got != want {
|
|
t.Errorf("parseCountObjects = %+v, want %+v", *got, want)
|
|
}
|
|
if got.TotalSize() != (4+12)*1024 {
|
|
t.Errorf("TotalSize = %d, want %d", got.TotalSize(), (4+12)*1024)
|
|
}
|
|
}
|
|
|
|
func TestCountObjectsOnFixture(t *testing.T) {
|
|
f := newFixture(t)
|
|
co, err := f.repo.CountObjects()
|
|
if err != nil {
|
|
t.Fatalf("CountObjects: %v", err)
|
|
}
|
|
|
|
if co.Count+co.InPack < 5 {
|
|
t.Errorf("object count = %d (loose) + %d (packed), want >= 5", co.Count, co.InPack)
|
|
}
|
|
if co.TotalSize() <= 0 {
|
|
t.Errorf("TotalSize = %d, want > 0", co.TotalSize())
|
|
}
|
|
|
|
stats, err := f.repo.GetStats()
|
|
if err != nil {
|
|
t.Fatalf("GetStats: %v", err)
|
|
}
|
|
if stats.TotalSize <= 0 {
|
|
t.Errorf("stats.TotalSize = %d, want > 0", stats.TotalSize)
|
|
}
|
|
}
|