# Run chatty tests. Assert on CONT lines.
! go test chatty_test.go -v -bench . chatty_bench

# Sanity check that output occurs.
stdout -count=2 'this is sub-0'
stdout -count=2 'this is sub-1'
stdout -count=2 'this is sub-2'
stdout -count=1 'error from sub-0'
stdout -count=1 'error from sub-1'
stdout -count=1 'error from sub-2'

# Benchmarks should not print CONT.
! stdout CONT

-- chatty_test.go --
package chatty_bench

import (
	"testing"
	"fmt"
)

func BenchmarkChatty(b *testing.B) {
    for i := 0; i < 3; i++ {
        b.Run(fmt.Sprintf("sub-%d", i), func(b *testing.B) {
            for j := 0; j < 2; j++ {
                b.Logf("this is sub-%d", i)
            }
            b.Errorf("error from sub-%d", i)
        })
    }
}