From 9b5a1e9d973dca9d4cc312c8dc6e441d4ab94dfd Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Tue, 14 Feb 2017 20:06:41 +0100 Subject: [PATCH 01/17] added circle.yml --- circle.yml | 42 ++++++++++++++++++++++++++++++++++++++++++ tests/Makefile | 2 +- 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 circle.yml diff --git a/circle.yml b/circle.yml new file mode 100644 index 000000000..c189d3b65 --- /dev/null +++ b/circle.yml @@ -0,0 +1,42 @@ +dependencies: + override: + - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test; sudo apt-get -y -qq update + - sudo apt-get -y install qemu-system-ppc qemu-user-static gcc-powerpc-linux-gnu + - sudo apt-get -y install qemu-system-arm gcc-arm-linux-gnueabi libc6-dev-armel-cross gcc-aarch64-linux-gnu libc6-dev-arm64-cross + - sudo apt-get -y install libc6-dev-i386 clang gcc-5 gcc-6 valgrind + +test: + override: + # Tests compilers and C standards + - clang -v; make clangtest && make clean + - g++ -v; make gpptest && make clean + - gcc -v; make gnu90test && make clean + - gcc -v; make c99test && make clean + - gcc -v; make gnu99test && make clean + - gcc-5 -v; make gcc5test && make clean + - gcc-6 -v; make gcc6test && make clean + # Shorter tests + - make cmaketest && make clean + - make zlibwrapper && make clean + - make -C lib all && make clean + - make -C tests dll && make clean + - make -C tests test-symbols && make clean + - make -C tests test-zstd-nolegacy && make clean + - make -C tests test-longmatch && make clean + - pyenv global 3.4.4; make -C tests versionsTest && make clean + - make -C programs zstd-small zstd-decompress zstd-compress && make -C programs clean + - make travis-install && make clean + # Longer tests + - make test && make clean + - gcc -v; make -C tests test32 MOREFLAGS="-I/usr/include/x86_64-linux-gnu" && make clean + - make usan && make clean + - make asan && make clean + - make asan32 && make clean + # Valgrind tests + - CFLAGS="-O1 -g" make -C zlibWrapper valgrindTest && make clean + - make -C tests valgrindTest && make clean + # ARM, AArch64, PowerPC, PowerPC64 tests + - make ppctest && make clean + - make ppc64test && make clean + - make armtest && make clean + - make aarch64test && make clean diff --git a/tests/Makefile b/tests/Makefile index f64be1695..17b0146e2 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -184,7 +184,7 @@ clean: fuzzer-dll$(EXT) zstreamtest-dll$(EXT) zbufftest-dll$(EXT)\ zstreamtest$(EXT) zstreamtest32$(EXT) \ datagen$(EXT) paramgrill$(EXT) roundTripCrash$(EXT) longmatch$(EXT) \ - symbols$(EXT) invalidDictionaries$(EXT) pool$(EXT) + symbols$(EXT) invalidDictionaries$(EXT) legacy$(EXT) pool$(EXT) @echo Cleaning completed From 90e5412a4e2ea9c059a37b5d71ec5bb4105361ad Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Tue, 14 Feb 2017 23:30:23 +0100 Subject: [PATCH 02/17] added -I/usr/include/x86_64-linux-gnu for asan32 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index d86db7cb3..3ce12e67d 100644 --- a/Makefile +++ b/Makefile @@ -138,7 +138,7 @@ msan: clean $(MAKE) test CC=clang MOREFLAGS="-g -fsanitize=memory -fno-omit-frame-pointer" # datagen.c fails this test for no obvious reason asan32: clean - $(MAKE) -C $(TESTDIR) test32 CC=clang MOREFLAGS="-g -fsanitize=address" + $(MAKE) -C $(TESTDIR) test32 CC=clang MOREFLAGS="-g -fsanitize=address -I/usr/include/x86_64-linux-gnu" uasan: clean $(MAKE) test CC=clang MOREFLAGS="-g -fsanitize=address -fsanitize=undefined" From e0d2a146d1ef7d5d357a3fabe2db5e6c06012784 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Thu, 16 Feb 2017 12:29:08 +0100 Subject: [PATCH 03/17] .travis.yml: detect "$TRAVIS_EVENT_TYPE" = "cron" --- .travis.yml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 885e4517a..b87d7d476 100644 --- a/.travis.yml +++ b/.travis.yml @@ -169,7 +169,13 @@ matrix: script: - JOB_NUMBER=$(echo $TRAVIS_JOB_NUMBER | sed -e 's:[0-9][0-9]*\.\(.*\):\1:') - # dev => normal tests; other feature branches => short tests (number > 11) - - if [ "$TRAVIS_PULL_REQUEST" = "true" ] || [ $JOB_NUMBER -gt 11 ] || [ "$TRAVIS_BRANCH" = "dev" ] && [ "$TRAVIS_BRANCH" != "master" ]; then sh -c "$Cmd"; fi - # master => long tests, as this is the final step towards a Release - - if [ "$TRAVIS_BRANCH" = "master" ]; then FUZZERTEST=-T10mn sh -c "$Cmd"; fi + + # cron & master => long tests, as this is the final step towards a Release + - if [ "$TRAVIS_EVENT_TYPE" = "cron" ] || [ "$TRAVIS_BRANCH" = "master" ]; then + FUZZERTEST=-T10mn sh -c "$Cmd" || travis_terminate 1; + else + # dev => normal tests; other feature branches => short tests (number > 11) + if [ "$TRAVIS_PULL_REQUEST" = "true" ] || [ $JOB_NUMBER -gt 11 ] || [ "$TRAVIS_BRANCH" = "dev" ]; then + sh -c "$Cmd" || travis_terminate 1; + fi + fi From b0511aeca541d4e274b33d58c379b1d793eef345 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Thu, 16 Feb 2017 12:33:25 +0100 Subject: [PATCH 04/17] fix travis.yml --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index b87d7d476..82b2b03bb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -170,11 +170,11 @@ matrix: script: - JOB_NUMBER=$(echo $TRAVIS_JOB_NUMBER | sed -e 's:[0-9][0-9]*\.\(.*\):\1:') - # cron & master => long tests, as this is the final step towards a Release + # cron & master => long tests, as this is the final step towards a Release + # dev => normal tests; other feature branches => short tests (number > 11) - if [ "$TRAVIS_EVENT_TYPE" = "cron" ] || [ "$TRAVIS_BRANCH" = "master" ]; then FUZZERTEST=-T10mn sh -c "$Cmd" || travis_terminate 1; else - # dev => normal tests; other feature branches => short tests (number > 11) if [ "$TRAVIS_PULL_REQUEST" = "true" ] || [ $JOB_NUMBER -gt 11 ] || [ "$TRAVIS_BRANCH" = "dev" ]; then sh -c "$Cmd" || travis_terminate 1; fi From f8a5749c224e678286de8da97e367617dfa661d3 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Thu, 16 Feb 2017 13:08:30 +0100 Subject: [PATCH 05/17] circle.yml: run only short tests --- circle.yml | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/circle.yml b/circle.yml index c189d3b65..2f531a91f 100644 --- a/circle.yml +++ b/circle.yml @@ -16,27 +16,31 @@ test: - gcc-5 -v; make gcc5test && make clean - gcc-6 -v; make gcc6test && make clean # Shorter tests - - make cmaketest && make clean - - make zlibwrapper && make clean - - make -C lib all && make clean - - make -C tests dll && make clean - - make -C tests test-symbols && make clean - - make -C tests test-zstd-nolegacy && make clean + - make cmaketest && make clean + - make -C lib all && make clean + - make -C tests dll && make clean + - make -C tests test-zstd && make clean + - make -C tests test-fullbench && make clean + - make -C tests test-fuzzer && make clean + - make -C tests test-zstream && make clean + - make -C tests test-invalidDictionaries && make clean + - make -C tests test-legacy && make clean + - make -C tests test-symbols && make clean - make -C tests test-longmatch && make clean - - pyenv global 3.4.4; make -C tests versionsTest && make clean - make -C programs zstd-small zstd-decompress zstd-compress && make -C programs clean - make travis-install && make clean # Longer tests - - make test && make clean - - gcc -v; make -C tests test32 MOREFLAGS="-I/usr/include/x86_64-linux-gnu" && make clean - - make usan && make clean - - make asan && make clean - - make asan32 && make clean + #- make -C tests test-zstd-nolegacy && make clean + #- pyenv global 3.4.4; make -C tests versionsTest && make clean + #- make zlibwrapper && make clean + #- gcc -v; make -C tests test32 MOREFLAGS="-I/usr/include/x86_64-linux-gnu" && make clean + #- make uasan && make clean + #- make asan32 && make clean # Valgrind tests - - CFLAGS="-O1 -g" make -C zlibWrapper valgrindTest && make clean - - make -C tests valgrindTest && make clean + #- CFLAGS="-O1 -g" make -C zlibWrapper valgrindTest && make clean + #- make -C tests valgrindTest && make clean # ARM, AArch64, PowerPC, PowerPC64 tests - - make ppctest && make clean - - make ppc64test && make clean - - make armtest && make clean - - make aarch64test && make clean + #- make ppctest && make clean + #- make ppc64test && make clean + #- make armtest && make clean + #- make aarch64test && make clean From 9e97a8a45a395481e30c9f7110245aa7a08dc0e1 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Thu, 16 Feb 2017 13:36:12 +0100 Subject: [PATCH 06/17] check $CIRCLE_NODE_INDEX --- circle.yml | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/circle.yml b/circle.yml index 2f531a91f..c04dd46b3 100644 --- a/circle.yml +++ b/circle.yml @@ -8,27 +8,29 @@ dependencies: test: override: # Tests compilers and C standards - - clang -v; make clangtest && make clean - - g++ -v; make gpptest && make clean - - gcc -v; make gnu90test && make clean - - gcc -v; make c99test && make clean - - gcc -v; make gnu99test && make clean - - gcc-5 -v; make gcc5test && make clean - - gcc-6 -v; make gcc6test && make clean + - [[ "$CIRCLE_NODE_INDEX" == "0" ]] && clang -v && make clangtest && make clean + parallel: true + #- g++ -v; make gpptest && make clean + #- gcc -v; make gnu90test && make clean + #- gcc -v; make c99test && make clean + #- gcc -v; make gnu99test && make clean + #- gcc-5 -v; make gcc5test && make clean + #- gcc-6 -v; make gcc6test && make clean # Shorter tests - - make cmaketest && make clean - - make -C lib all && make clean - - make -C tests dll && make clean - - make -C tests test-zstd && make clean - - make -C tests test-fullbench && make clean - - make -C tests test-fuzzer && make clean - - make -C tests test-zstream && make clean - - make -C tests test-invalidDictionaries && make clean - - make -C tests test-legacy && make clean - - make -C tests test-symbols && make clean - - make -C tests test-longmatch && make clean - - make -C programs zstd-small zstd-decompress zstd-compress && make -C programs clean - - make travis-install && make clean + - if [[ "$CIRCLE_NODE_TOTAL" < "2" ] || [ "$CIRCLE_NODE_INDEX" == "1" ]] && make cmaketest && make clean + parallel: true + #- make -C lib all && make clean + #- make -C tests dll && make clean + #- make -C tests test-zstd && make clean + #- make -C tests test-fullbench && make clean + #- make -C tests test-fuzzer && make clean + #- make -C tests test-zstream && make clean + #- make -C tests test-invalidDictionaries && make clean + #- make -C tests test-legacy && make clean + #- make -C tests test-symbols && make clean + #- make -C tests test-longmatch && make clean + #- make -C programs zstd-small zstd-decompress zstd-compress && make -C programs clean + #- make travis-install && make clean # Longer tests #- make -C tests test-zstd-nolegacy && make clean #- pyenv global 3.4.4; make -C tests versionsTest && make clean From d3ff834562a87475618ea1069bf394c414807375 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Thu, 16 Feb 2017 13:45:40 +0100 Subject: [PATCH 07/17] check CIRCLE_NODE_TOTAL --- circle.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/circle.yml b/circle.yml index c04dd46b3..716507e6b 100644 --- a/circle.yml +++ b/circle.yml @@ -8,18 +8,22 @@ dependencies: test: override: # Tests compilers and C standards - - [[ "$CIRCLE_NODE_INDEX" == "0" ]] && clang -v && make clangtest && make clean + - | + [[ "$CIRCLE_NODE_INDEX" == "0" ]] && clang -v && make clangtest && make clean + parallel: true + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then g++ -v; make gpptest && make clean; fi parallel: true - #- g++ -v; make gpptest && make clean #- gcc -v; make gnu90test && make clean #- gcc -v; make c99test && make clean #- gcc -v; make gnu99test && make clean #- gcc-5 -v; make gcc5test && make clean #- gcc-6 -v; make gcc6test && make clean # Shorter tests - - if [[ "$CIRCLE_NODE_TOTAL" < "2" ] || [ "$CIRCLE_NODE_INDEX" == "1" ]] && make cmaketest && make clean + - | + [[ "$CIRCLE_NODE_TOTAL" < "2" ] || [ "$CIRCLE_NODE_INDEX" == "1" ]] && make cmaketest && make clean + parallel: true + - if [[ "$CIRCLE_NODE_TOTAL" < "2" ] || [ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C lib all && make clean; fi parallel: true - #- make -C lib all && make clean #- make -C tests dll && make clean #- make -C tests test-zstd && make clean #- make -C tests test-fullbench && make clean From cb7694486164b2af8eac47c87f4e8742545ff035 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Thu, 16 Feb 2017 13:51:21 +0100 Subject: [PATCH 08/17] final colon --- circle.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/circle.yml b/circle.yml index 716507e6b..c9245d3da 100644 --- a/circle.yml +++ b/circle.yml @@ -9,9 +9,9 @@ test: override: # Tests compilers and C standards - | - [[ "$CIRCLE_NODE_INDEX" == "0" ]] && clang -v && make clangtest && make clean + [[ "$CIRCLE_NODE_INDEX" == "0" ]] && clang -v && make clangtest && make clean: parallel: true - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then g++ -v; make gpptest && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then g++ -v; make gpptest && make clean; fi: parallel: true #- gcc -v; make gnu90test && make clean #- gcc -v; make c99test && make clean @@ -20,9 +20,9 @@ test: #- gcc-6 -v; make gcc6test && make clean # Shorter tests - | - [[ "$CIRCLE_NODE_TOTAL" < "2" ] || [ "$CIRCLE_NODE_INDEX" == "1" ]] && make cmaketest && make clean + [[ "$CIRCLE_NODE_TOTAL" < "2" ] || [ "$CIRCLE_NODE_INDEX" == "1" ]] && make cmaketest && make clean: parallel: true - - if [[ "$CIRCLE_NODE_TOTAL" < "2" ] || [ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C lib all && make clean; fi + - if [[ "$CIRCLE_NODE_TOTAL" < "2" ] || [ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C lib all && make clean; fi: parallel: true #- make -C tests dll && make clean #- make -C tests test-zstd && make clean From fa492a3eca53ece95dab01cecdfa6d598be81837 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Thu, 16 Feb 2017 14:39:21 +0100 Subject: [PATCH 09/17] Tests for thread 1 (when CIRCLE_NODE_TOTAL=1) or thread 2 --- circle.yml | 54 ++++++++++++++++++++++++++---------------------------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/circle.yml b/circle.yml index c9245d3da..aaf25617d 100644 --- a/circle.yml +++ b/circle.yml @@ -5,36 +5,34 @@ dependencies: - sudo apt-get -y install qemu-system-arm gcc-arm-linux-gnueabi libc6-dev-armel-cross gcc-aarch64-linux-gnu libc6-dev-arm64-cross - sudo apt-get -y install libc6-dev-i386 clang gcc-5 gcc-6 valgrind -test: - override: - # Tests compilers and C standards + # use default "parallel: true" for commands in the machine, checkout, dependencies and database build phase + post: + # Tests for thread 1 - | - [[ "$CIRCLE_NODE_INDEX" == "0" ]] && clang -v && make clangtest && make clean: - parallel: true - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then g++ -v; make gpptest && make clean; fi: - parallel: true - #- gcc -v; make gnu90test && make clean - #- gcc -v; make c99test && make clean - #- gcc -v; make gnu99test && make clean - #- gcc-5 -v; make gcc5test && make clean - #- gcc-6 -v; make gcc6test && make clean - # Shorter tests + [[ "$CIRCLE_NODE_INDEX" == "0" ]] && clang -v && make clangtest && make clean + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then g++ -v; make gpptest && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc -v; make gnu90test && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc -v; make c99test && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc -v; make gnu99test && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc-5 -v; make gcc5test && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc-6 -v; make gcc6test && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make cmaketest && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make travis-install && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make lib && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make -C programs zstd-small zstd-decompress zstd-compress && make clean; fi + + # Tests for thread 1 (when CIRCLE_NODE_TOTAL=1) or thread 2 - | - [[ "$CIRCLE_NODE_TOTAL" < "2" ] || [ "$CIRCLE_NODE_INDEX" == "1" ]] && make cmaketest && make clean: - parallel: true - - if [[ "$CIRCLE_NODE_TOTAL" < "2" ] || [ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C lib all && make clean; fi: - parallel: true - #- make -C tests dll && make clean - #- make -C tests test-zstd && make clean - #- make -C tests test-fullbench && make clean - #- make -C tests test-fuzzer && make clean - #- make -C tests test-zstream && make clean - #- make -C tests test-invalidDictionaries && make clean - #- make -C tests test-legacy && make clean - #- make -C tests test-symbols && make clean - #- make -C tests test-longmatch && make clean - #- make -C programs zstd-small zstd-decompress zstd-compress && make -C programs clean - #- make travis-install && make clean + [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]] && make -C tests test-zstd && make clean + - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-fullbench && make clean; fi + - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-fuzzer && make clean; fi + - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-zstream && make clean; fi + - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-legacy && make clean; fi + - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-symbols && make clean; fi + - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-longmatch && make clean; fi + - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-invalidDictionaries && make clean; fi + - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests dll && make clean; fi + # Longer tests #- make -C tests test-zstd-nolegacy && make clean #- pyenv global 3.4.4; make -C tests versionsTest && make clean From 9a0161d376585c5b237d2f651fb8618a6f71e364 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Thu, 16 Feb 2017 15:13:33 +0100 Subject: [PATCH 10/17] imporved test-zstd --- circle.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/circle.yml b/circle.yml index aaf25617d..1723628a1 100644 --- a/circle.yml +++ b/circle.yml @@ -22,8 +22,7 @@ dependencies: - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make -C programs zstd-small zstd-decompress zstd-compress && make clean; fi # Tests for thread 1 (when CIRCLE_NODE_TOTAL=1) or thread 2 - - | - [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]] && make -C tests test-zstd && make clean + - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-zstd && make clean; fi - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-fullbench && make clean; fi - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-fuzzer && make clean; fi - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-zstream && make clean; fi From 6b64abb2870aa19691b7fe97ffdafcd9c4aeb244 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Thu, 16 Feb 2017 15:28:08 +0100 Subject: [PATCH 11/17] improved clangtest --- circle.yml | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/circle.yml b/circle.yml index 1723628a1..feb0fed0a 100644 --- a/circle.yml +++ b/circle.yml @@ -8,17 +8,16 @@ dependencies: # use default "parallel: true" for commands in the machine, checkout, dependencies and database build phase post: # Tests for thread 1 - - | - [[ "$CIRCLE_NODE_INDEX" == "0" ]] && clang -v && make clangtest && make clean - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then g++ -v; make gpptest && make clean; fi - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc -v; make gnu90test && make clean; fi - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc -v; make c99test && make clean; fi - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc -v; make gnu99test && make clean; fi - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc-5 -v; make gcc5test && make clean; fi - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc-6 -v; make gcc6test && make clean; fi - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make cmaketest && make clean; fi - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make travis-install && make clean; fi - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make lib && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then clang -v; make clangtest && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then g++ -v; make gpptest && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc -v; make gnu90test && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc -v; make c99test && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc -v; make gnu99test && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc-5 -v; make gcc5test && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc-6 -v; make gcc6test && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make cmaketest && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make travis-install && make clean; fi + - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make lib && make clean; fi - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make -C programs zstd-small zstd-decompress zstd-compress && make clean; fi # Tests for thread 1 (when CIRCLE_NODE_TOTAL=1) or thread 2 From 21d9022b8896991f2f9140fce8d6b40ee26da018 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Thu, 16 Feb 2017 15:59:00 +0100 Subject: [PATCH 12/17] two groups of tests --- circle.yml | 48 +++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/circle.yml b/circle.yml index feb0fed0a..bb2a35a4b 100644 --- a/circle.yml +++ b/circle.yml @@ -7,29 +7,31 @@ dependencies: # use default "parallel: true" for commands in the machine, checkout, dependencies and database build phase post: - # Tests for thread 1 - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then clang -v; make clangtest && make clean; fi - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then g++ -v; make gpptest && make clean; fi - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc -v; make gnu90test && make clean; fi - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc -v; make c99test && make clean; fi - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc -v; make gnu99test && make clean; fi - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc-5 -v; make gcc5test && make clean; fi - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc-6 -v; make gcc6test && make clean; fi - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make cmaketest && make clean; fi - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make travis-install && make clean; fi - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make lib && make clean; fi - - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make -C programs zstd-small zstd-decompress zstd-compress && make clean; fi - - # Tests for thread 1 (when CIRCLE_NODE_TOTAL=1) or thread 2 - - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-zstd && make clean; fi - - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-fullbench && make clean; fi - - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-fuzzer && make clean; fi - - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-zstream && make clean; fi - - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-legacy && make clean; fi - - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-symbols && make clean; fi - - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-longmatch && make clean; fi - - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-invalidDictionaries && make clean; fi - - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests dll && make clean; fi + - | + if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then + clang -v; make clangtest + g++ -v; make gpptest + gcc -v; make gnu90test + gcc -v; make c99test + gcc -v; make gnu99test + make gcc5test + gcc-6 -v; make gcc6test + make cmaketest + make travis-install + make lib + make -C programs zstd-small zstd-decompress zstd-compress; + fi + if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then + make -C tests test-zstd + make -C tests test-fullbench + make -C tests test-fuzzer + make -C tests test-zstream + make -C tests test-legacy + make -C tests test-symbols + make -C tests test-longmatch + make -C tests test-invalidDictionaries + make -C tests dll + fi # Longer tests #- make -C tests test-zstd-nolegacy && make clean From 84452ca29faf49c211c0137ae30cf1af278d170c Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Thu, 16 Feb 2017 16:27:40 +0100 Subject: [PATCH 13/17] more balanced tests --- circle.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/circle.yml b/circle.yml index bb2a35a4b..dc9ae7f1f 100644 --- a/circle.yml +++ b/circle.yml @@ -14,17 +14,17 @@ dependencies: gcc -v; make gnu90test gcc -v; make c99test gcc -v; make gnu99test - make gcc5test + gcc-5 -v; make gcc5test gcc-6 -v; make gcc6test make cmaketest make travis-install make lib - make -C programs zstd-small zstd-decompress zstd-compress; + make -C programs zstd-small zstd-decompress zstd-compress + make -C tests test-fuzzer fi if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-zstd make -C tests test-fullbench - make -C tests test-fuzzer make -C tests test-zstream make -C tests test-legacy make -C tests test-symbols @@ -33,6 +33,10 @@ dependencies: make -C tests dll fi +test: + override: + - echo Circle CI tests finished + # Longer tests #- make -C tests test-zstd-nolegacy && make clean #- pyenv global 3.4.4; make -C tests versionsTest && make clean From 6babbff58dbcd61e2b7268c32bacbd16681b77e9 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Thu, 16 Feb 2017 17:52:49 +0100 Subject: [PATCH 14/17] move MOREFLAGS to circle.yml --- Makefile | 2 +- circle.yml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 3ce12e67d..d86db7cb3 100644 --- a/Makefile +++ b/Makefile @@ -138,7 +138,7 @@ msan: clean $(MAKE) test CC=clang MOREFLAGS="-g -fsanitize=memory -fno-omit-frame-pointer" # datagen.c fails this test for no obvious reason asan32: clean - $(MAKE) -C $(TESTDIR) test32 CC=clang MOREFLAGS="-g -fsanitize=address -I/usr/include/x86_64-linux-gnu" + $(MAKE) -C $(TESTDIR) test32 CC=clang MOREFLAGS="-g -fsanitize=address" uasan: clean $(MAKE) test CC=clang MOREFLAGS="-g -fsanitize=address -fsanitize=undefined" diff --git a/circle.yml b/circle.yml index dc9ae7f1f..02a5dd6cc 100644 --- a/circle.yml +++ b/circle.yml @@ -44,6 +44,7 @@ test: #- gcc -v; make -C tests test32 MOREFLAGS="-I/usr/include/x86_64-linux-gnu" && make clean #- make uasan && make clean #- make asan32 && make clean + #- make -C tests test32 CC=clang MOREFLAGS="-g -fsanitize=address -I/usr/include/x86_64-linux-gnu" # Valgrind tests #- CFLAGS="-O1 -g" make -C zlibWrapper valgrindTest && make clean #- make -C tests valgrindTest && make clean From 40dadd65cc118781c70595059a531a5689780051 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Thu, 16 Feb 2017 18:19:36 +0100 Subject: [PATCH 15/17] join tests into pairs --- circle.yml | 50 ++++++++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/circle.yml b/circle.yml index 02a5dd6cc..5af1bd24e 100644 --- a/circle.yml +++ b/circle.yml @@ -8,30 +8,32 @@ dependencies: # use default "parallel: true" for commands in the machine, checkout, dependencies and database build phase post: - | - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then - clang -v; make clangtest - g++ -v; make gpptest - gcc -v; make gnu90test - gcc -v; make c99test - gcc -v; make gnu99test - gcc-5 -v; make gcc5test - gcc-6 -v; make gcc6test - make cmaketest - make travis-install - make lib - make -C programs zstd-small zstd-decompress zstd-compress - make -C tests test-fuzzer - fi - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then - make -C tests test-zstd - make -C tests test-fullbench - make -C tests test-zstream - make -C tests test-legacy - make -C tests test-symbols - make -C tests test-longmatch - make -C tests test-invalidDictionaries - make -C tests dll - fi + if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make cmaketest && make clean; fi + if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-invalidDictionaries && make clean; fi + - | + if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then g++ -v; make gpptest && make clean; fi + if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-legacy && make clean; fi + - | + if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc -v; make gnu90test && make clean; fi + if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-symbols && make clean; fi + - | + if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc -v; make c99test && make clean; fi + if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-longmatch && make clean; fi + - | + if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc -v; make gnu99test && make clean; fi + if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests dll && make clean; fi + - | + if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then clang -v; make clangtest && make clean; fi + if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C programs zstd-small zstd-decompress zstd-compress && make clean lib && make clean; fi + - | + if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then travis-install && make clean; fi + if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-fullbench && make clean; fi + - | + if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc-5 -v; make gcc5test && gcc-6 -v && make gcc6test && make clean; fi + if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-zstream && make clean; fi + - | + if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make -C tests test-zstd && make clean; fi + if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-fuzzer && make clean; fi test: override: From 6f508421ebd867f81ee21bd0a2b65df11619d6b2 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Thu, 16 Feb 2017 18:45:17 +0100 Subject: [PATCH 16/17] faster start of containers --- circle.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/circle.yml b/circle.yml index 5af1bd24e..de983f24f 100644 --- a/circle.yml +++ b/circle.yml @@ -1,9 +1,9 @@ dependencies: override: - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test; sudo apt-get -y -qq update - - sudo apt-get -y install qemu-system-ppc qemu-user-static gcc-powerpc-linux-gnu - - sudo apt-get -y install qemu-system-arm gcc-arm-linux-gnueabi libc6-dev-armel-cross gcc-aarch64-linux-gnu libc6-dev-arm64-cross - - sudo apt-get -y install libc6-dev-i386 clang gcc-5 gcc-6 valgrind + #- sudo apt-get -y install qemu-system-ppc qemu-user-static gcc-powerpc-linux-gnu valgrind + #- sudo apt-get -y install qemu-system-arm gcc-arm-linux-gnueabi libc6-dev-armel-cross gcc-aarch64-linux-gnu libc6-dev-arm64-cross + - sudo apt-get -y install libc6-dev-i386 clang gcc-5 gcc-6 # use default "parallel: true" for commands in the machine, checkout, dependencies and database build phase post: @@ -24,7 +24,7 @@ dependencies: if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests dll && make clean; fi - | if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then clang -v; make clangtest && make clean; fi - if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C programs zstd-small zstd-decompress zstd-compress && make clean lib && make clean; fi + if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C programs zstd-small zstd-decompress zstd-compress zstd32 MOREFLAGS="-I/usr/include/x86_64-linux-gnu" && make clean lib && make clean; fi - | if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then travis-install && make clean; fi if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-fullbench && make clean; fi From 7a8811f3f56c84bb274615e7fc5568f571c47e23 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Thu, 16 Feb 2017 19:04:22 +0100 Subject: [PATCH 17/17] circle.yml: make travis-install --- circle.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/circle.yml b/circle.yml index de983f24f..d8b033597 100644 --- a/circle.yml +++ b/circle.yml @@ -26,7 +26,7 @@ dependencies: if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then clang -v; make clangtest && make clean; fi if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C programs zstd-small zstd-decompress zstd-compress zstd32 MOREFLAGS="-I/usr/include/x86_64-linux-gnu" && make clean lib && make clean; fi - | - if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then travis-install && make clean; fi + if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then make travis-install && make clean; fi if [[ "$CIRCLE_NODE_TOTAL" < "2" ]] || [[ "$CIRCLE_NODE_INDEX" == "1" ]]; then make -C tests test-fullbench && make clean; fi - | if [[ "$CIRCLE_NODE_INDEX" == "0" ]]; then gcc-5 -v; make gcc5test && gcc-6 -v && make gcc6test && make clean; fi