ref: 6c560288a6329305ae3327a589e072e56bc9970d
parent: 89b85aede15cbf6f03e59ede92cd3e99a544632e
author: Bjørn Erik Pedersen <[email protected]>
date: Tue May 23 08:10:15 EDT 2017
hugolib: Add BenchmarkGetPage
--- a/hugolib/site_test.go
+++ b/hugolib/site_test.go
@@ -1105,3 +1105,33 @@
}
}
}
+
+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))
+ }
+ }
+ }
+}
--- a/hugolib/testhelpers_test.go
+++ b/hugolib/testhelpers_test.go
@@ -182,11 +182,11 @@
}
}
-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)