ref: 36983e6189a717f1d4d1da6652621d7f8fe186ad
parent: d73e37387ca0012bd58bd3f36a0477854b41ab6e
author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
date: Tue Feb 18 13:52:35 EST 2020
Add some cagegories to the site collections benchmarks
--- a/hugolib/site_benchmark_new_test.go
+++ b/hugolib/site_benchmark_new_test.go
@@ -35,7 +35,7 @@
func getBenchmarkSiteDeepContent(b testing.TB) *sitesBuilder {
pageContent := func(size int) string {
- return getBenchmarkTestDataPageContentForMarkdown(size, benchmarkMarkdownSnippets)
+ return getBenchmarkTestDataPageContentForMarkdown(size, "", benchmarkMarkdownSnippets)
}
sb := newTestSitesBuilder(b).WithConfigFile("toml", `
@@ -85,14 +85,22 @@
return sb
}
-func getBenchmarkTestDataPageContentForMarkdown(size int, markdown string) string {
- return `---
+func getBenchmarkTestDataPageContentForMarkdown(size int, category, markdown string) string {
+ base := `---
title: "My Page"
+%s
---
My page content.
+`
-` + strings.Repeat(markdown, size)
+ var categoryKey string
+ if category != "" {
+ categoryKey = fmt.Sprintf("categories: [%s]", category)
+ }
+ base = fmt.Sprintf(base, categoryKey)
+
+ return base + strings.Repeat(markdown, size)
}
const benchmarkMarkdownSnippets = `
@@ -111,8 +119,12 @@
func getBenchmarkSiteNewTestCases() []siteBenchmarkTestcase {
+ pageContentWithCategory := func(size int, category string) string {
+ return getBenchmarkTestDataPageContentForMarkdown(size, category, benchmarkMarkdownSnippets)
+ }
+
pageContent := func(size int) string {
- return getBenchmarkTestDataPageContentForMarkdown(size, benchmarkMarkdownSnippets)
+ return getBenchmarkTestDataPageContentForMarkdown(size, "", benchmarkMarkdownSnippets)
}
config := `
@@ -315,12 +327,22 @@
`)
- sb.WithTemplatesAdded("index.html", pageTemplateTemplate)
- sb.WithTemplatesAdded("_default/single.html", pageTemplateTemplate)
- sb.WithTemplatesAdded("_default/list.html", pageTemplateTemplate)
+ sb.WithTemplates("index.html", pageTemplateTemplate)
+ sb.WithTemplates("_default/single.html", pageTemplateTemplate)
+ sb.WithTemplates("_default/list.html", pageTemplateTemplate)
+ r := rand.New(rand.NewSource(99))
+
createContent := func(dir, name string) {
- sb.WithContent(filepath.Join("content", dir, name), pageContent(1))
+ var content string
+ if strings.Contains(name, "_index") {
+ content = pageContent(1)
+
+ } else {
+ content = pageContentWithCategory(1, fmt.Sprintf("category%d", r.Intn(5)+1))
+ }
+
+ sb.WithContent(filepath.Join("content", dir, name), content)
}
createBundledFiles := func(dir string) {
@@ -329,8 +351,6 @@
sb.WithContent(filepath.Join("content", dir, fmt.Sprintf("page%d.md", i)), pageContent(1))
}
}
-
- r := rand.New(rand.NewSource(99))
for _, lang := range []string{"en", "fr", "no", "sv"} {
for level := 1; level <= r.Intn(5)+1; level++ {