[io] prevent possible crash on empty string in source_apple_audio
[aubio.git] / .travis.yml
index b0825ba..b799ce2 100644 (file)
@@ -11,56 +11,76 @@ matrix:
     - python: 2.7
       os: linux
       compiler: gcc
-      env: WAFOPTS=--enable-fftw3
-    - language: C
-      os: osx
-      compiler: clang
     - python: 3.5
       os: linux
       compiler: gcc
-      env: HAVE_AUBIO_DOUBLE=1
-    - python: 2.7
+      env: CFLAGS="-Os" WAFOPTS="--disable-samplerate --disable-sndfile"
+    - python: 3.4
       os: linux
       compiler: gcc
-      env: HAVE_AUBIO_DOUBLE=1 WAFOPTS=--enable-fftw3
+      env: HAVE_AUBIO_DOUBLE=1 CFLAGS="-O3" WAFOPTS="--enable-fftw3"
     - python: 2.7
       os: linux
       compiler: gcc
-      env: HAVE_AUBIO_DOUBLE=1
+      env: CFLAGS="`dpkg-buildflags --get CFLAGS`" LDFLAGS="`dpkg-buildflags --get LDFLAGS`"
+    - language: C
+      os: osx
+      compiler: clang
     - language: C
       os: osx
       compiler: clang
-      env: WAFOPTS="--disable-avcodec --disable-accelerate"
+      env: CFLAGS="-Os" HAVE_AUBIO_DOUBLE=1 WAFOPTS="--disable-accelerate"
     - language: C
       os: osx
       compiler: clang
-      env: WAFOPTS="--enable-fat --disable-avcodec"
+      env: WAFOPTS="--enable-fat --disable-avcodec --disable-sndfile"
     - language: C
       os: osx
       compiler: clang
-      env: WAFOPTS="--enable-fat --disable-avcodec --with-target-platform=ios"
+      env: WAFOPTS="--with-target-platform=ios --disable-avcodec --disable-sndfile" AUBIO_NOTESTS=1
+    - language: C
+      os: osx
+      compiler: clang
+      env: WAFOPTS="--with-target-platform=iosimulator --disable-avcodec --disable-sndfile" AUBIO_NOTESTS=1
+
+# use trusty
+dist: trusty
+sudo: required
 
 addons:
   apt:
     packages:
     - bzip2
+    - libavcodec-dev
+    - libavformat-dev
+    - libavresample-dev
+    - libavutil-dev
     - libsndfile1-dev
     - libsamplerate-dev
     - libjack-dev
     - libasound2-dev
     - libfftw3-dev
     - sox
+    - lcov
+  homebrew:
+    packages:
+    - sox
+    - ffmpeg
+    - libsndfile
+    - lcov
+    #update: true
 
 before_install:
    - |
      if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
-       brew update
-       brew install sox
-       brew install ffmpeg
        export PATH="$HOME/Library/Python/2.7/bin/:$PATH"
      fi;
 
 install:
+  - |
+    if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
+      alias pip=pip2
+    fi;
   - travis_retry pip install --upgrade pip
   - travis_retry make getwaf expandwaf deps_python
   - which pip
@@ -68,11 +88,29 @@ install:
 
 script:
   - make create_test_sounds
-  - make test_lib_python_clean
-  - make test_python_only_clean
+  - |
+    if [[ -z "$AUBIO_NOTESTS" ]]; then
+      make test_lib_python_clean
+      make coverage
+    else
+      make test_lib_only_clean
+    fi;
+
+after_success:
+  - |
+    if [[ -z "$AUBIO_NOTESTS" ]]; then
+      # upload to codecov
+      bash <(curl -s https://codecov.io/bash)
+    fi
 
 notifications:
     irc:
         channels:
             - "irc.freenode.org#aubio"
         use_notice: true
+    webhooks:
+        urls:
+            - https://webhooks.gitter.im/e/81e7733a5b1d977854b4
+        on_success: change  # options: [always|never|change] default: always
+        on_failure: always  # options: [always|never|change] default: always
+        on_start: never     # options: [always|never|change] default: always