Skip to content

Commit b119fa3

Browse files
authored
Merge pull request #35 from nirs/fix-discard
Use our own Discard for testing
2 parents 5641962 + 5512113 commit b119fa3

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

qcow2reader_test.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ func benchmarkRead(b *testing.B, filename string) {
129129
defer img.Close()
130130
buf := make([]byte, 1*MiB)
131131
reader := io.NewSectionReader(img, 0, img.Size())
132-
n, err := io.CopyBuffer(io.Discard, reader, buf)
132+
n, err := io.CopyBuffer(Discard, reader, buf)
133133

134134
b.StopTimer()
135135

@@ -141,6 +141,17 @@ func benchmarkRead(b *testing.B, filename string) {
141141
}
142142
}
143143

144+
// We cannot use io.Discard since it implements ReadFrom using small buffers
145+
// size (8192), confusing our test results. Reads smaller than cluster size (64
146+
// KiB) are extremely inefficient with compressed clusters.
147+
type discard struct{}
148+
149+
func (discard) Write(p []byte) (int, error) {
150+
return len(p), nil
151+
}
152+
153+
var Discard = discard{}
154+
144155
func resetBenchmark(b *testing.B, size int64) {
145156
b.StopTimer()
146157
b.ResetTimer()

0 commit comments

Comments
 (0)