소스 검색

Reduce number of tests on Travis CI

Travis CI is using a credit based system for build and test time.
Up to now, the build time was free and unlimited.
Now it is still free for open source software, but it is counting credits.

Indeed some tests that we used before are performed multiple times in
similar environments, with little added value for running the test twice.
We took some time to review the running build and test tasks and dropped
some of those tests that provide little additional test quality.
bel2125 3 년 전
부모
커밋
d1567819f0
1개의 변경된 파일95개의 추가작업 그리고 332개의 파일을 삭제
  1. 95 332
      .travis.yml

+ 95 - 332
.travis.yml

@@ -9,7 +9,7 @@ cache:
   directories:
   directories:
   - $HOME/third-party
   - $HOME/third-party
 
 
-osx_image: xcode8
+osx_image: xcode9
 
 
 addons:
 addons:
   apt:
   apt:
@@ -130,13 +130,14 @@ script:
   - if [ "${MACOSX_PACKAGE}" == "1" ]; then
   - if [ "${MACOSX_PACKAGE}" == "1" ]; then
       cd "${TRAVIS_BUILD_DIR}";
       cd "${TRAVIS_BUILD_DIR}";
       make -f Makefile.osx package;
       make -f Makefile.osx package;
-    else
+    fi
+  - if [ "${RUN_UNITTEST}" == "1" ]; then
       CTEST_OUTPUT_ON_FAILURE=1 make all test;
       CTEST_OUTPUT_ON_FAILURE=1 make all test;
     fi
     fi
   - pwd
   - pwd
   - ls -la unittest
   - ls -la unittest
   - echo "Show all test logs:"
   - echo "Show all test logs:"
-  - if [ "${MACOSX_PACKAGE}" != "1" ]; then
+  - if [ "${RUN_UNITTEST}" == "1" ]; then
       for f in unittest/test-*.log; do printf "\n$f:\n"; cat $f; done;
       for f in unittest/test-*.log; do printf "\n$f:\n"; cat $f; done;
       for f in unittest/test-*.xml; do printf "\n$f:\n"; cat $f; done;
       for f in unittest/test-*.xml; do printf "\n$f:\n"; cat $f; done;
     fi
     fi
@@ -188,15 +189,21 @@ conan-osx: &conan-osx
       - true
       - true
 
 
 
 
-##############################################################################
-# build matrix
-##############################################################################
-
+#########################################################################################
+#########################################################################################
+#####   START OF BUILD MATRIX   #########################################################
+#########################################################################################
+#########################################################################################
 
 
 matrix:
 matrix:
-  fast_finish: false
+  fast_finish: true
   include:
   include:
 
 
+
+#########################################################################################
+#####   TRUSTY   ########################################################################
+#########################################################################################
+
   - dist: trusty
   - dist: trusty
     sudo: false
     sudo: false
     os: linux
     os: linux
@@ -244,42 +251,6 @@ matrix:
         packages:
         packages:
           - clang-3.8
           - clang-3.8
     env:
     env:
-      idx=2
-      N=Clang3.8-Linux-Default-Release
-      MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
-      BUILD_TYPE=Release
-      ENABLE_SSL_DYNAMIC_LOADING=YES
-      OPENSSL_1_0=YES
-      OPENSSL_1_1=NO
-      ENABLE_CXX=NO
-      ENABLE_LUA_SHARED=NO
-      C_STANDARD=auto
-      CXX_STANDARD=auto
-      BUILD_SHARED=NO
-      NO_FILES=NO
-      ENABLE_SSL=YES
-      NO_CGI=NO
-      ENABLE_IPV6=NO
-      ENABLE_WEBSOCKETS=NO
-      ENABLE_SERVER_STATS=NO
-      ENABLE_LUA=NO
-      ENABLE_DUKTAPE=NO
-      NO_CACHING=NO
-      NO_CACHING=NO
-      ALLOW_WARNINGS=YES
-
-  - dist: trusty
-    sudo: false
-    os: linux
-    compiler: clang
-    addons:
-      apt:
-        sources:
-          - ubuntu-toolchain-r-test
-          - llvm-toolchain-precise-3.8
-        packages:
-          - clang-3.8
-    env:
       idx=3
       idx=3
       N=Clang3.8-Linux-Default-Release
       N=Clang3.8-Linux-Default-Release
       MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
       MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
