transform: Reduce allocation in the benchmark itself - hugo - [fork] hugo port for 9front
(HTM) git clone git@git.drkhsh.at/hugo.git
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Submodules
(DIR) README
(DIR) LICENSE
---
(DIR) commit a6b1eb1e9150aa5c1c86fe7424cc4167d6f59a5a
(DIR) parent 27110133ffca05feae2e11a9ff28a9a00f613350
(HTM) Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date: Sun, 5 Aug 2018 17:27:16 +0200
transform: Reduce allocation in the benchmark itself
Diffstat:
M transform/chain_test.go | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
---
(DIR) diff --git a/transform/chain_test.go b/transform/chain_test.go
@@ -19,6 +19,7 @@ import (
"strings"
"testing"
+ bp "github.com/gohugoio/hugo/bufferpool"
"github.com/gohugoio/hugo/helpers"
"github.com/stretchr/testify/assert"
)
@@ -235,16 +236,24 @@ func TestNewEmptyTransforms(t *testing.T) {
type errorf func(string, ...interface{})
func applyWithPath(ef errorf, tr chain, tests []test, path string) {
+ out := bp.GetBuffer()
+ defer bp.PutBuffer(out)
+
+ in := bp.GetBuffer()
+ defer bp.PutBuffer(in)
+
for _, test := range tests {
- out := new(bytes.Buffer)
var err error
- err = tr.Apply(out, strings.NewReader(test.content), []byte(path))
+ in.WriteString(test.content)
+ err = tr.Apply(out, in, []byte(path))
if err != nil {
ef("Unexpected error: %s", err)
}
- if test.expected != string(out.Bytes()) {
- ef("Expected:\n%s\nGot:\n%s", test.expected, string(out.Bytes()))
+ if test.expected != out.String() {
+ ef("Expected:\n%s\nGot:\n%s", test.expected, out.String())
}
+ out.Reset()
+ in.Reset()
}
}