extzstd 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/contrib/zstd/CHANGELOG +188 -1
- data/contrib/zstd/CONTRIBUTING.md +157 -74
- data/contrib/zstd/LICENSE +4 -4
- data/contrib/zstd/Makefile +81 -58
- data/contrib/zstd/Package.swift +36 -0
- data/contrib/zstd/README.md +59 -35
- data/contrib/zstd/TESTING.md +2 -3
- data/contrib/zstd/appveyor.yml +49 -136
- data/contrib/zstd/lib/BUCK +5 -7
- data/contrib/zstd/lib/Makefile +87 -181
- data/contrib/zstd/lib/README.md +23 -6
- data/contrib/zstd/lib/common/allocations.h +55 -0
- data/contrib/zstd/lib/common/bits.h +200 -0
- data/contrib/zstd/lib/common/bitstream.h +33 -59
- data/contrib/zstd/lib/common/compiler.h +115 -45
- data/contrib/zstd/lib/common/cpu.h +1 -1
- data/contrib/zstd/lib/common/debug.c +1 -1
- data/contrib/zstd/lib/common/debug.h +1 -1
- data/contrib/zstd/lib/common/entropy_common.c +15 -37
- data/contrib/zstd/lib/common/error_private.c +9 -2
- data/contrib/zstd/lib/common/error_private.h +82 -3
- data/contrib/zstd/lib/common/fse.h +9 -85
- data/contrib/zstd/lib/common/fse_decompress.c +29 -111
- data/contrib/zstd/lib/common/huf.h +84 -172
- data/contrib/zstd/lib/common/mem.h +58 -49
- data/contrib/zstd/lib/common/pool.c +37 -16
- data/contrib/zstd/lib/common/pool.h +9 -3
- data/contrib/zstd/lib/common/portability_macros.h +156 -0
- data/contrib/zstd/lib/common/threading.c +68 -14
- data/contrib/zstd/lib/common/threading.h +5 -10
- data/contrib/zstd/lib/common/xxhash.c +7 -809
- data/contrib/zstd/lib/common/xxhash.h +5568 -167
- data/contrib/zstd/lib/common/zstd_common.c +1 -36
- data/contrib/zstd/lib/common/zstd_deps.h +1 -1
- data/contrib/zstd/lib/common/zstd_internal.h +64 -150
- data/contrib/zstd/lib/common/zstd_trace.h +163 -0
- data/contrib/zstd/lib/compress/clevels.h +134 -0
- data/contrib/zstd/lib/compress/fse_compress.c +69 -150
- data/contrib/zstd/lib/compress/hist.c +1 -1
- data/contrib/zstd/lib/compress/hist.h +1 -1
- data/contrib/zstd/lib/compress/huf_compress.c +773 -251
- data/contrib/zstd/lib/compress/zstd_compress.c +2650 -826
- data/contrib/zstd/lib/compress/zstd_compress_internal.h +509 -180
- data/contrib/zstd/lib/compress/zstd_compress_literals.c +117 -40
- data/contrib/zstd/lib/compress/zstd_compress_literals.h +16 -6
- data/contrib/zstd/lib/compress/zstd_compress_sequences.c +28 -19
- data/contrib/zstd/lib/compress/zstd_compress_sequences.h +1 -1
- data/contrib/zstd/lib/compress/zstd_compress_superblock.c +33 -305
- data/contrib/zstd/lib/compress/zstd_compress_superblock.h +1 -1
- data/contrib/zstd/lib/compress/zstd_cwksp.h +266 -85
- data/contrib/zstd/lib/compress/zstd_double_fast.c +369 -132
- data/contrib/zstd/lib/compress/zstd_double_fast.h +3 -2
- data/contrib/zstd/lib/compress/zstd_fast.c +722 -258
- data/contrib/zstd/lib/compress/zstd_fast.h +3 -2
- data/contrib/zstd/lib/compress/zstd_lazy.c +1105 -360
- data/contrib/zstd/lib/compress/zstd_lazy.h +41 -1
- data/contrib/zstd/lib/compress/zstd_ldm.c +272 -208
- data/contrib/zstd/lib/compress/zstd_ldm.h +3 -2
- data/contrib/zstd/lib/compress/zstd_ldm_geartab.h +106 -0
- data/contrib/zstd/lib/compress/zstd_opt.c +324 -197
- data/contrib/zstd/lib/compress/zstd_opt.h +1 -1
- data/contrib/zstd/lib/compress/zstdmt_compress.c +109 -53
- data/contrib/zstd/lib/compress/zstdmt_compress.h +9 -6
- data/contrib/zstd/lib/decompress/huf_decompress.c +1071 -539
- data/contrib/zstd/lib/decompress/huf_decompress_amd64.S +576 -0
- data/contrib/zstd/lib/decompress/zstd_ddict.c +4 -4
- data/contrib/zstd/lib/decompress/zstd_ddict.h +1 -1
- data/contrib/zstd/lib/decompress/zstd_decompress.c +507 -82
- data/contrib/zstd/lib/decompress/zstd_decompress_block.c +962 -310
- data/contrib/zstd/lib/decompress/zstd_decompress_block.h +14 -3
- data/contrib/zstd/lib/decompress/zstd_decompress_internal.h +54 -6
- data/contrib/zstd/lib/deprecated/zbuff.h +1 -1
- data/contrib/zstd/lib/deprecated/zbuff_common.c +1 -1
- data/contrib/zstd/lib/deprecated/zbuff_compress.c +24 -4
- data/contrib/zstd/lib/deprecated/zbuff_decompress.c +3 -1
- data/contrib/zstd/lib/dictBuilder/cover.c +44 -32
- data/contrib/zstd/lib/dictBuilder/cover.h +6 -5
- data/contrib/zstd/lib/dictBuilder/divsufsort.c +1 -1
- data/contrib/zstd/lib/dictBuilder/fastcover.c +24 -16
- data/contrib/zstd/lib/dictBuilder/zdict.c +88 -95
- data/contrib/zstd/lib/legacy/zstd_legacy.h +8 -1
- data/contrib/zstd/lib/legacy/zstd_v01.c +16 -53
- data/contrib/zstd/lib/legacy/zstd_v01.h +1 -1
- data/contrib/zstd/lib/legacy/zstd_v02.c +24 -69
- data/contrib/zstd/lib/legacy/zstd_v02.h +1 -1
- data/contrib/zstd/lib/legacy/zstd_v03.c +25 -72
- data/contrib/zstd/lib/legacy/zstd_v03.h +1 -1
- data/contrib/zstd/lib/legacy/zstd_v04.c +23 -69
- data/contrib/zstd/lib/legacy/zstd_v04.h +1 -1
- data/contrib/zstd/lib/legacy/zstd_v05.c +35 -85
- data/contrib/zstd/lib/legacy/zstd_v05.h +1 -1
- data/contrib/zstd/lib/legacy/zstd_v06.c +42 -87
- data/contrib/zstd/lib/legacy/zstd_v06.h +1 -1
- data/contrib/zstd/lib/legacy/zstd_v07.c +35 -82
- data/contrib/zstd/lib/legacy/zstd_v07.h +1 -1
- data/contrib/zstd/lib/libzstd.mk +214 -0
- data/contrib/zstd/lib/libzstd.pc.in +4 -3
- data/contrib/zstd/lib/module.modulemap +35 -0
- data/contrib/zstd/lib/{dictBuilder/zdict.h → zdict.h} +202 -33
- data/contrib/zstd/lib/zstd.h +922 -293
- data/contrib/zstd/lib/{common/zstd_errors.h → zstd_errors.h} +27 -8
- data/ext/extconf.rb +7 -6
- data/ext/extzstd.c +13 -10
- data/ext/libzstd_conf.h +0 -1
- data/ext/zstd_decompress_asm.S +1 -0
- metadata +16 -5
data/contrib/zstd/Makefile
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# ################################################################
|
2
|
-
# Copyright (c)
|
2
|
+
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
3
3
|
# All rights reserved.
|
4
4
|
#
|
5
5
|
# This source code is licensed under both the BSD-style license (found in the
|
@@ -29,6 +29,7 @@ VOID = /dev/null
|
|
29
29
|
# fail on other tested distros (ubuntu, debian) even
|
30
30
|
# without manually specifying the TARGET_SYSTEM.
|
31
31
|
TARGET_SYSTEM ?= $(OS)
|
32
|
+
CP ?= cp
|
32
33
|
|
33
34
|
ifneq (,$(filter Windows%,$(TARGET_SYSTEM)))
|
34
35
|
EXT =.exe
|
@@ -48,7 +49,7 @@ allmost: allzstd zlibwrapper
|
|
48
49
|
|
49
50
|
# skip zwrapper, can't build that on alternate architectures without the proper zlib installed
|
50
51
|
.PHONY: allzstd
|
51
|
-
allzstd: lib
|
52
|
+
allzstd: lib
|
52
53
|
$(Q)$(MAKE) -C $(PRGDIR) all
|
53
54
|
$(Q)$(MAKE) -C $(TESTDIR) all
|
54
55
|
|
@@ -57,9 +58,8 @@ all32:
|
|
57
58
|
$(MAKE) -C $(PRGDIR) zstd32
|
58
59
|
$(MAKE) -C $(TESTDIR) all32
|
59
60
|
|
60
|
-
.PHONY: lib lib-release
|
61
|
-
lib-
|
62
|
-
lib lib-release lib-all :
|
61
|
+
.PHONY: lib lib-release lib-mt lib-nomt
|
62
|
+
lib lib-release lib-mt lib-nomt:
|
63
63
|
$(Q)$(MAKE) -C $(ZSTDDIR) $@
|
64
64
|
|
65
65
|
.PHONY: zstd zstd-release
|
@@ -70,7 +70,7 @@ zstd zstd-release:
|
|
70
70
|
.PHONY: zstdmt
|
71
71
|
zstdmt:
|
72
72
|
$(Q)$(MAKE) -C $(PRGDIR) $@
|
73
|
-
$(Q)
|
73
|
+
$(Q)$(CP) $(PRGDIR)/zstd$(EXT) ./zstdmt$(EXT)
|
74
74
|
|
75
75
|
.PHONY: zlibwrapper
|
76
76
|
zlibwrapper: lib
|
@@ -123,8 +123,9 @@ contrib: lib
|
|
123
123
|
$(MAKE) -C contrib/seekable_format/examples all
|
124
124
|
$(MAKE) -C contrib/seekable_format/tests test
|
125
125
|
$(MAKE) -C contrib/largeNbDicts all
|
126
|
-
|
127
|
-
cd
|
126
|
+
$(MAKE) -C contrib/externalSequenceProducer all
|
127
|
+
cd build/single_file_libs/ ; ./build_decoder_test.sh
|
128
|
+
cd build/single_file_libs/ ; ./build_library_test.sh
|
128
129
|
|
129
130
|
.PHONY: cleanTabs
|
130
131
|
cleanTabs:
|
@@ -142,6 +143,7 @@ clean:
|
|
142
143
|
$(Q)$(MAKE) -C contrib/seekable_format/examples $@ > $(VOID)
|
143
144
|
$(Q)$(MAKE) -C contrib/seekable_format/tests $@ > $(VOID)
|
144
145
|
$(Q)$(MAKE) -C contrib/largeNbDicts $@ > $(VOID)
|
146
|
+
$(Q)$(MAKE) -C contrib/externalSequenceProducer $@ > $(VOID)
|
145
147
|
$(Q)$(RM) zstd$(EXT) zstdmt$(EXT) tmp*
|
146
148
|
$(Q)$(RM) -r lz4
|
147
149
|
@echo Cleaning completed
|
@@ -149,14 +151,15 @@ clean:
|
|
149
151
|
#------------------------------------------------------------------------------
|
150
152
|
# make install is validated only for Linux, macOS, Hurd and some BSD targets
|
151
153
|
#------------------------------------------------------------------------------
|
152
|
-
ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD DragonFly NetBSD MSYS_NT Haiku))
|
154
|
+
ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU OpenBSD FreeBSD DragonFly NetBSD MSYS_NT Haiku AIX))
|
153
155
|
|
154
156
|
HOST_OS = POSIX
|
155
|
-
|
157
|
+
|
158
|
+
MKDIR ?= mkdir -p
|
156
159
|
|
157
160
|
HAVE_COLORNEVER = $(shell echo a | egrep --color=never a > /dev/null 2> /dev/null && echo 1 || echo 0)
|
158
161
|
EGREP_OPTIONS ?=
|
159
|
-
ifeq ($HAVE_COLORNEVER, 1)
|
162
|
+
ifeq ($(HAVE_COLORNEVER), 1)
|
160
163
|
EGREP_OPTIONS += --color=never
|
161
164
|
endif
|
162
165
|
EGREP = egrep $(EGREP_OPTIONS)
|
@@ -180,7 +183,7 @@ list:
|
|
180
183
|
done \
|
181
184
|
} | column -t -s $$'\t'
|
182
185
|
|
183
|
-
.PHONY: install armtest usan asan uasan
|
186
|
+
.PHONY: install armtest usan asan uasan msan asan32
|
184
187
|
install:
|
185
188
|
$(Q)$(MAKE) -C $(ZSTDDIR) $@
|
186
189
|
$(Q)$(MAKE) -C $(PRGDIR) $@
|
@@ -194,22 +197,19 @@ uninstall:
|
|
194
197
|
travis-install:
|
195
198
|
$(MAKE) install PREFIX=~/install_test_dir
|
196
199
|
|
197
|
-
.PHONY: gcc5build
|
200
|
+
.PHONY: gcc5build gcc6build gcc7build clangbuild m32build armbuild aarch64build ppcbuild ppc64build
|
198
201
|
gcc5build: clean
|
199
202
|
gcc-5 -v
|
200
|
-
CC=gcc-5 $(MAKE) all MOREFLAGS="-Werror"
|
203
|
+
CC=gcc-5 $(MAKE) all MOREFLAGS="-Werror $(MOREFLAGS)"
|
201
204
|
|
202
|
-
.PHONY: gcc6build
|
203
205
|
gcc6build: clean
|
204
206
|
gcc-6 -v
|
205
|
-
CC=gcc-6 $(MAKE) all MOREFLAGS="-Werror"
|
207
|
+
CC=gcc-6 $(MAKE) all MOREFLAGS="-Werror $(MOREFLAGS)"
|
206
208
|
|
207
|
-
.PHONY: gcc7build
|
208
209
|
gcc7build: clean
|
209
210
|
gcc-7 -v
|
210
|
-
CC=gcc-7 $(MAKE) all MOREFLAGS="-Werror"
|
211
|
+
CC=gcc-7 $(MAKE) all MOREFLAGS="-Werror $(MOREFLAGS)"
|
211
212
|
|
212
|
-
.PHONY: clangbuild
|
213
213
|
clangbuild: clean
|
214
214
|
clang -v
|
215
215
|
CXX=clang++ CC=clang CFLAGS="-Werror -Wconversion -Wno-sign-conversion -Wdocumentation" $(MAKE) all
|
@@ -222,61 +222,63 @@ armbuild: clean
|
|
222
222
|
CC=arm-linux-gnueabi-gcc CFLAGS="-Werror" $(MAKE) allzstd
|
223
223
|
|
224
224
|
aarch64build: clean
|
225
|
-
CC=aarch64-linux-gnu-gcc CFLAGS="-Werror" $(MAKE) allzstd
|
225
|
+
CC=aarch64-linux-gnu-gcc CFLAGS="-Werror -O0" $(MAKE) allzstd
|
226
226
|
|
227
227
|
ppcbuild: clean
|
228
|
-
CC=powerpc-linux-gnu-gcc CFLAGS="-m32 -Wno-attributes -Werror" $(MAKE) allzstd
|
228
|
+
CC=powerpc-linux-gnu-gcc CFLAGS="-m32 -Wno-attributes -Werror" $(MAKE) -j allzstd
|
229
229
|
|
230
230
|
ppc64build: clean
|
231
|
-
CC=powerpc-linux-gnu-gcc CFLAGS="-m64 -Werror" $(MAKE) allzstd
|
231
|
+
CC=powerpc-linux-gnu-gcc CFLAGS="-m64 -Werror" $(MAKE) -j allzstd
|
232
232
|
|
233
|
+
.PHONY: armfuzz aarch64fuzz ppcfuzz ppc64fuzz
|
233
234
|
armfuzz: clean
|
234
|
-
CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static MOREFLAGS="-static" FUZZER_FLAGS
|
235
|
+
CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static MOREFLAGS="-static $(MOREFLAGS)" FUZZER_FLAGS="--no-big-tests $(FUZZER_FLAGS)" $(MAKE) -C $(TESTDIR) fuzztest
|
235
236
|
|
236
237
|
aarch64fuzz: clean
|
237
238
|
ld -v
|
238
|
-
CC=aarch64-linux-gnu-gcc QEMU_SYS=qemu-aarch64-static MOREFLAGS="-static" FUZZER_FLAGS
|
239
|
+
CC=aarch64-linux-gnu-gcc QEMU_SYS=qemu-aarch64-static MOREFLAGS="-static $(MOREFLAGS)" FUZZER_FLAGS="--no-big-tests $(FUZZER_FLAGS)" $(MAKE) -C $(TESTDIR) fuzztest
|
239
240
|
|
240
241
|
ppcfuzz: clean
|
241
|
-
CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc-static MOREFLAGS="-static" FUZZER_FLAGS
|
242
|
+
CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc-static MOREFLAGS="-static $(MOREFLAGS)" FUZZER_FLAGS="--no-big-tests $(FUZZER_FLAGS)" $(MAKE) -C $(TESTDIR) fuzztest
|
242
243
|
|
243
244
|
ppc64fuzz: clean
|
244
|
-
CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc64-static MOREFLAGS="-m64 -static" FUZZER_FLAGS
|
245
|
+
CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc64-static MOREFLAGS="-m64 -static $(MOREFLAGS)" FUZZER_FLAGS="--no-big-tests $(FUZZER_FLAGS)" $(MAKE) -C $(TESTDIR) fuzztest
|
245
246
|
|
246
|
-
.PHONY: cxxtest
|
247
|
+
.PHONY: cxxtest gcc5test gcc6test armtest aarch64test ppctest ppc64test
|
247
248
|
cxxtest: CXXFLAGS += -Wall -Wextra -Wundef -Wshadow -Wcast-align -Werror
|
248
249
|
cxxtest: clean
|
249
250
|
$(MAKE) -C $(PRGDIR) all CC="$(CXX) -Wno-deprecated" CFLAGS="$(CXXFLAGS)" # adding -Wno-deprecated to avoid clang++ warning on dealing with C files directly
|
250
251
|
|
251
252
|
gcc5test: clean
|
252
253
|
gcc-5 -v
|
253
|
-
$(MAKE) all CC=gcc-5 MOREFLAGS="-Werror"
|
254
|
+
$(MAKE) all CC=gcc-5 MOREFLAGS="-Werror $(MOREFLAGS)"
|
254
255
|
|
255
256
|
gcc6test: clean
|
256
257
|
gcc-6 -v
|
257
|
-
$(MAKE) all CC=gcc-6 MOREFLAGS="-Werror"
|
258
|
+
$(MAKE) all CC=gcc-6 MOREFLAGS="-Werror $(MOREFLAGS)"
|
258
259
|
|
259
260
|
armtest: clean
|
260
261
|
$(MAKE) -C $(TESTDIR) datagen # use native, faster
|
261
|
-
$(MAKE) -C $(TESTDIR) test CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static ZSTDRTTEST= MOREFLAGS="-Werror -static" FUZZER_FLAGS
|
262
|
+
$(MAKE) -C $(TESTDIR) test CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static ZSTDRTTEST= MOREFLAGS="-Werror -static $(MOREFLAGS)" FUZZER_FLAGS="--no-big-tests $(FUZZER_FLAGS)"
|
262
263
|
|
263
264
|
aarch64test:
|
264
265
|
$(MAKE) -C $(TESTDIR) datagen # use native, faster
|
265
|
-
$(MAKE) -C $(TESTDIR) test CC=aarch64-linux-gnu-gcc QEMU_SYS=qemu-aarch64-static ZSTDRTTEST= MOREFLAGS="-Werror -static" FUZZER_FLAGS
|
266
|
+
$(MAKE) -C $(TESTDIR) test CC=aarch64-linux-gnu-gcc QEMU_SYS=qemu-aarch64-static ZSTDRTTEST= MOREFLAGS="-Werror -static $(MOREFLAGS)" FUZZER_FLAGS="--no-big-tests $(FUZZER_FLAGS)"
|
266
267
|
|
267
268
|
ppctest: clean
|
268
269
|
$(MAKE) -C $(TESTDIR) datagen # use native, faster
|
269
|
-
$(MAKE) -C $(TESTDIR) test CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc-static ZSTDRTTEST= MOREFLAGS="-Werror -Wno-attributes -static" FUZZER_FLAGS
|
270
|
+
$(MAKE) -C $(TESTDIR) test CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc-static ZSTDRTTEST= MOREFLAGS="-Werror -Wno-attributes -static $(MOREFLAGS)" FUZZER_FLAGS="--no-big-tests $(FUZZER_FLAGS)"
|
270
271
|
|
271
272
|
ppc64test: clean
|
272
273
|
$(MAKE) -C $(TESTDIR) datagen # use native, faster
|
273
|
-
$(MAKE) -C $(TESTDIR) test CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc64-static ZSTDRTTEST= MOREFLAGS="-m64 -static" FUZZER_FLAGS
|
274
|
+
$(MAKE) -C $(TESTDIR) test CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc64-static ZSTDRTTEST= MOREFLAGS="-m64 -static $(MOREFLAGS)" FUZZER_FLAGS="--no-big-tests $(FUZZER_FLAGS)"
|
274
275
|
|
276
|
+
.PHONY: arm-ppc-compilation
|
275
277
|
arm-ppc-compilation:
|
276
|
-
$(MAKE) -C $(PRGDIR) clean zstd CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static ZSTDRTTEST= MOREFLAGS="-Werror -static"
|
277
|
-
$(MAKE) -C $(PRGDIR) clean zstd CC=aarch64-linux-gnu-gcc QEMU_SYS=qemu-aarch64-static ZSTDRTTEST= MOREFLAGS="-Werror -static"
|
278
|
-
$(MAKE) -C $(PRGDIR) clean zstd CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc-static ZSTDRTTEST= MOREFLAGS="-Werror -Wno-attributes -static"
|
279
|
-
$(MAKE) -C $(PRGDIR) clean zstd CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc64-static ZSTDRTTEST= MOREFLAGS="-m64 -static"
|
278
|
+
$(MAKE) -C $(PRGDIR) clean zstd CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static ZSTDRTTEST= MOREFLAGS="-Werror -static $(MOREFLAGS)"
|
279
|
+
$(MAKE) -C $(PRGDIR) clean zstd CC=aarch64-linux-gnu-gcc QEMU_SYS=qemu-aarch64-static ZSTDRTTEST= MOREFLAGS="-Werror -static $(MOREFLAGS)"
|
280
|
+
$(MAKE) -C $(PRGDIR) clean zstd CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc-static ZSTDRTTEST= MOREFLAGS="-Werror -Wno-attributes -static $(MOREFLAGS)"
|
281
|
+
$(MAKE) -C $(PRGDIR) clean zstd CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc64-static ZSTDRTTEST= MOREFLAGS="-m64 -static $(MOREFLAGS)"
|
280
282
|
|
281
283
|
regressiontest:
|
282
284
|
$(MAKE) -C $(FUZZDIR) regressiontest
|
@@ -287,44 +289,63 @@ uasanregressiontest:
|
|
287
289
|
msanregressiontest:
|
288
290
|
$(MAKE) -C $(FUZZDIR) regressiontest CC=clang CXX=clang++ CFLAGS="-O3 -fsanitize=memory" CXXFLAGS="-O3 -fsanitize=memory"
|
289
291
|
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
292
|
+
update_regressionResults : REGRESS_RESULTS_DIR := /tmp/regress_results_dir/
|
293
|
+
update_regressionResults:
|
294
|
+
$(MAKE) -C programs zstd
|
295
|
+
$(MAKE) -C tests/regression test
|
296
|
+
$(RM) -rf $(REGRESS_RESULTS_DIR)
|
297
|
+
$(MKDIR) $(REGRESS_RESULTS_DIR)
|
298
|
+
./tests/regression/test \
|
299
|
+
--cache tests/regression/cache \
|
300
|
+
--output $(REGRESS_RESULTS_DIR)/results.csv \
|
301
|
+
--zstd programs/zstd
|
302
|
+
echo "Showing results differences"
|
303
|
+
! diff tests/regression/results.csv $(REGRESS_RESULTS_DIR)/results.csv
|
304
|
+
echo "Updating results.csv"
|
305
|
+
$(CP) $(REGRESS_RESULTS_DIR)/results.csv tests/regression/results.csv
|
306
|
+
|
307
|
+
|
308
|
+
# run UBsan with -fsanitize-recover=pointer-overflow
|
309
|
+
# this only works with recent compilers such as gcc 8+
|
294
310
|
usan: clean
|
295
|
-
$(MAKE) test CC=clang MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize-recover=
|
311
|
+
$(MAKE) test CC=clang MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize-recover=pointer-overflow -fsanitize=undefined -Werror $(MOREFLAGS)"
|
296
312
|
|
297
313
|
asan: clean
|
298
|
-
$(MAKE) test CC=clang MOREFLAGS="-g -fsanitize=address -Werror"
|
314
|
+
$(MAKE) test CC=clang MOREFLAGS="-g -fsanitize=address -Werror $(MOREFLAGS)"
|
299
315
|
|
300
316
|
asan-%: clean
|
301
|
-
LDFLAGS=-fuse-ld=gold MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize=address -Werror" $(MAKE) -C $(TESTDIR) $*
|
317
|
+
LDFLAGS=-fuse-ld=gold MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize=address -Werror $(MOREFLAGS)" $(MAKE) -C $(TESTDIR) $*
|
302
318
|
|
303
319
|
msan: clean
|
304
|
-
$(MAKE) test CC=clang MOREFLAGS="-g -fsanitize=memory -fno-omit-frame-pointer -Werror" HAVE_LZMA=0 # datagen.c fails this test for no obvious reason
|
320
|
+
$(MAKE) test CC=clang MOREFLAGS="-g -fsanitize=memory -fno-omit-frame-pointer -Werror $(MOREFLAGS)" HAVE_LZMA=0 # datagen.c fails this test for no obvious reason
|
305
321
|
|
306
322
|
msan-%: clean
|
307
|
-
LDFLAGS=-fuse-ld=gold MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize=memory -fno-omit-frame-pointer -Werror" FUZZER_FLAGS
|
323
|
+
LDFLAGS=-fuse-ld=gold MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize=memory -fno-omit-frame-pointer -Werror $(MOREFLAGS)" FUZZER_FLAGS="--no-big-tests $(FUZZER_FLAGS)" $(MAKE) -C $(TESTDIR) HAVE_LZMA=0 $*
|
308
324
|
|
309
325
|
asan32: clean
|
310
|
-
$(MAKE) -C $(TESTDIR) test32 CC=clang MOREFLAGS="-g -fsanitize=address"
|
326
|
+
$(MAKE) -C $(TESTDIR) test32 CC=clang MOREFLAGS="-g -fsanitize=address $(MOREFLAGS)"
|
311
327
|
|
312
328
|
uasan: clean
|
313
|
-
$(MAKE) test CC=clang MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize-recover=
|
329
|
+
$(MAKE) test CC=clang MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize-recover=pointer-overflow -fsanitize=address,undefined -Werror $(MOREFLAGS)"
|
314
330
|
|
315
331
|
uasan-%: clean
|
316
|
-
LDFLAGS=-fuse-ld=gold MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize-recover=
|
332
|
+
LDFLAGS=-fuse-ld=gold MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize-recover=pointer-overflow -fsanitize=address,undefined -Werror $(MOREFLAGS)" $(MAKE) -C $(TESTDIR) $*
|
317
333
|
|
318
334
|
tsan-%: clean
|
319
|
-
LDFLAGS=-fuse-ld=gold MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize=thread -Werror" $(MAKE) -C $(TESTDIR) $* FUZZER_FLAGS
|
335
|
+
LDFLAGS=-fuse-ld=gold MOREFLAGS="-g -fno-sanitize-recover=all -fsanitize=thread -Werror $(MOREFLAGS)" $(MAKE) -C $(TESTDIR) $* FUZZER_FLAGS="--no-big-tests $(FUZZER_FLAGS)"
|
320
336
|
|
337
|
+
.PHONY: apt-install
|
321
338
|
apt-install:
|
339
|
+
# TODO: uncomment once issue 3011 is resolved and remove hack from Github Actions .yml
|
340
|
+
# sudo apt-get update
|
322
341
|
sudo apt-get -yq --no-install-suggests --no-install-recommends --force-yes install $(APT_PACKAGES)
|
323
342
|
|
343
|
+
.PHONY: apt-add-repo
|
324
344
|
apt-add-repo:
|
325
345
|
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
326
346
|
sudo apt-get update -y -qq
|
327
347
|
|
348
|
+
.PHONY: ppcinstall arminstall valgrindinstall libc6install gcc6install gcc7install gcc8install gpp6install clang38install lz4install
|
328
349
|
ppcinstall:
|
329
350
|
APT_PACKAGES="qemu-system-ppc qemu-user-static gcc-powerpc-linux-gnu" $(MAKE) apt-install
|
330
351
|
|
@@ -359,20 +380,22 @@ lz4install:
|
|
359
380
|
endif
|
360
381
|
|
361
382
|
|
383
|
+
CMAKE_PARAMS = -DZSTD_BUILD_CONTRIB:BOOL=ON -DZSTD_BUILD_STATIC:BOOL=ON -DZSTD_BUILD_TESTS:BOOL=ON -DZSTD_ZLIB_SUPPORT:BOOL=ON -DZSTD_LZMA_SUPPORT:BOOL=ON -DCMAKE_BUILD_TYPE=Release
|
384
|
+
|
362
385
|
ifneq (,$(filter MSYS%,$(shell uname)))
|
363
386
|
HOST_OS = MSYS
|
364
387
|
CMAKE_PARAMS = -G"MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug -DZSTD_MULTITHREAD_SUPPORT:BOOL=OFF -DZSTD_BUILD_STATIC:BOOL=ON -DZSTD_BUILD_TESTS:BOOL=ON
|
365
388
|
endif
|
366
389
|
|
367
|
-
|
368
390
|
#------------------------------------------------------------------------
|
369
391
|
# target specific tests
|
370
392
|
#------------------------------------------------------------------------
|
371
393
|
ifneq (,$(filter $(HOST_OS),MSYS POSIX))
|
394
|
+
.PHONY: cmakebuild c89build gnu90build c99build gnu99build c11build bmix64build bmix32build bmi32build staticAnalyze
|
372
395
|
cmakebuild:
|
373
396
|
cmake --version
|
374
397
|
$(RM) -r $(BUILDIR)/cmake/build
|
375
|
-
|
398
|
+
$(MKDIR) $(BUILDIR)/cmake/build
|
376
399
|
cd $(BUILDIR)/cmake/build; cmake -DCMAKE_INSTALL_PREFIX:PATH=~/install_test_dir $(CMAKE_PARAMS) ..
|
377
400
|
$(MAKE) -C $(BUILDIR)/cmake/build -j4;
|
378
401
|
$(MAKE) -C $(BUILDIR)/cmake/build install;
|
@@ -381,23 +404,23 @@ cmakebuild:
|
|
381
404
|
|
382
405
|
c89build: clean
|
383
406
|
$(CC) -v
|
384
|
-
CFLAGS="-std=c89 -Werror" $(MAKE)
|
407
|
+
CFLAGS="-std=c89 -Werror -Wno-attributes -Wpedantic -Wno-long-long -Wno-variadic-macros -O0" $(MAKE) lib zstd
|
385
408
|
|
386
409
|
gnu90build: clean
|
387
410
|
$(CC) -v
|
388
|
-
CFLAGS="-std=gnu90 -Werror" $(MAKE) allmost
|
411
|
+
CFLAGS="-std=gnu90 -Werror -O0" $(MAKE) allmost
|
389
412
|
|
390
413
|
c99build: clean
|
391
414
|
$(CC) -v
|
392
|
-
CFLAGS="-std=c99 -Werror" $(MAKE) allmost
|
415
|
+
CFLAGS="-std=c99 -Werror -O0" $(MAKE) allmost
|
393
416
|
|
394
417
|
gnu99build: clean
|
395
418
|
$(CC) -v
|
396
|
-
CFLAGS="-std=gnu99 -Werror" $(MAKE) allmost
|
419
|
+
CFLAGS="-std=gnu99 -Werror -O0" $(MAKE) allmost
|
397
420
|
|
398
421
|
c11build: clean
|
399
422
|
$(CC) -v
|
400
|
-
CFLAGS="-std=c11 -Werror" $(MAKE) allmost
|
423
|
+
CFLAGS="-std=c11 -Werror -O0" $(MAKE) allmost
|
401
424
|
|
402
425
|
bmix64build: clean
|
403
426
|
$(CC) -v
|
@@ -416,5 +439,5 @@ bmi32build: clean
|
|
416
439
|
staticAnalyze: SCANBUILD ?= scan-build
|
417
440
|
staticAnalyze:
|
418
441
|
$(CC) -v
|
419
|
-
CC=$(CC) CPPFLAGS=-g $(SCANBUILD) --status-bugs -v $(MAKE)
|
442
|
+
CC=$(CC) CPPFLAGS=-g $(SCANBUILD) --status-bugs -v $(MAKE) zstd
|
420
443
|
endif
|
@@ -0,0 +1,36 @@
|
|
1
|
+
// swift-tools-version:5.0
|
2
|
+
// The swift-tools-version declares the minimum version of Swift required to build this package.
|
3
|
+
|
4
|
+
import PackageDescription
|
5
|
+
|
6
|
+
let package = Package(
|
7
|
+
name: "zstd",
|
8
|
+
platforms: [
|
9
|
+
.macOS(.v10_10), .iOS(.v9), .tvOS(.v9)
|
10
|
+
],
|
11
|
+
products: [
|
12
|
+
// Products define the executables and libraries a package produces, and make them visible to other packages.
|
13
|
+
.library(
|
14
|
+
name: "libzstd",
|
15
|
+
targets: [ "libzstd" ])
|
16
|
+
],
|
17
|
+
dependencies: [
|
18
|
+
// Dependencies declare other packages that this package depends on.
|
19
|
+
// .package(url: /* package url */, from: "1.0.0"),
|
20
|
+
],
|
21
|
+
targets: [
|
22
|
+
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
|
23
|
+
// Targets can depend on other targets in this package, and on products in packages this package depends on.
|
24
|
+
.target(
|
25
|
+
name: "libzstd",
|
26
|
+
path: "lib",
|
27
|
+
sources: [ "common", "compress", "decompress", "dictBuilder" ],
|
28
|
+
publicHeadersPath: ".",
|
29
|
+
cSettings: [
|
30
|
+
.headerSearchPath(".")
|
31
|
+
])
|
32
|
+
],
|
33
|
+
swiftLanguageVersions: [.v5],
|
34
|
+
cLanguageStandard: .gnu11,
|
35
|
+
cxxLanguageStandard: .gnucxx14
|
36
|
+
)
|
data/contrib/zstd/README.md
CHANGED
@@ -4,23 +4,21 @@ __Zstandard__, or `zstd` as short version, is a fast lossless compression algori
|
|
4
4
|
targeting real-time compression scenarios at zlib-level and better compression ratios.
|
5
5
|
It's backed by a very fast entropy stage, provided by [Huff0 and FSE library](https://github.com/Cyan4973/FiniteStateEntropy).
|
6
6
|
|
7
|
-
|
7
|
+
Zstandard's format is stable and documented in [RFC8878](https://datatracker.ietf.org/doc/html/rfc8878). Multiple independent implementations are already available.
|
8
|
+
This repository represents the reference implementation, provided as an open-source dual [BSD](LICENSE) and [GPLv2](COPYING) licensed **C** library,
|
8
9
|
and a command line utility producing and decoding `.zst`, `.gz`, `.xz` and `.lz4` files.
|
9
10
|
Should your project require another programming language,
|
10
|
-
a list of known ports and bindings is provided on [Zstandard homepage](
|
11
|
+
a list of known ports and bindings is provided on [Zstandard homepage](https://facebook.github.io/zstd/#other-languages).
|
11
12
|
|
12
13
|
**Development branch status:**
|
13
14
|
|
14
15
|
[![Build Status][travisDevBadge]][travisLink]
|
15
|
-
[![Build status][AppveyorDevBadge]][AppveyorLink]
|
16
16
|
[![Build status][CircleDevBadge]][CircleLink]
|
17
17
|
[![Build status][CirrusDevBadge]][CirrusLink]
|
18
18
|
[![Fuzzing Status][OSSFuzzBadge]][OSSFuzzLink]
|
19
19
|
|
20
|
-
[travisDevBadge]: https://travis-ci.
|
21
|
-
[travisLink]: https://travis-ci.
|
22
|
-
[AppveyorDevBadge]: https://ci.appveyor.com/api/projects/status/xt38wbdxjk5mrbem/branch/dev?svg=true "Windows test suite"
|
23
|
-
[AppveyorLink]: https://ci.appveyor.com/project/YannCollet/zstd-p0yf0
|
20
|
+
[travisDevBadge]: https://api.travis-ci.com/facebook/zstd.svg?branch=dev "Continuous Integration test suite"
|
21
|
+
[travisLink]: https://travis-ci.com/facebook/zstd
|
24
22
|
[CircleDevBadge]: https://circleci.com/gh/facebook/zstd/tree/dev.svg?style=shield "Short test suite"
|
25
23
|
[CircleLink]: https://circleci.com/gh/facebook/zstd
|
26
24
|
[CirrusDevBadge]: https://api.cirrus-ci.com/github/facebook/zstd.svg?branch=dev
|
@@ -31,37 +29,36 @@ a list of known ports and bindings is provided on [Zstandard homepage](http://ww
|
|
31
29
|
## Benchmarks
|
32
30
|
|
33
31
|
For reference, several fast compression algorithms were tested and compared
|
34
|
-
on a
|
35
|
-
with a Core
|
32
|
+
on a desktop running Ubuntu 20.04 (`Linux 5.11.0-41-generic`),
|
33
|
+
with a Core i7-9700K CPU @ 4.9GHz,
|
36
34
|
using [lzbench], an open-source in-memory benchmark by @inikep
|
37
35
|
compiled with [gcc] 9.3.0,
|
38
36
|
on the [Silesia compression corpus].
|
39
37
|
|
40
38
|
[lzbench]: https://github.com/inikep/lzbench
|
41
|
-
[Silesia compression corpus]:
|
39
|
+
[Silesia compression corpus]: https://sun.aei.polsl.pl//~sdeor/index.php?page=silesia
|
42
40
|
[gcc]: https://gcc.gnu.org/
|
43
41
|
|
44
42
|
| Compressor name | Ratio | Compression| Decompress.|
|
45
43
|
| --------------- | ------| -----------| ---------- |
|
46
|
-
| **zstd 1.
|
47
|
-
| zlib 1.2.11 -1
|
48
|
-
| brotli 1.0.
|
49
|
-
| **zstd 1.
|
50
|
-
| **zstd 1.
|
51
|
-
| quicklz 1.5.0 -1 | 2.238 |
|
52
|
-
| **zstd 1.
|
53
|
-
| lzo1x 2.10 -1 | 2.106 |
|
54
|
-
| lz4 1.9.
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
58
|
-
|
59
|
-
[
|
60
|
-
[LZ4]: http://www.lz4.org/
|
44
|
+
| **zstd 1.5.1 -1** | 2.887 | 530 MB/s | 1700 MB/s |
|
45
|
+
| [zlib] 1.2.11 -1 | 2.743 | 95 MB/s | 400 MB/s |
|
46
|
+
| brotli 1.0.9 -0 | 2.702 | 395 MB/s | 450 MB/s |
|
47
|
+
| **zstd 1.5.1 --fast=1** | 2.437 | 600 MB/s | 2150 MB/s |
|
48
|
+
| **zstd 1.5.1 --fast=3** | 2.239 | 670 MB/s | 2250 MB/s |
|
49
|
+
| quicklz 1.5.0 -1 | 2.238 | 540 MB/s | 760 MB/s |
|
50
|
+
| **zstd 1.5.1 --fast=4** | 2.148 | 710 MB/s | 2300 MB/s |
|
51
|
+
| lzo1x 2.10 -1 | 2.106 | 660 MB/s | 845 MB/s |
|
52
|
+
| [lz4] 1.9.3 | 2.101 | 740 MB/s | 4500 MB/s |
|
53
|
+
| lzf 3.6 -1 | 2.077 | 410 MB/s | 830 MB/s |
|
54
|
+
| snappy 1.1.9 | 2.073 | 550 MB/s | 1750 MB/s |
|
55
|
+
|
56
|
+
[zlib]: https://www.zlib.net/
|
57
|
+
[lz4]: https://lz4.github.io/lz4/
|
61
58
|
|
62
59
|
The negative compression levels, specified with `--fast=#`,
|
63
|
-
offer faster compression and decompression speed
|
64
|
-
compression ratio compared to level 1
|
60
|
+
offer faster compression and decompression speed
|
61
|
+
at the cost of compression ratio (compared to level 1).
|
65
62
|
|
66
63
|
Zstd can also offer stronger compression ratios at the cost of compression speed.
|
67
64
|
Speed vs Compression trade-off is configurable by small increments.
|
@@ -124,14 +121,27 @@ Dictionary gains are mostly effective in the first few KB. Then, the compression
|
|
124
121
|
|
125
122
|
## Build instructions
|
126
123
|
|
124
|
+
`make` is the officially maintained build system of this project.
|
125
|
+
All other build systems are "compatible" and 3rd-party maintained,
|
126
|
+
they may feature small differences in advanced options.
|
127
|
+
When your system allows it, prefer using `make` to build `zstd` and `libzstd`.
|
128
|
+
|
127
129
|
### Makefile
|
128
130
|
|
129
131
|
If your system is compatible with standard `make` (or `gmake`),
|
130
132
|
invoking `make` in root directory will generate `zstd` cli in root directory.
|
133
|
+
It will also create `libzstd` into `lib/`.
|
131
134
|
|
132
135
|
Other available options include:
|
133
136
|
- `make install` : create and install zstd cli, library and man pages
|
134
|
-
- `make check` : create and run `zstd`,
|
137
|
+
- `make check` : create and run `zstd`, test its behavior on local platform
|
138
|
+
|
139
|
+
The `Makefile` follows the [GNU Standard Makefile conventions](https://www.gnu.org/prep/standards/html_node/Makefile-Conventions.html),
|
140
|
+
allowing staged install, standard flags, directory variables and command variables.
|
141
|
+
|
142
|
+
For advanced use cases, specialized compilation flags which control binary generation
|
143
|
+
are documented in [`lib/README.md`](lib/README.md#modular-build) for the `libzstd` library
|
144
|
+
and in [`programs/README.md`](programs/README.md#compilation-variables) for the `zstd` CLI.
|
135
145
|
|
136
146
|
### cmake
|
137
147
|
|
@@ -141,6 +151,18 @@ to create `zstd` binary, and `libzstd` dynamic and static libraries.
|
|
141
151
|
|
142
152
|
By default, `CMAKE_BUILD_TYPE` is set to `Release`.
|
143
153
|
|
154
|
+
#### Support for Fat (Universal2) Output
|
155
|
+
|
156
|
+
`zstd` can be built and installed with support for both Apple Silicon (M1/M2) as well as Intel by using CMake's Universal2 support.
|
157
|
+
To perform a Fat/Universal2 build and install use the following commands:
|
158
|
+
|
159
|
+
```bash
|
160
|
+
cmake -B build-cmake-debug -S build/cmake -G Ninja -DCMAKE_OSX_ARCHITECTURES="x86_64;x86_64h;arm64"
|
161
|
+
cd build-cmake-debug
|
162
|
+
ninja
|
163
|
+
sudo ninja install
|
164
|
+
```
|
165
|
+
|
144
166
|
### Meson
|
145
167
|
|
146
168
|
A Meson project is provided within [`build/meson`](build/meson). Follow
|
@@ -178,13 +200,15 @@ The output binary will be in `buck-out/gen/programs/`.
|
|
178
200
|
|
179
201
|
## Testing
|
180
202
|
|
181
|
-
You can run quick local smoke tests by
|
182
|
-
|
183
|
-
|
203
|
+
You can run quick local smoke tests by running `make check`.
|
204
|
+
If you can't use `make`, execute the `playTest.sh` script from the `src/tests` directory.
|
205
|
+
Two env variables `$ZSTD_BIN` and `$DATAGEN_BIN` are needed for the test script to locate the `zstd` and `datagen` binary.
|
206
|
+
For information on CI testing, please refer to `TESTING.md`.
|
184
207
|
|
185
208
|
## Status
|
186
209
|
|
187
|
-
Zstandard is currently deployed within Facebook
|
210
|
+
Zstandard is currently deployed within Facebook and many other large cloud infrastructures.
|
211
|
+
It is run continuously to compress large amounts of data in multiple formats and use cases.
|
188
212
|
Zstandard is considered safe for production environments.
|
189
213
|
|
190
214
|
## License
|
@@ -193,7 +217,7 @@ Zstandard is dual-licensed under [BSD](LICENSE) and [GPLv2](COPYING).
|
|
193
217
|
|
194
218
|
## Contributing
|
195
219
|
|
196
|
-
The
|
197
|
-
If you plan to propose a patch, please commit into the
|
198
|
-
Direct commit to
|
220
|
+
The `dev` branch is the one where all contributions are merged before reaching `release`.
|
221
|
+
If you plan to propose a patch, please commit into the `dev` branch, or its own feature branch.
|
222
|
+
Direct commit to `release` are not permitted.
|
199
223
|
For more information, please read [CONTRIBUTING](CONTRIBUTING.md).
|
data/contrib/zstd/TESTING.md
CHANGED
@@ -22,12 +22,12 @@ They consist of the following tests:
|
|
22
22
|
- `tests/playTests.sh --test-large-data`
|
23
23
|
- Fuzzer tests: `tests/fuzzer.c`, `tests/zstreamtest.c`, and `tests/decodecorpus.c`
|
24
24
|
- `tests/zstreamtest.c` under Tsan (streaming mode, including multithreaded mode)
|
25
|
-
- Valgrind Test (`make -C tests
|
25
|
+
- Valgrind Test (`make -C tests test-valgrind`) (testing CLI and fuzzer under `valgrind`)
|
26
26
|
- Fuzzer tests (see above) on ARM, AArch64, PowerPC, and PowerPC64
|
27
27
|
|
28
28
|
Long Tests
|
29
29
|
----------
|
30
|
-
Long tests run on all commits to `
|
30
|
+
Long tests run on all commits to `release` branch,
|
31
31
|
and once a day on the current version of `dev` branch,
|
32
32
|
on TravisCI.
|
33
33
|
They consist of the following tests:
|
@@ -40,5 +40,4 @@ They consist of the following tests:
|
|
40
40
|
- Versions test (ensuring `zstd` can decode files from all previous versions)
|
41
41
|
- `pzstd` with asan and tsan, as well as in 32-bits mode
|
42
42
|
- Testing `zstd` with legacy mode off
|
43
|
-
- Testing `zbuff` (old streaming API)
|
44
43
|
- Entire test suite and make install on macOS
|