Skip to content

Commit 0f7173a

Browse files
committed
testdata: gzip compress raw files
This reduces the package size substantially. Fixes #202.
1 parent 2bb851f commit 0f7173a

36 files changed

+70
-114727
lines changed

bench_test.go

+38-18
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@ package lz4_test
22

33
import (
44
"bytes"
5+
"compress/gzip"
56
"io"
67
"io/ioutil"
8+
"os"
9+
"strings"
710
"testing"
811

912
"github.com/pierrec/lz4/v4"
@@ -68,23 +71,28 @@ func BenchmarkUncompress(b *testing.B) {
6871
}
6972

7073
func mustLoadFile(f string) []byte {
71-
b, err := ioutil.ReadFile(f)
74+
var b []byte
75+
var err error
76+
if strings.HasSuffix(f, ".gz") {
77+
b, err = loadGoldenGz(f)
78+
} else {
79+
b, err = ioutil.ReadFile(f)
80+
}
7281
if err != nil {
7382
panic(err)
7483
}
7584
return b
7685
}
7786

7887
var (
79-
pg1661 = mustLoadFile("testdata/pg1661.txt")
80-
digits = mustLoadFile("testdata/e.txt")
81-
twain = mustLoadFile("testdata/Mark.Twain-Tom.Sawyer.txt")
82-
random = mustLoadFile("testdata/random.data")
88+
pg1661 = mustLoadFile("testdata/pg1661.txt.gz")
89+
digits = mustLoadFile("testdata/e.txt.gz")
90+
twain = mustLoadFile("testdata/Mark.Twain-Tom.Sawyer.txt.gz")
91+
random = mustLoadFile("testdata/random.data.gz")
8392
pg1661LZ4 = mustLoadFile("testdata/pg1661.txt.lz4")
8493
digitsLZ4 = mustLoadFile("testdata/e.txt.lz4")
8594
twainLZ4 = mustLoadFile("testdata/Mark.Twain-Tom.Sawyer.txt.lz4")
8695
randomLZ4 = mustLoadFile("testdata/random.data.lz4")
87-
repeatLz4 = mustLoadFile("testdata/repeat.txt.lz4")
8896
)
8997

9098
func benchmarkUncompress(b *testing.B, compressed []byte) {
@@ -162,18 +170,30 @@ func BenchmarkWriterReset(b *testing.B) {
162170
}
163171
}
164172

165-
func BenchmarkReaderNoReset(b *testing.B) {
166-
compressed := repeatLz4
167-
b.ReportAllocs()
168-
b.ResetTimer()
173+
// Golden files are compressed with gzip.
174+
func loadGolden(t *testing.T, fname string) []byte {
175+
fname = strings.Replace(fname, ".lz4", ".gz", 1)
176+
t.Helper()
177+
b, err := loadGoldenGz(fname)
178+
if err != nil {
179+
t.Fatal(err)
180+
}
181+
return b
182+
}
169183

170-
for i := 0; i < b.N; i++ {
171-
r := bytes.NewReader(compressed)
172-
zr := lz4.NewReader(r)
173-
buf := bytes.NewBuffer(nil)
174-
_, err := buf.ReadFrom(zr)
175-
if err != nil {
176-
b.Fatal(err)
177-
}
184+
func loadGoldenGz(fname string) ([]byte, error) {
185+
file, err := os.Open(fname)
186+
if err != nil {
187+
return nil, err
188+
}
189+
defer file.Close()
190+
gzr, err := gzip.NewReader(file)
191+
if err != nil {
192+
return nil, err
193+
}
194+
buf := bytes.NewBuffer(nil)
195+
if _, err := io.Copy(buf, gzr); err != nil {
196+
return nil, err
178197
}
198+
return buf.Bytes(), nil
179199
}

compressing_reader_test.go

+9-9
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ import (
1212

1313
func TestCompressingReader(t *testing.T) {
1414
goldenFiles := []string{
15-
"testdata/e.txt",
16-
"testdata/gettysburg.txt",
17-
"testdata/Mark.Twain-Tom.Sawyer.txt",
18-
"testdata/Mark.Twain-Tom.Sawyer_long.txt",
19-
"testdata/pg1661.txt",
20-
"testdata/pi.txt",
21-
"testdata/random.data",
22-
"testdata/repeat.txt",
23-
"testdata/issue102.data",
15+
"testdata/e.txt.gz",
16+
"testdata/gettysburg.txt.gz",
17+
"testdata/Mark.Twain-Tom.Sawyer.txt.gz",
18+
"testdata/Mark.Twain-Tom.Sawyer_long.txt.gz",
19+
"testdata/pg1661.txt.gz",
20+
"testdata/pi.txt.gz",
21+
"testdata/random.data.gz",
22+
"testdata/repeat.txt.gz",
23+
"testdata/issue102.data.gz",
2424
}
2525

2626
for _, fname := range goldenFiles {

reader_test.go

+3-10
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,7 @@ func TestReader(t *testing.T) {
8383
}
8484
defer f.Close()
8585

86-
rawfile := strings.TrimSuffix(fname, ".lz4")
87-
_raw, err := ioutil.ReadFile(rawfile)
88-
if err != nil {
89-
t.Fatal(err)
90-
}
86+
_raw := loadGolden(t, fname)
9187
var raw []byte
9288
if isText && runtime.GOOS == "windows" {
9389
raw = []byte(strings.ReplaceAll(string(_raw), "\r\n", "\n"))
@@ -206,11 +202,8 @@ func TestReaderLegacy(t *testing.T) {
206202
t.Parallel()
207203

208204
var out bytes.Buffer
209-
rawfile := strings.TrimSuffix(fname, ".lz4")
210-
raw, err := ioutil.ReadFile(rawfile)
211-
if err != nil {
212-
t.Fatal(err)
213-
}
205+
rawfile := strings.Replace(fname, ".lz4", ".gz", 1)
206+
raw := loadGolden(t, rawfile)
214207

215208
f, err := os.Open(fname)
216209
if err != nil {

0 commit comments

Comments
 (0)