From 65de25a463072b84ce98fe18c07f2718ed588d54 Mon Sep 17 00:00:00 2001 From: George Lu Date: Mon, 4 Jun 2018 09:56:29 -0700 Subject: [PATCH 01/13] Created Macros --- lib/Makefile | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/lib/Makefile b/lib/Makefile index 3a160f88c..92b5a19f5 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -31,7 +31,41 @@ FLAGS = $(CPPFLAGS) $(CFLAGS) ZSTD_FILES := $(sort $(wildcard common/*.c compress/*.c decompress/*.c dictBuilder/*.c deprecated/*.c)) +ZSTDCOMMON_FILES := $(sort $(wildcard common/*.c)) +ZSTDCOMP_FILES := $(sort $(wildcard compress/*.c)) +ZSTDDECOMP_FILES := $(sort $(wildcard decompress/*.c)) +ZDICT_FILES := $(sort $(wildcard dictBuilder/*.c)) +ZDEPR_FILES := $(sort $(wildcard deprecated/*.c)) +ZSTD_FILES := $(ZSTDCOMMON_FILES) + ZSTD_LEGACY_SUPPORT ?= 4 +ZSTD_LIB_COMPRESSION ?= 1 +ZSTD_LIB_DECOMPRESSION ?= 1 +ZSTD_LIB_DICTBUILDER ?= 1 +ZSTD_LIB_DEPRECATED ?= 1 +ifeq ($(ZSTD_LIB_COMPRESSION), 0) + ZSTD_LIB_DICTBUILDER = 0 +endif + +ifeq ($(ZSTD_LIB_DECOMPRESSION), 0) + ZSTD_LEGACY_SUPPORT = 0 +endif + +ifneq ($(ZSTD_LIB_COMPRESSION), 0) + ZSTD_FILES += $(ZSTDCOMP_FILES) +endif + +ifneq ($(ZSTD_LIB_DECOMPRESSION), 0) + ZSTD_FILES += $(ZSTDDECOMP_FILES) +endif + +ifneq ($(ZSTD_DEPRECATED), 0) + ZSTD_FILE += $(ZDEPR_FILES) +endif + +ifneq ($(ZSTD_LIB_DICTBUILDER), 0) + ZSTD_FILE += $(ZDICT_FILES) +endif ifneq ($(ZSTD_LEGACY_SUPPORT), 0) ifeq ($(shell test $(ZSTD_LEGACY_SUPPORT) -lt 8; echo $$?), 0) From 6a617d70ed32e372b5efa306fef755b06d151bd6 Mon Sep 17 00:00:00 2001 From: George Lu Date: Mon, 4 Jun 2018 09:56:37 -0700 Subject: [PATCH 02/13] Documentation --- lib/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/README.md b/lib/README.md index 95196e467..75debe872 100644 --- a/lib/README.md +++ b/lib/README.md @@ -61,6 +61,10 @@ It's possible to compile only a limited set of features. Each version also provides an additional dedicated set of advanced API. For example, advanced API for version `v0.4` is exposed in `lib/legacy/zstd_v04.h` . Note : `lib/legacy` only supports _decoding_ legacy formats. +- Similarly, you can define `ZSTD_LIB_COMPRESSION, ZSTD_LIB_DECOMPRESSION`, `ZSTD_LIB_DICTBUILDER`, + and `ZSTD_LIB_DEPRECATED` as 0 to forgo compilation of the corresponding features. This will + also disable compilation of all dependencies (eg. `ZSTD_LIB_COMPRESSION=0` will also disable + dictBuilder). #### Multithreading support From 9437021d2feba9d5af884ff6044ba4f8ec694ba6 Mon Sep 17 00:00:00 2001 From: George Lu Date: Mon, 4 Jun 2018 13:32:41 -0700 Subject: [PATCH 03/13] Remove old file declaration --- lib/Makefile | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/Makefile b/lib/Makefile index 92b5a19f5..30926a2f8 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -28,9 +28,6 @@ DEBUGFLAGS = -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow \ CFLAGS += $(DEBUGFLAGS) $(MOREFLAGS) FLAGS = $(CPPFLAGS) $(CFLAGS) - -ZSTD_FILES := $(sort $(wildcard common/*.c compress/*.c decompress/*.c dictBuilder/*.c deprecated/*.c)) - ZSTDCOMMON_FILES := $(sort $(wildcard common/*.c)) ZSTDCOMP_FILES := $(sort $(wildcard compress/*.c)) ZSTDDECOMP_FILES := $(sort $(wildcard decompress/*.c)) From 609d72b0ca0ba533d7aaff330b5c46e5dc709a89 Mon Sep 17 00:00:00 2001 From: George Lu Date: Mon, 4 Jun 2018 14:33:21 -0700 Subject: [PATCH 04/13] Added Deprecated Dependencies --- lib/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/Makefile b/lib/Makefile index 30926a2f8..00a51fdbf 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -42,10 +42,12 @@ ZSTD_LIB_DICTBUILDER ?= 1 ZSTD_LIB_DEPRECATED ?= 1 ifeq ($(ZSTD_LIB_COMPRESSION), 0) ZSTD_LIB_DICTBUILDER = 0 + ZSTD_DEPRECATED = 0 endif ifeq ($(ZSTD_LIB_DECOMPRESSION), 0) ZSTD_LEGACY_SUPPORT = 0 + ZSTD_DEPRECATED = 0 endif ifneq ($(ZSTD_LIB_COMPRESSION), 0) From b3ef3148302231312c5582862cd89d5c16f0adb7 Mon Sep 17 00:00:00 2001 From: George Lu Date: Mon, 4 Jun 2018 17:19:06 -0700 Subject: [PATCH 05/13] Fix Typos --- lib/Makefile | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/Makefile b/lib/Makefile index 00a51fdbf..701cf7e9f 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -40,14 +40,15 @@ ZSTD_LIB_COMPRESSION ?= 1 ZSTD_LIB_DECOMPRESSION ?= 1 ZSTD_LIB_DICTBUILDER ?= 1 ZSTD_LIB_DEPRECATED ?= 1 + ifeq ($(ZSTD_LIB_COMPRESSION), 0) ZSTD_LIB_DICTBUILDER = 0 - ZSTD_DEPRECATED = 0 + ZSTD_LIB_DEPRECATED = 0 endif ifeq ($(ZSTD_LIB_DECOMPRESSION), 0) ZSTD_LEGACY_SUPPORT = 0 - ZSTD_DEPRECATED = 0 + ZSTD_LIB_DEPRECATED = 0 endif ifneq ($(ZSTD_LIB_COMPRESSION), 0) @@ -58,12 +59,12 @@ ifneq ($(ZSTD_LIB_DECOMPRESSION), 0) ZSTD_FILES += $(ZSTDDECOMP_FILES) endif -ifneq ($(ZSTD_DEPRECATED), 0) - ZSTD_FILE += $(ZDEPR_FILES) +ifneq ($(ZSTD_LIB_DEPRECATED), 0) + ZSTD_FILES += $(ZDEPR_FILES) endif ifneq ($(ZSTD_LIB_DICTBUILDER), 0) - ZSTD_FILE += $(ZDICT_FILES) + ZSTD_FILES += $(ZDICT_FILES) endif ifneq ($(ZSTD_LEGACY_SUPPORT), 0) From b2496ab60663992eb566dd221705da86fc9dafc7 Mon Sep 17 00:00:00 2001 From: George Lu Date: Tue, 5 Jun 2018 13:24:00 -0700 Subject: [PATCH 06/13] Partial compilation test? --- lib/log | 28 ++++++++++++++ tests/Makefile | 13 ++++++- tests/partial | Bin 0 -> 13159 bytes tests/partial.c | 100 ++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 lib/log create mode 100755 tests/partial create mode 100644 tests/partial.c diff --git a/lib/log b/lib/log new file mode 100644 index 000000000..7f4d68a89 --- /dev/null +++ b/lib/log @@ -0,0 +1,28 @@ +entropy_common.o: +error_private.o: +fse_decompress.o: +pool.o: +threading.o: +xxhash.o: +zstd_common.o: +fse_compress.o: +huf_compress.o: +zstd_compress.o: +zstd_double_fast.o: +zstd_fast.o: +zstd_lazy.o: +zstd_ldm.o: +zstd_opt.o: +zstdmt_compress.o: +huf_decompress.o: +zstd_decompress.o: +zbuff_common.o: +zbuff_compress.o: +zbuff_decompress.o: +cover.o: +divsufsort.o: +zdict.o: +zstd_v04.o: +zstd_v05.o: +zstd_v06.o: +zstd_v07.o: diff --git a/tests/Makefile b/tests/Makefile index c4cbe1bdf..65474db4d 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -233,6 +233,14 @@ else $(CC) $(FLAGS) $< -o $@$(EXT) -Wl,-rpath=$(ZSTDDIR) $(ZSTDDIR)/libzstd.so # broken on Mac endif +partial : partial.c zstd-dll +ifneq (,$(filter Windows%,$(OS))) + cp $(ZSTDDIR)/dll/libzstd.dll . + $(CC) $(FLAGS) $< -o $@$(EXT) -DZSTD_DLL_IMPORT=1 libzstd.dll +else + $(CC) $(FLAGS) $< -o $@$(EXT) -Wl,-rpath=$(ZSTDDIR) $(ZSTDDIR)/libzstd.so # broken on Mac +endif + poolTests : poolTests.c $(ZSTDDIR)/common/pool.c $(ZSTDDIR)/common/threading.c $(ZSTDDIR)/common/zstd_common.c $(ZSTDDIR)/common/error_private.c $(CC) $(FLAGS) $(MULTITHREAD) $^ -o $@$(EXT) @@ -255,7 +263,7 @@ clean: zstreamtest$(EXT) zstreamtest32$(EXT) \ datagen$(EXT) paramgrill$(EXT) roundTripCrash$(EXT) longmatch$(EXT) \ symbols$(EXT) invalidDictionaries$(EXT) legacy$(EXT) poolTests$(EXT) \ - decodecorpus$(EXT) checkTag$(EXT) + decodecorpus$(EXT) checkTag$(EXT) partial$(EXT) @echo Cleaning completed @@ -387,6 +395,9 @@ test-invalidDictionaries: invalidDictionaries test-symbols: symbols $(QEMU_SYS) ./symbols +test-partial: partial + $(QEMU_SYS) ./partial + test-legacy: legacy $(QEMU_SYS) ./legacy diff --git a/tests/partial b/tests/partial new file mode 100755 index 0000000000000000000000000000000000000000..7abd3498a0a29ddbe82a832d9cd398ff54a791f0 GIT binary patch literal 13159 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 literal 0 HcmV?d00001 diff --git a/tests/partial.c b/tests/partial.c new file mode 100644 index 000000000..8756e6c78 --- /dev/null +++ b/tests/partial.c @@ -0,0 +1,100 @@ +/* + * Copyright (c) 2016-present, Yann Collet, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under both the BSD-style license (found in the + * LICENSE file in the root directory of this source tree) and the GPLv2 (found + * in the COPYING file in the root directory of this source tree). + * You may select, at your option, one of the above-listed licenses. + */ + + +#include +#include "zstd_errors.h" +//#define ZSTD_STATIC_LINKING_ONLY +#include "zstd.h" +#define ZBUFF_DISABLE_DEPRECATE_WARNINGS +#define ZBUFF_STATIC_LINKING_ONLY +#include "zbuff.h" +#define ZDICT_DISABLE_DEPRECATE_WARNINGS +#define ZDICT_STATIC_LINKING_ONLY +#include "zdict.h" + +/* +size_t ZSTD_compress(void* dst, size_t dstCapacity, const void* src, size_t srcSize, int compressionLevel) __attribute__((weak)); //compress +size_t ZSTD_decompress( void* dst, size_t dstCapacity, const void* src, size_t compressedSize) __attribute__((weak)); //decompress +int weakfunc() __attribute__((weak)); //deprecated +int weakfunc() __attribute__((weak)); //dictbuilder +int weakfunc() __attribute__((weak)); //legacy +*/ +//size_t ZSTD_compress(void* dst, size_t dstCapacity, const void* src, size_t srcSize, int compressionLevel) __attribute__((weak)); //compress +//size_t ZSTD_decompress( void* dst, size_t dstCapacity, const void* src, size_t compressedSize) __attribute__((weak)); //decompress +unsigned ZBUFF_isError(size_t errorCode) __attribute__((weak)); //deprecated +unsigned ZDICT_isError(size_t errorCode) __attribute__((weak)); +unsigned ZBUFFv07_isError(size_t errorCode) __attribute__((weak)); +unsigned ZBUFFv06_isError(size_t errorCode) __attribute__((weak)); +unsigned ZBUFFv05_isError(size_t errorCode) __attribute__((weak)); +unsigned ZBUFFv04_isError(size_t errorCode) __attribute__((weak)); +unsigned ZBUFFv03_isError(size_t errorCode) __attribute__((weak)); +unsigned ZBUFFv02_isError(size_t errorCode) __attribute__((weak)); +unsigned ZBUFFv01_isError(size_t errorCode) __attribute__((weak)); + +int checkCompress(void) { + if(ZSTD_compress) { + return 1; + } else { + return 0; + } +} + +int checkDecompress(void) { + if(ZSTD_decompress) { + return 1; + } else { + return 0; + } +} + +int checkDeprecated(void) { + if(ZBUFF_isError) { + return 1; + } else { + return 0; + } +} + +int checkDictBuilder(void) { + if(ZDICT_isError) { + return 1; + } else { + return 0; + } +} + +int checkLegacy(void) { + if(ZBUFFv01_isError) { + return 1; + } else if (ZBUFFv02_isError) { + return 2; + } else if (ZBUFFv03_isError) { + return 3; + } else if (ZBUFFv04_isError) { + return 4; + } else if (ZBUFFv05_isError) { + return 5; + } else if (ZBUFFv06_isError) { + return 6; + } else if (ZBUFFv07_isError) { + return 7; + } + return 0; +} + +int main(void){//int argc, const char** argv) { + //const void **symbol; + //(void)argc; + //(void)argv; + + printf("%d %d %d %d %d\n", checkCompress(), checkDecompress(), checkDeprecated(), checkDictBuilder(), checkLegacy()); + return 0; +} From 11d5bfdaa96029b1ecf03654db6969a0c3555a5d Mon Sep 17 00:00:00 2001 From: George Lu Date: Tue, 5 Jun 2018 13:55:36 -0700 Subject: [PATCH 07/13] Revert "Partial compilation test?" This reverts commit b2496ab60663992eb566dd221705da86fc9dafc7. --- lib/log | 28 -------------- tests/Makefile | 13 +------ tests/partial | Bin 13159 -> 0 bytes tests/partial.c | 100 ------------------------------------------------ 4 files changed, 1 insertion(+), 140 deletions(-) delete mode 100644 lib/log delete mode 100755 tests/partial delete mode 100644 tests/partial.c diff --git a/lib/log b/lib/log deleted file mode 100644 index 7f4d68a89..000000000 --- a/lib/log +++ /dev/null @@ -1,28 +0,0 @@ -entropy_common.o: -error_private.o: -fse_decompress.o: -pool.o: -threading.o: -xxhash.o: -zstd_common.o: -fse_compress.o: -huf_compress.o: -zstd_compress.o: -zstd_double_fast.o: -zstd_fast.o: -zstd_lazy.o: -zstd_ldm.o: -zstd_opt.o: -zstdmt_compress.o: -huf_decompress.o: -zstd_decompress.o: -zbuff_common.o: -zbuff_compress.o: -zbuff_decompress.o: -cover.o: -divsufsort.o: -zdict.o: -zstd_v04.o: -zstd_v05.o: -zstd_v06.o: -zstd_v07.o: diff --git a/tests/Makefile b/tests/Makefile index 65474db4d..c4cbe1bdf 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -233,14 +233,6 @@ else $(CC) $(FLAGS) $< -o $@$(EXT) -Wl,-rpath=$(ZSTDDIR) $(ZSTDDIR)/libzstd.so # broken on Mac endif -partial : partial.c zstd-dll -ifneq (,$(filter Windows%,$(OS))) - cp $(ZSTDDIR)/dll/libzstd.dll . - $(CC) $(FLAGS) $< -o $@$(EXT) -DZSTD_DLL_IMPORT=1 libzstd.dll -else - $(CC) $(FLAGS) $< -o $@$(EXT) -Wl,-rpath=$(ZSTDDIR) $(ZSTDDIR)/libzstd.so # broken on Mac -endif - poolTests : poolTests.c $(ZSTDDIR)/common/pool.c $(ZSTDDIR)/common/threading.c $(ZSTDDIR)/common/zstd_common.c $(ZSTDDIR)/common/error_private.c $(CC) $(FLAGS) $(MULTITHREAD) $^ -o $@$(EXT) @@ -263,7 +255,7 @@ clean: zstreamtest$(EXT) zstreamtest32$(EXT) \ datagen$(EXT) paramgrill$(EXT) roundTripCrash$(EXT) longmatch$(EXT) \ symbols$(EXT) invalidDictionaries$(EXT) legacy$(EXT) poolTests$(EXT) \ - decodecorpus$(EXT) checkTag$(EXT) partial$(EXT) + decodecorpus$(EXT) checkTag$(EXT) @echo Cleaning completed @@ -395,9 +387,6 @@ test-invalidDictionaries: invalidDictionaries test-symbols: symbols $(QEMU_SYS) ./symbols -test-partial: partial - $(QEMU_SYS) ./partial - test-legacy: legacy $(QEMU_SYS) ./legacy diff --git a/tests/partial b/tests/partial deleted file mode 100755 index 7abd3498a0a29ddbe82a832d9cd398ff54a791f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13159 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 diff --git a/tests/partial.c b/tests/partial.c deleted file mode 100644 index 8756e6c78..000000000 --- a/tests/partial.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (c) 2016-present, Yann Collet, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under both the BSD-style license (found in the - * LICENSE file in the root directory of this source tree) and the GPLv2 (found - * in the COPYING file in the root directory of this source tree). - * You may select, at your option, one of the above-listed licenses. - */ - - -#include -#include "zstd_errors.h" -//#define ZSTD_STATIC_LINKING_ONLY -#include "zstd.h" -#define ZBUFF_DISABLE_DEPRECATE_WARNINGS -#define ZBUFF_STATIC_LINKING_ONLY -#include "zbuff.h" -#define ZDICT_DISABLE_DEPRECATE_WARNINGS -#define ZDICT_STATIC_LINKING_ONLY -#include "zdict.h" - -/* -size_t ZSTD_compress(void* dst, size_t dstCapacity, const void* src, size_t srcSize, int compressionLevel) __attribute__((weak)); //compress -size_t ZSTD_decompress( void* dst, size_t dstCapacity, const void* src, size_t compressedSize) __attribute__((weak)); //decompress -int weakfunc() __attribute__((weak)); //deprecated -int weakfunc() __attribute__((weak)); //dictbuilder -int weakfunc() __attribute__((weak)); //legacy -*/ -//size_t ZSTD_compress(void* dst, size_t dstCapacity, const void* src, size_t srcSize, int compressionLevel) __attribute__((weak)); //compress -//size_t ZSTD_decompress( void* dst, size_t dstCapacity, const void* src, size_t compressedSize) __attribute__((weak)); //decompress -unsigned ZBUFF_isError(size_t errorCode) __attribute__((weak)); //deprecated -unsigned ZDICT_isError(size_t errorCode) __attribute__((weak)); -unsigned ZBUFFv07_isError(size_t errorCode) __attribute__((weak)); -unsigned ZBUFFv06_isError(size_t errorCode) __attribute__((weak)); -unsigned ZBUFFv05_isError(size_t errorCode) __attribute__((weak)); -unsigned ZBUFFv04_isError(size_t errorCode) __attribute__((weak)); -unsigned ZBUFFv03_isError(size_t errorCode) __attribute__((weak)); -unsigned ZBUFFv02_isError(size_t errorCode) __attribute__((weak)); -unsigned ZBUFFv01_isError(size_t errorCode) __attribute__((weak)); - -int checkCompress(void) { - if(ZSTD_compress) { - return 1; - } else { - return 0; - } -} - -int checkDecompress(void) { - if(ZSTD_decompress) { - return 1; - } else { - return 0; - } -} - -int checkDeprecated(void) { - if(ZBUFF_isError) { - return 1; - } else { - return 0; - } -} - -int checkDictBuilder(void) { - if(ZDICT_isError) { - return 1; - } else { - return 0; - } -} - -int checkLegacy(void) { - if(ZBUFFv01_isError) { - return 1; - } else if (ZBUFFv02_isError) { - return 2; - } else if (ZBUFFv03_isError) { - return 3; - } else if (ZBUFFv04_isError) { - return 4; - } else if (ZBUFFv05_isError) { - return 5; - } else if (ZBUFFv06_isError) { - return 6; - } else if (ZBUFFv07_isError) { - return 7; - } - return 0; -} - -int main(void){//int argc, const char** argv) { - //const void **symbol; - //(void)argc; - //(void)argv; - - printf("%d %d %d %d %d\n", checkCompress(), checkDecompress(), checkDeprecated(), checkDictBuilder(), checkLegacy()); - return 0; -} From 51f20e99822766d5c4f27bbebaaa4ea0e7ee55e4 Mon Sep 17 00:00:00 2001 From: George Lu Date: Tue, 5 Jun 2018 14:10:29 -0700 Subject: [PATCH 08/13] circle test --- circle.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/circle.yml b/circle.yml index ed50d59e5..8c69f5944 100644 --- a/circle.yml +++ b/circle.yml @@ -41,6 +41,15 @@ test: if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C lib libzstd-nomt && make clean; fi : parallel: true + - ? | + if [[ "$CIRCLE_NODE_INDEX" == "0" ]] ; then ZSTD_LIB_COMPRESSION=0 make -C lib libzstd.a; nm lib/libzstd.a | grep ".*\.o:" > tmplog; + ! grep "zstd_compress" tmplog && grep "zstd_decompress" tmplog && ! grep "dict" tmplog \ + && grep "zstd_v" tmplog && make clean && rm tmplog; fi && + if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then ZSTD_LIB_DECOMPRESSION=0 make -C lib libzstd.a; nm lib/libzstd.a | grep ".*\.o:" > tmplog; + grep "zstd_compress" tmplog && ! grep "zstd_decompress" tmplog && grep "dict" tmplog && \ + ! grep "zstd_v" tmplog && make clean && rm tmplog; fi + : + parallel: true post: - echo Circle CI tests finished From 0fd450af7b9fa748620169b4a872c074cf950832 Mon Sep 17 00:00:00 2001 From: George Lu Date: Tue, 5 Jun 2018 14:41:41 -0700 Subject: [PATCH 09/13] Remove optimizations --- circle.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/circle.yml b/circle.yml index 8c69f5944..df5f5547b 100644 --- a/circle.yml +++ b/circle.yml @@ -42,10 +42,10 @@ test: : parallel: true - ? | - if [[ "$CIRCLE_NODE_INDEX" == "0" ]] ; then ZSTD_LIB_COMPRESSION=0 make -C lib libzstd.a; nm lib/libzstd.a | grep ".*\.o:" > tmplog; + if [[ "$CIRCLE_NODE_INDEX" == "0" ]] ; then ZSTD_LIB_COMPRESSION=0 CFLAGS= make -C lib libzstd.a; nm lib/libzstd.a | grep ".*\.o:" > tmplog; ! grep "zstd_compress" tmplog && grep "zstd_decompress" tmplog && ! grep "dict" tmplog \ && grep "zstd_v" tmplog && make clean && rm tmplog; fi && - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then ZSTD_LIB_DECOMPRESSION=0 make -C lib libzstd.a; nm lib/libzstd.a | grep ".*\.o:" > tmplog; + if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then ZSTD_LIB_DECOMPRESSION=0 CFLAGS= make -C lib libzstd.a; nm lib/libzstd.a | grep ".*\.o:" > tmplog; grep "zstd_compress" tmplog && ! grep "zstd_decompress" tmplog && grep "dict" tmplog && \ ! grep "zstd_v" tmplog && make clean && rm tmplog; fi : From 8e6267503bb9dce52af630665236bfdf03fce773 Mon Sep 17 00:00:00 2001 From: George Lu Date: Tue, 5 Jun 2018 15:20:34 -0700 Subject: [PATCH 10/13] Move stuff around test execution -> travis logic -> partialTests.sh --- .travis.yml | 1 + tests/partialTests.sh | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100755 tests/partialTests.sh diff --git a/.travis.yml b/.travis.yml index a9c1db525..8d1033022 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,6 +31,7 @@ matrix: - env: Cmd='make lz4install && make -C tests test-lz4' + - env: Cmd='bash tests/partialTests.sh' # tag-specific test - if: tag =~ ^v[0-9]\.[0-9] env: Cmd='make -C tests checkTag && tests/checkTag $TRAVIS_BRANCH' diff --git a/tests/partialTests.sh b/tests/partialTests.sh new file mode 100755 index 000000000..3ee3cc5bc --- /dev/null +++ b/tests/partialTests.sh @@ -0,0 +1,24 @@ +#!/bin/sh -e + +die() { + $ECHO "$@" 1>&2 + exit 1 +} + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +INTOVOID="/dev/null" +case "$OS" in + Windows*) + INTOVOID="NUL" + ;; +esac + +ZSTD_LIB_COMPRESSION=0 CFLAGS= make -C $DIR/../lib libzstd.a > $INTOVOID +nm $DIR/../lib/libzstd.a | grep ".*\.o:" > tmplog +! grep -q "zstd_compress" tmplog && grep -q "zstd_decompress" tmplog && ! grep -q "dict" tmplog && grep -q "zstd_v" tmplog && make clean && rm -f tmplog || die "Compression macro failed" + + +ZSTD_LIB_DECOMPRESSION=0 CFLAGS= make -C $DIR/../lib libzstd.a > $INTOVOID +nm $DIR/../lib/libzstd.a | grep ".*\.o:" > tmplog +grep -q "zstd_compress" tmplog && ! grep -q "zstd_decompress" tmplog && grep -q "dict" tmplog && ! grep -q "zstd_v" tmplog && make clean && rm -f tmplog || die "Decompression macro failed" \ No newline at end of file From 7892f4808091ab877b8833becb11085f4af73165 Mon Sep 17 00:00:00 2001 From: George Lu Date: Tue, 5 Jun 2018 15:21:31 -0700 Subject: [PATCH 11/13] Remove test from Circle --- circle.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/circle.yml b/circle.yml index df5f5547b..ed50d59e5 100644 --- a/circle.yml +++ b/circle.yml @@ -41,15 +41,6 @@ test: if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C lib libzstd-nomt && make clean; fi : parallel: true - - ? | - if [[ "$CIRCLE_NODE_INDEX" == "0" ]] ; then ZSTD_LIB_COMPRESSION=0 CFLAGS= make -C lib libzstd.a; nm lib/libzstd.a | grep ".*\.o:" > tmplog; - ! grep "zstd_compress" tmplog && grep "zstd_decompress" tmplog && ! grep "dict" tmplog \ - && grep "zstd_v" tmplog && make clean && rm tmplog; fi && - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then ZSTD_LIB_DECOMPRESSION=0 CFLAGS= make -C lib libzstd.a; nm lib/libzstd.a | grep ".*\.o:" > tmplog; - grep "zstd_compress" tmplog && ! grep "zstd_decompress" tmplog && grep "dict" tmplog && \ - ! grep "zstd_v" tmplog && make clean && rm tmplog; fi - : - parallel: true post: - echo Circle CI tests finished From eab626292c2536c6d406073832fbc62909a80554 Mon Sep 17 00:00:00 2001 From: George Lu Date: Wed, 6 Jun 2018 11:33:39 -0700 Subject: [PATCH 12/13] More Tests --- tests/partialTests.sh | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/tests/partialTests.sh b/tests/partialTests.sh index 3ee3cc5bc..34d8ea552 100755 --- a/tests/partialTests.sh +++ b/tests/partialTests.sh @@ -16,9 +16,21 @@ esac ZSTD_LIB_COMPRESSION=0 CFLAGS= make -C $DIR/../lib libzstd.a > $INTOVOID nm $DIR/../lib/libzstd.a | grep ".*\.o:" > tmplog -! grep -q "zstd_compress" tmplog && grep -q "zstd_decompress" tmplog && ! grep -q "dict" tmplog && grep -q "zstd_v" tmplog && make clean && rm -f tmplog || die "Compression macro failed" +! grep -q "zstd_compress" tmplog && grep -q "zstd_decompress" tmplog && ! grep -q "dict" tmplog && grep -q "zstd_v" tmplog && ! grep -q "zbuff" tmplog && make clean && rm -f tmplog || die "Compression macro failed" ZSTD_LIB_DECOMPRESSION=0 CFLAGS= make -C $DIR/../lib libzstd.a > $INTOVOID nm $DIR/../lib/libzstd.a | grep ".*\.o:" > tmplog -grep -q "zstd_compress" tmplog && ! grep -q "zstd_decompress" tmplog && grep -q "dict" tmplog && ! grep -q "zstd_v" tmplog && make clean && rm -f tmplog || die "Decompression macro failed" \ No newline at end of file +grep -q "zstd_compress" tmplog && ! grep -q "zstd_decompress" tmplog && grep -q "dict" tmplog && ! grep -q "zstd_v" tmplog && ! grep -q "zbuff" tmplog && make clean && rm -f tmplog || die "Decompression macro failed" + +ZSTD_LIB_DEPRECATED=0 CFLAGS= make -C $DIR/../lib libzstd.a > $INTOVOID +nm $DIR/../lib/libzstd.a | grep ".*\.o:" > tmplog +grep -q "zstd_compress" tmplog && grep -q "zstd_decompress" tmplog && grep -q "dict" tmplog && grep -q "zstd_v" tmplog && ! grep -q "zbuff" tmplog && make clean && rm -f tmplog || die "Deprecated macro failed" + +ZSTD_LIB_DICTBUILDER=0 CFLAGS= make -C $DIR/../lib libzstd.a > $INTOVOID +nm $DIR/../lib/libzstd.a | grep ".*\.o:" > tmplog +grep -q "zstd_compress" tmplog && grep -q "zstd_decompress" tmplog && ! grep -q "dict" tmplog && grep -q "zstd_v" tmplog && grep -q "zbuff" tmplog && make clean && rm -f tmplog || die "Dictbuilder macro failed" + +ZSTD_LIB_DECOMPRESSION=0 ZSTD_LIB_DICTBUILDER=0 CFLAGS= make -C $DIR/../lib libzstd.a > $INTOVOID +nm $DIR/../lib/libzstd.a | grep ".*\.o:" > tmplog +grep -q "zstd_compress" tmplog && ! grep -q "zstd_decompress" tmplog && ! grep -q "dict" tmplog && ! grep -q "zstd_v" tmplog && ! grep -q "zbuff" tmplog && make clean && rm -f tmplog || die "Multi-macro failed" \ No newline at end of file From 21ec9e9c30e6700ed5ee08cac818214e63768863 Mon Sep 17 00:00:00 2001 From: George Lu Date: Wed, 6 Jun 2018 15:16:37 -0700 Subject: [PATCH 13/13] Rename tests --- .travis.yml | 2 +- tests/{partialTests.sh => libzstd_partial_builds.sh} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename tests/{partialTests.sh => libzstd_partial_builds.sh} (100%) diff --git a/.travis.yml b/.travis.yml index 8d1033022..7abd7f4b4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,7 +31,7 @@ matrix: - env: Cmd='make lz4install && make -C tests test-lz4' - - env: Cmd='bash tests/partialTests.sh' + - env: Cmd='bash tests/libzstd_partial_builds.sh' # tag-specific test - if: tag =~ ^v[0-9]\.[0-9] env: Cmd='make -C tests checkTag && tests/checkTag $TRAVIS_BRANCH' diff --git a/tests/partialTests.sh b/tests/libzstd_partial_builds.sh similarity index 100% rename from tests/partialTests.sh rename to tests/libzstd_partial_builds.sh