@@ -306,42 +277,6 @@ matrix:
   - dist: trusty
   - dist: trusty
     sudo: required
     sudo: required
     os: linux
     os: linux
-    compiler: clang
-    addons:
-      apt:
-        sources:
-          - ubuntu-toolchain-r-test
-          - llvm-toolchain-precise-3.8
-        packages:
-          - clang-3.8
-    env:
-      idx=4
-      N=Clang3.8-Linux-Complete-NoLua-Release
-      MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
-      BUILD_TYPE=Release
-      ENABLE_SSL_DYNAMIC_LOADING=YES
-      OPENSSL_1_0=YES
-      OPENSSL_1_1=NO
-      ENABLE_CXX=NO
-      ENABLE_LUA_SHARED=NO
-      C_STANDARD=auto
-      CXX_STANDARD=auto
-      BUILD_SHARED=NO
-      NO_FILES=NO
-      ENABLE_SSL=YES
-      NO_CGI=NO
-      ENABLE_IPV6=YES
-      ENABLE_WEBSOCKETS=YES
-      ENABLE_SERVER_STATS=YES
-      ENABLE_LUA=NO
-      ENABLE_DUKTAPE=NO
-      NO_CACHING=YES
-      ALLOW_WARNINGS=YES
-
-
-  - dist: trusty
-    sudo: required
-    os: linux
     compiler: gcc
     compiler: gcc
     addons:
     addons:
       apt:
       apt:
@@ -372,6 +307,12 @@ matrix:
       ENABLE_DUKTAPE=NO
       ENABLE_DUKTAPE=NO
       NO_CACHING=YES
       NO_CACHING=YES
       ALLOW_WARNINGS=YES
       ALLOW_WARNINGS=YES
+      RUN_UNITTEST=1
+
+
+#########################################################################################
+#####   COVERAGE   ######################################################################
+#########################################################################################
 
 
   - os: linux
   - os: linux
     sudo: required
     sudo: required
@@ -398,68 +339,13 @@ matrix:
       ENABLE_DUKTAPE=NO
       ENABLE_DUKTAPE=NO
       NO_CACHING=NO
       NO_CACHING=NO
       ALLOW_WARNINGS=YES
       ALLOW_WARNINGS=YES
+      RUN_UNITTEST=1
 
 
-  - os: osx
-    sudo: required
-    compiler: clang
-    env:
-      idx=7
-      N=Clang-OSX-Complete-NoLua-Release
-      BUILD_TYPE=Release
-      ENABLE_SSL_DYNAMIC_LOADING=YES
-      OPENSSL_1_0=YES
-      OPENSSL_1_1=NO
-      ENABLE_CXX=NO
-      ENABLE_LUA_SHARED=NO
-      C_STANDARD=auto
-      CXX_STANDARD=auto
-      BUILD_SHARED=NO
-      NO_FILES=NO
-      ENABLE_SSL=YES
-      NO_CGI=NO
-      ENABLE_IPV6=YES
-      ENABLE_WEBSOCKETS=YES
-      ENABLE_SERVER_STATS=YES
-      ENABLE_LUA=NO
-      ENABLE_DUKTAPE=NO
-      NO_CACHING=YES
-      ALLOW_WARNINGS=YES
-
-  -
-    os: osx
-    sudo: required
-    compiler: clang
-    env:
-      idx=8
-      N=Clang-OSX-Complete-NoLua-Release-OpenSSL_1_1_NoDynLoad
-      BUILD_TYPE=OSX_OPENSSL_1_1
-      ENABLE_SSL_DYNAMIC_LOADING=NO
-      OPENSSL_1_0=NO
-      OPENSSL_1_1=YES
-      ENABLE_CXX=NO
-      ENABLE_LUA_SHARED=NO
-      C_STANDARD=auto
-      CXX_STANDARD=auto
-      BUILD_SHARED=NO
-      NO_FILES=NO
-      ENABLE_SSL=YES
-      NO_CGI=NO
-      ENABLE_IPV6=YES
-      ENABLE_WEBSOCKETS=YES
-      ENABLE_SERVER_STATS=YES
-      ENABLE_LUA=NO
-      ENABLE_DUKTAPE=NO
-      NO_CACHING=YES
-      ALLOW_WARNINGS=YES
-      OPENSSL_ROOT_DIR="/usr/local/opt/openssl@1.1"
-      LDFLAGS="-L${OPENSSL_ROOT_DIR}/lib"
-      CFLAGS="-I${OPENSSL_ROOT_DIR}/include"
-      ADDITIONAL_CMAKE_ARGS="-DCMAKE_SHARED_LINKER_FLAGS=${LDFLAGS} -DCMAKE_C_FLAGS=${CFLAGS}"
-      PATH="${OPENSSL_ROOT_DIR}/bin:$PATH"
-      DYLD_LIBRARY_PATH="${OPENSSL_ROOT_DIR}/lib:${DYLD_LIBRARY_PATH}"
+#########################################################################################
+#####   SHARED   ########################################################################
+#########################################################################################
 
 
-  - dist: trusty
-    sudo: false
+  - sudo: false
     os: linux
     os: linux
     compiler: clang
     compiler: clang
     addons:
     addons:
@@ -493,129 +379,16 @@ matrix:
       ALLOW_WARNINGS=YES
       ALLOW_WARNINGS=YES
       MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0"
       MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0"
 
 
-  -
-    os: osx
-    sudo: required
-    compiler: clang
-    env:
-      idx=11
-      N=OSX-Package
-      BUILD_TYPE=Release
-      ENABLE_SSL_DYNAMIC_LOADING=YES
-      OPENSSL_1_0=YES
-      OPENSSL_1_1=NO
-      ENABLE_CXX=NO
-      ENABLE_LUA_SHARED=NO
-      C_STANDARD=auto
-      CXX_STANDARD=auto
-      BUILD_SHARED=NO
-      NO_FILES=NO
-      ENABLE_SSL=YES
-      NO_CGI=NO
-      ENABLE_IPV6=YES
-      ENABLE_WEBSOCKETS=YES
-      ENABLE_SERVER_STATS=NO
-      ENABLE_LUA=NO
-      ENABLE_DUKTAPE=NO
-      NO_CACHING=NO
-      ALLOW_WARNINGS=YES
-      MACOSX_PACKAGE=1
 
 
-  - dist: trusty
-    sudo: required
-    os: linux
-    compiler: clang
-    addons:
-      apt:
-        sources:
-          - ubuntu-toolchain-r-test
-          - llvm-toolchain-trusty-3.8
-        packages:
-          - clang-3.8
-    env:
-      idx=12
-      N=Clang-Linux-32bit-Complete-NoLua-Release
-      ARCH=x86
-      BUILD_TYPE=Release
-      ENABLE_SSL_DYNAMIC_LOADING=YES
-      OPENSSL_1_0=YES
-      OPENSSL_1_1=NO
-      ENABLE_CXX=NO
-      ENABLE_LUA_SHARED=NO
-      C_STANDARD=auto
-      CXX_STANDARD=auto
-      BUILD_SHARED=NO
-      NO_FILES=NO
-      ENABLE_SSL=YES
-      NO_CGI=NO
-      ENABLE_IPV6=YES
-      ENABLE_WEBSOCKETS=YES
-      ENABLE_SERVER_STATS=YES
-      ENABLE_LUA=NO
-      ENABLE_DUKTAPE=NO
-      NO_CACHING=YES
-      ALLOW_WARNINGS=YES
-      MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
+#########################################################################################
+#####   BUILD TYPES   ###################################################################
+#########################################################################################
 
 
-
-### Test all build types:
 # According to CMakeLists, options are:
 # According to CMakeLists, options are:
 # None Debug Release RelWithDebInfo MinSizeRel Coverage
 # None Debug Release RelWithDebInfo MinSizeRel Coverage
 
 
   -
   -
     os: linux
     os: linux
