done

ср, 22 мая 2019 г. в 19:18, Willy Tarreau <w...@1wt.eu>:

> Hi Ilya,
>
> On Wed, May 22, 2019 at 06:37:58PM +0500, ???? ??????? wrote:
> > build is green now, we can apply this patch (I skipped "linux-ppc64le"
> for
> > a while)
>
> It's really easier for me if you attach it again. I'm getting about 2k
> emails a day and having to do dig through archives to pick one patch
> among many is always a pain. And often it gives you an option to discretly
> re-edit the patch if you noticed some typos or small mistakes ;-)
>
> By the way since you're talking about travis-ci, I wanted to propose you
> something. We could also enable building the WURFL and DeviceAtlas modules
> with their dummy libraries now (and likely 51Degrees soon once available).
> This way we'll also detect if we broke something there. It's reasonably
> easy :
>
>    make -C contrib/wurfl
>    make TARGET=.... USE_WURFL=1 WURFL_INC=contrib/wurfl
> WURFL_LIB=contrib/wurfl USE_DEVICEATLAS=1
> DEVICEATLAS_SRC=contrib/deviceatlas
>
> Just let me know what you think and if that's OK for you, feel free to
> propose me a patch :-)
>
> thanks!
> Willy
>
From 4ce81f827c0ab3c5e78f649b827e8bc97d9f119d Mon Sep 17 00:00:00 2001
From: Ilya Shipitsin <chipits...@gmail.com>
Date: Wed, 22 May 2019 20:12:15 +0500
Subject: [PATCH] BUILD: add sanitizers to travis-ci builds

full list of changes:

use TARGET=osx instead of generic for osx builds,
add USE_PCRE_JIT=1, USE_GETADDRINFO=1 to build matrix,
enable address sanitizer for clang
enable device detection: WURFL, DEVICEATLAS
---
 .travis.yml | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 530d1682..5257ddfe 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,7 +5,7 @@ language: c
 
 env:
   global:
-    - FLAGS="USE_ZLIB=1 USE_PCRE=1 USE_LUA=1 USE_OPENSSL=1"
+    - FLAGS="USE_ZLIB=1 USE_PCRE=1 USE_PCRE_JIT=1 USE_LUA=1 USE_OPENSSL=1 USE_GETADDRINFO=1 USE_WURFL=1 WURFL_INC=contrib/wurfl WURFL_LIB=contrib/wurfl USE_DEVICEATLAS=1 DEVICEATLAS_SRC=contrib/deviceatlas"
     - SSL_LIB=${HOME}/opt/lib
     - SSL_INC=${HOME}/opt/include
     - TMPDIR=/tmp
@@ -28,32 +28,32 @@ matrix:
     compiler: gcc
     env: TARGET=linux2628 OPENSSL_VERSION=1.1.1b LABEL="linux-ppc64le"
   - os: linux
-    compiler: gcc
+    compiler: clang
     env: TARGET=linux2628 OPENSSL_VERSION=1.1.1b
   - os: linux
-    compiler: gcc
+    compiler: clang
     env: TARGET=linux2628 OPENSSL_VERSION=1.1.0j
   - os: linux
-    compiler: gcc
+    compiler: clang
     env: TARGET=linux2628 OPENSSL_VERSION=1.0.2r
   - os: linux
-    compiler: gcc
+    compiler: clang
     env: TARGET=linux2628 LIBRESSL_VERSION=2.9.1
   - os: linux
-    compiler: gcc
+    compiler: clang
     env: TARGET=linux2628 LIBRESSL_VERSION=2.8.3
   - os: linux
-    compiler: gcc
+    compiler: clang
     env: TARGET=linux2628 LIBRESSL_VERSION=2.7.5
   - os: linux
-    compiler: gcc
+    compiler: clang
     env: TARGET=linux2628 BORINGSSL=yes
   - os: linux
     compiler: clang
     env: TARGET=linux2628 FLAGS=
   - os: osx
     compiler: clang
-    env: TARGET=generic FLAGS="USE_OPENSSL=1" OPENSSL_VERSION=1.1.1b
+    env: TARGET=osx FLAGS="USE_OPENSSL=1" OPENSSL_VERSION=1.1.1b
 
 install:
   - git clone https://github.com/VTest/VTest.git ../vtest
@@ -62,7 +62,9 @@ install:
   - scripts/build-ssl.sh > build-ssl.log 2>&1 || (cat build-ssl.log && exit 1)
 
 script:
-  - make CC=$CC V=1 TARGET=$TARGET $FLAGS
+  - if [ "${CC}"  = "clang" ]; then export FLAGS="$FLAGS USE_OBSOLETE_LINKER=1" DEBUG_CFLAGS="-g -fsanitize=address" LDFLAGS="-fsanitize=address"; fi
+  - make -C contrib/wurfl
+  - make CC=$CC V=1 TARGET=$TARGET $FLAGS DEBUG_CFLAGS="$DEBUG_CFLAGS" LDFLAGS="$LDFLAGS" 
   - if [ "${TRAVIS_OS_NAME}" = "linux" ]; then export LD_LIBRARY_PATH="${HOME}/opt/lib:${LD_LIBRARY_PATH:-}"; fi
   - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then export DYLD_LIBRARY_PATH="${HOME}/opt/lib:${DYLD_LIBRARY_PATH:-}"; fi
   - ./haproxy -vv
-- 
2.20.1

Reply via email to