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) } }