-    sudo: required
-    compiler: clang
-    env:
-      idx=13
-      N=NoSslDynamicLoading
-      BUILD_TYPE=Release
-      ENABLE_SSL_DYNAMIC_LOADING=NO
-      OPENSSL_1_0=YES
-      OPENSSL_1_1=NO
-      ENABLE_CXX=NO
-      C_STANDARD=auto
-      CXX_STANDARD=auto
-      ENABLE_LUA_SHARED=NO
-      BUILD_SHARED=NO
-      NO_FILES=NO
-      ENABLE_SSL=YES
-      NO_CGI=NO
-      ENABLE_IPV6=YES
-      ENABLE_WEBSOCKETS=YES
-      ENABLE_LUA=NO
-      ENABLE_DUKTAPE=NO
-      NO_CACHING=NO
-      ALLOW_WARNINGS=YES
-      MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
-
-  -
-    os: linux
-    compiler: gcc
-    env:
-      idx=14
-      N=GCCLinuxDefault_Debug
-      BUILD_TYPE=Debug
-      ENABLE_SSL_DYNAMIC_LOADING=YES
-      OPENSSL_1_0=YES
-      OPENSSL_1_1=NO
-      ENABLE_CXX=NO
-      ENABLE_LUA_SHARED=NO
-      C_STANDARD=auto
-      CXX_STANDARD=auto
-      BUILD_SHARED=NO
-      NO_FILES=NO
-      ENABLE_SSL=YES
-      NO_CGI=NO
-      ENABLE_IPV6=NO
-      ENABLE_WEBSOCKETS=NO
-      ENABLE_LUA=NO
-      ENABLE_DUKTAPE=NO
-      NO_CACHING=NO
-      ALLOW_WARNINGS=YES
-
-  -
-    os: linux
     compiler: gcc
     compiler: gcc
     env:
     env:
       idx=15
       idx=15
@@ -689,63 +462,31 @@ matrix:
       NO_CACHING=NO
       NO_CACHING=NO
       ALLOW_WARNINGS=YES
       ALLOW_WARNINGS=YES
 
 
-  -
-    os: linux
-    compiler: clang
-    env:
-      idx=18
-      N=Clang3.8-Linux-Complete-NoLua-Debug
-      MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8"
-      BUILD_TYPE=Debug
-      ENABLE_SSL_DYNAMIC_LOADING=YES
-      OPENSSL_1_0=YES
-      OPENSSL_1_1=NO
-      ENABLE_CXX=NO
-      ENABLE_LUA_SHARED=YES
-      C_STANDARD=auto
-      CXX_STANDARD=auto
-      BUILD_SHARED=NO
-      NO_FILES=NO
-      ENABLE_SSL=YES
-      NO_CGI=NO
-      ENABLE_IPV6=YES
-      ENABLE_WEBSOCKETS=YES
-      ENABLE_SERVER_STATS=YES
-      ENABLE_LUA=NO
-      ENABLE_DUKTAPE=NO
-      NO_CACHING=YES
-      ALLOW_WARNINGS=YES
+#########################################################################################
+#####   XENIAL, BIONIC, FOCAL   #########################################################
+#########################################################################################
 
 
-  - dist: trusty
-    sudo: false
+  -
     os: linux
     os: linux
-    compiler: clang
-    addons:
-      apt:
-        sources:
-          - ubuntu-toolchain-r-test
-          - llvm-toolchain-trusty-5.0
-        packages:
-          - clang-5.0
+    compiler: gcc
+    dist: xenial
     env:
     env:
-      idx=19
-      N=Clang5.0-Linux-Complete-CXX-NoLua-Release
-      MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0"
+      idx=20
+      N=GCCLinuxDefault_xenial
       BUILD_TYPE=Release
       BUILD_TYPE=Release
       ENABLE_SSL_DYNAMIC_LOADING=YES
       ENABLE_SSL_DYNAMIC_LOADING=YES
       OPENSSL_1_0=YES
       OPENSSL_1_0=YES
       OPENSSL_1_1=NO
       OPENSSL_1_1=NO
-      ENABLE_CXX=YES
-      ENABLE_LUA_SHARED=YES
+      ENABLE_CXX=NO
+      ENABLE_LUA_SHARED=NO
       C_STANDARD=auto
       C_STANDARD=auto
       CXX_STANDARD=auto
       CXX_STANDARD=auto
       BUILD_SHARED=NO
       BUILD_SHARED=NO
       NO_FILES=NO
       NO_FILES=NO
       ENABLE_SSL=YES
       ENABLE_SSL=YES
       NO_CGI=NO
       NO_CGI=NO
-      ENABLE_IPV6=YES
-      ENABLE_WEBSOCKETS=YES
-      ENABLE_SERVER_STATS=YES
+      ENABLE_IPV6=NO
+      ENABLE_WEBSOCKETS=NO
       ENABLE_LUA=NO
       ENABLE_LUA=NO
       ENABLE_DUKTAPE=NO
       ENABLE_DUKTAPE=NO
       NO_CACHING=NO
       NO_CACHING=NO
@@ -754,14 +495,14 @@ matrix:
   -
   -
     os: linux
     os: linux
     compiler: gcc
     compiler: gcc
-    dist: xenial
+    dist: bionic
     env:
     env:
-      idx=20
-      N=GCCLinuxDefault_xenial
+      idx=21
+      N=GCCLinuxDefault_bionic
       BUILD_TYPE=Release
       BUILD_TYPE=Release
       ENABLE_SSL_DYNAMIC_LOADING=YES
       ENABLE_SSL_DYNAMIC_LOADING=YES
-      OPENSSL_1_0=YES
-      OPENSSL_1_1=NO
+      OPENSSL_1_0=NO
+      OPENSSL_1_1=YES
       ENABLE_CXX=NO
       ENABLE_CXX=NO
       ENABLE_LUA_SHARED=NO
       ENABLE_LUA_SHARED=NO
       C_STANDARD=auto
       C_STANDARD=auto
@@ -780,10 +521,14 @@ matrix:
   -
   -
     os: linux
     os: linux
     compiler: gcc
     compiler: gcc
-    dist: bionic
+    dist: focal
+    addons:
+      apt:
+        packages:
+          - lsb-core
     env:
     env:
-      idx=21
-      N=GCCLinuxDefault_bionic
+      idx=23
+      N=GCCLinuxDefault_focal
       BUILD_TYPE=Release
       BUILD_TYPE=Release
       ENABLE_SSL_DYNAMIC_LOADING=YES
       ENABLE_SSL_DYNAMIC_LOADING=YES
       OPENSSL_1_0=NO
       OPENSSL_1_0=NO
@@ -802,16 +547,22 @@ matrix:
       ENABLE_DUKTAPE=NO
       ENABLE_DUKTAPE=NO
       NO_CACHING=NO
       NO_CACHING=NO
       ALLOW_WARNINGS=YES
       ALLOW_WARNINGS=YES
+      RUN_UNITTEST=1
 
 
-  -
-    os: linux
-    compiler: gcc
-    dist: eoan
+
+#########################################################################################
+#####   OSX BUILD   #####################################################################
+#########################################################################################
+
+ -
+    os: osx
+    sudo: required
+    compiler: clang
     env:
     env:
-      idx=22
-      N=GCCLinuxDefault_eoan
-      BUILD_TYPE=Release
-      ENABLE_SSL_DYNAMIC_LOADING=YES
+      idx=8
+      N=Clang-OSX-Complete-NoLua-Release-OpenSSL_1_1_NoDynLoad
+      BUILD_TYPE=OSX_OPENSSL_1_1
+      ENABLE_SSL_DYNAMIC_LOADING=NO
       OPENSSL_1_0=NO
       OPENSSL_1_0=NO
       OPENSSL_1_1=YES
       OPENSSL_1_1=YES
       ENABLE_CXX=NO
       ENABLE_CXX=NO
@@ -822,28 +573,32 @@ matrix:
       NO_FILES=NO
       NO_FILES=NO
       ENABLE_SSL=YES
       ENABLE_SSL=YES
       NO_CGI=NO
       NO_CGI=NO
-      ENABLE_IPV6=NO
-      ENABLE_WEBSOCKETS=NO
+      ENABLE_IPV6=YES
+      ENABLE_WEBSOCKETS=YES
+      ENABLE_SERVER_STATS=YES
       ENABLE_LUA=NO
       ENABLE_LUA=NO
       ENABLE_DUKTAPE=NO
       ENABLE_DUKTAPE=NO
-      NO_CACHING=NO
+      NO_CACHING=YES
       ALLOW_WARNINGS=YES
       ALLOW_WARNINGS=YES
+      OPENSSL_ROOT_DIR="/usr/local/opt/openssl@1.1"
+      LDFLAGS="-L${OPENSSL_ROOT_DIR}/lib"
+      CFLAGS="-I${OPENSSL_ROOT_DIR}/include"
+      ADDITIONAL_CMAKE_ARGS="-DCMAKE_SHARED_LINKER_FLAGS=${LDFLAGS} -DCMAKE_C_FLAGS=${CFLAGS}"
+      PATH="${OPENSSL_ROOT_DIR}/bin:$PATH"
+      DYLD_LIBRARY_PATH="${OPENSSL_ROOT_DIR}/lib:${DYLD_LIBRARY_PATH}"
+      RUN_UNITTEST=1
 
 
   -
   -
-    os: linux
-    compiler: gcc
-    dist: focal
-    addons:
-      apt:
-        packages:
-          - lsb-core
+    os: osx
+    sudo: required
+    compiler: clang
     env:
     env:
-      idx=23
-      N=GCCLinuxDefault_focal
+      idx=11
+      N=OSX-Package
       BUILD_TYPE=Release
       BUILD_TYPE=Release
       ENABLE_SSL_DYNAMIC_LOADING=YES
       ENABLE_SSL_DYNAMIC_LOADING=YES
-      OPENSSL_1_0=NO
-      OPENSSL_1_1=YES
+      OPENSSL_1_0=YES
+      OPENSSL_1_1=NO
       ENABLE_CXX=NO
       ENABLE_CXX=NO
       ENABLE_LUA_SHARED=NO
       ENABLE_LUA_SHARED=NO
       C_STANDARD=auto
       C_STANDARD=auto
@@ -852,12 +607,20 @@ matrix:
       NO_FILES=NO
       NO_FILES=NO
       ENABLE_SSL=YES
       ENABLE_SSL=YES
       NO_CGI=NO
       NO_CGI=NO
-      ENABLE_IPV6=NO
-      ENABLE_WEBSOCKETS=NO
+      ENABLE_IPV6=YES
+      ENABLE_WEBSOCKETS=YES
+      ENABLE_SERVER_STATS=NO
       ENABLE_LUA=NO
       ENABLE_LUA=NO
       ENABLE_DUKTAPE=NO
       ENABLE_DUKTAPE=NO
       NO_CACHING=NO
       NO_CACHING=NO
       ALLOW_WARNINGS=YES
       ALLOW_WARNINGS=YES
+      MACOSX_PACKAGE=1
+
+#########################################################################################
+#########################################################################################
+#####   END OF BUILD MATRIX   ###########################################################
+#########################################################################################
+#########################################################################################
 
 
   - <<: *conan-linux
   - <<: *conan-linux
     env: CONAN_GCC_VERSIONS=4.9 CONAN_DOCKER_IMAGE=conanio/gcc49 CONAN_DOCKER_32_IMAGES=1
     env: CONAN_GCC_VERSIONS=4.9 CONAN_DOCKER_IMAGE=conanio/gcc49 CONAN_DOCKER_32_IMAGES=1