travis: try to fix ubsan for clang-old, take 2
[m6w6/libmemcached] / .travis.yml
index b753d101b863232bdddb46a51088890466bb1dd7..5d96e69838d95b99345a8e5292946e9c080ca064 100644 (file)
@@ -7,30 +7,44 @@ addons:
    - python-sphinx
    - valgrind
    - libevent-dev
+   - libsasl2-dev
 
 dist: bionic
 language: cpp
 compiler:
- - gcc
+# - gcc
  - clang
 
 env:
-# prod
- - BUILD=Release
- - BUILD=Debug
+# - BUILD=Release SASL=false
+# - BUILD=Debug SASL=true PREFIX=/opt PORT=11212 MC_VERSION=1.5.22
+# - BUILD=Debug SASL=false PREFIX=/opt PORT=11212 MC_VERSION=1.6.6
+ - BUILD=Debug SASL=true PREFIX=/opt PORT=11212 SANITIZERS="address;undefined"
 
 #before_install:
-#install:
+install:
+ - |
+   if ${SASL} || test -n "$MC_VERSION";
+   then
+     git clone -b ${MC_VERSION:-1.5.22} https://github.com/memcached/memcached &&
+     cd memcached && ./autogen.sh &&
+     CFLAGS="-O2 -pipe" ./configure --prefix=${PREFIX} --disable-dependency-tracking --enable-sasl --enable-sasl-pwdb --disable-coverage --disable-docs &&
+     make -j2 && make install && cd ..;
+     ${PREFIX}/bin/memcached -l 127.0.0.1 -p ${PORT} -U ${PORT} -m 128 &
+   fi;
+
 
 before_script:
- - echo stats settings | nc -q 0 localhost 11211 | column -t
+ - echo stats settings | nc -q 0 localhost ${PORT:-11211} | column -t
+ - sudo systemctl stop memcached
+ - killall memcached || true
  - mkdir build
 
 script:
  - cd build
- - cmake -DCMAKE_BUILD_TYPE=${BUILD} ..
- - make
- - make test
+ - cmake -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=${BUILD} -DENABLE_SASL=${SASL} -DENABLE_SANITIZERS=${SANITIZERS} -DMEMCACHED_BINARY=${PREFIX:-/usr}/bin/memcached ..
+ - make -j2 VERBOSE=1
+ - make test VERBOSE=1
  - make install DESTDIR=.
 
 #before_cache: