testing: honor MEMCACHED_BINARY; use Catch.cmake
[awesomized/libmemcached] / .travis.yml
index b26aba33f148e55ecc0530ff639002a0443fdf45..03cf473f1afa00fd9cce279ab1cec089246be840 100644 (file)
@@ -6,6 +6,8 @@ addons:
   packages:
    - python-sphinx
    - valgrind
+   - libevent-dev
+   - libsasl2-dev
 
 dist: bionic
 language: cpp
@@ -14,28 +16,38 @@ compiler:
  - clang
 
 env:
-# prod
- - 
-# debug
- - enable_debug=yes
-# sanitize=address
-# - with_sanitize=address
-# sanitize=thread
-# - with_sanitize=thread
+ - 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
 
 #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:
- - export enable_dependency_tracking=no
- - autoreconf -vfi
+ - echo stats settings | nc -q 0 localhost ${PORT:-11211} | column -t
+ - mkdir build
 
-#script:
+script:
+ - cd build
+ - cmake -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=${BUILD} -DENABLE_SASL=${SASL} -DMEMCACHED_BINARY=${PREFIX:-/usr}/bin/memcached ..
+ - make -j2
+ - make test
+ - make install DESTDIR=.
 
 #before_cache:
 #after_success:
 
 after_failure:
- - cat test-suite.log
+ - cat Testing/Temporary/LastTest.log
 
 #after_script: