testing: limit random port range to probably unused ports
[m6w6/libmemcached] / .travis.yml
index 0463587f68bce022c909e197194aca2fb6f47c64..d3d2c6277b5f63bd56ba105239ff8ad774db6397 100644 (file)
@@ -7,6 +7,7 @@ addons:
    - python-sphinx
    - valgrind
    - libevent-dev
+   - libsasl2-dev
 
 dist: bionic
 language: cpp
@@ -15,22 +16,35 @@ compiler:
  - clang
 
 env:
-# prod
- - BUILD=Release SASL=OFF
- - BUILD=Debug SASL=OFF
+ - 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} -DENABLE_SASL=${SASL} ..
- - 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
+ - make test VERBOSE=1
  - make install DESTDIR=.
 
 #before_cache: