From 6c560288a6329305ae3327a589e072e56bc9970d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Tue, 23 May 2017 12:10:15 +0300 Subject: [PATCH] hugolib: Add BenchmarkGetPage --- hugolib/site_test.go | 30 ++++++++++++++++++++++++++++++ hugolib/testhelpers_test.go | 4 ++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/hugolib/site_test.go b/hugolib/site_test.go index 3868055e9..bf5f9d547 100644 --- a/hugolib/site_test.go +++ b/hugolib/site_test.go @@ -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)) + } + } + } +} diff --git a/hugolib/testhelpers_test.go b/hugolib/testhelpers_test.go index f82399eef..5b3012a1d 100644 --- a/hugolib/testhelpers_test.go +++ b/hugolib/testhelpers_test.go @@ -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) } -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) require.NoError(t, err)