hugolib: Add BenchmarkGetPage

This commit is contained in:
Bjørn Erik Pedersen 2017-05-23 12:10:15 +03:00
parent 89b85aede1
commit 6c560288a6
2 changed files with 32 additions and 2 deletions

View file

@ -1105,3 +1105,33 @@ func TestSourceRelativeLinkFileing(t *testing.T) {
} }
} }
} }
func BenchmarkGetPage(b *testing.B) {
var (
cfg, fs = newTestCfg()
)
for i := 0; i < 10; i++ {
for j := 0; j < 100; j++ {
writeSource(b, fs, filepath.Join("content", fmt.Sprintf("sect%d", i), fmt.Sprintf("page%d.md", j)), "CONTENT")
}
}
s := buildSingleSite(b, deps.DepsCfg{Fs: fs, Cfg: cfg}, BuildCfg{SkipRender: true})
b.ResetTimer()
for i := 0; i < b.N; i++ {
home := s.getPage(KindHome)
if home == nil {
b.Fatal("Home is nil")
}
for i := 0; i < 10; i++ {
sect := fmt.Sprintf("sect%d", i)
p := s.getPage(KindSection, sect)
if p == nil {
b.Fatal(fmt.Sprintf("Section %q is nil", sect))
}
}
}
}

View file

@ -182,11 +182,11 @@ func createWithTemplateFromNameValues(additionalTemplates ...string) func(templ
} }
} }
func buildSingleSite(t *testing.T, depsCfg deps.DepsCfg, buildCfg BuildCfg) *Site { func buildSingleSite(t testing.TB, depsCfg deps.DepsCfg, buildCfg BuildCfg) *Site {
return buildSingleSiteExpected(t, false, depsCfg, buildCfg) return buildSingleSiteExpected(t, false, depsCfg, buildCfg)
} }
func buildSingleSiteExpected(t *testing.T, expectBuildError bool, depsCfg deps.DepsCfg, buildCfg BuildCfg) *Site { func buildSingleSiteExpected(t testing.TB, expectBuildError bool, depsCfg deps.DepsCfg, buildCfg BuildCfg) *Site {
h, err := NewHugoSites(depsCfg) h, err := NewHugoSites(depsCfg)
require.NoError(t, err) require.NoError(t, err)