]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
Travis tests for PowerPC and OS X
authorinikep <inikep@gmail.com>
Mon, 30 May 2016 08:18:56 +0000 (10:18 +0200)
committerinikep <inikep@gmail.com>
Mon, 30 May 2016 08:18:56 +0000 (10:18 +0200)
.travis.yml
Makefile

index 70f4becee9d9875adc1f08365153d74b065ce986..f130978b1237916a58af953b77cf9edb185d83fd 100644 (file)
@@ -1,35 +1,96 @@
 language: c
+compiler: gcc
+matrix:
+  fast_finish: true
+  include: 
+    # Container-based Ubuntu 12.04 LTS Server Edition 64 bit (doesn't support 32-bit includes)
+    - os: linux  
+      sudo: false
+      env: PLATFORM="Ubuntu 12.04 container" MAKE_PARAM=travis-install
+    - os: linux
+      sudo: false
+      env: PLATFORM="Ubuntu 12.04 container" MAKE_PARAM=cmaketest
+    - os: linux
+      sudo: false
+      env: PLATFORM="Ubuntu 12.04 container" MAKE_PARAM=test
+    - os: linux
+      sudo: false
+      env: PLATFORM="Ubuntu 12.04 container" MAKE_PARAM="-C programs test-zstd_nolegacy"
+    - os: linux
+      sudo: false
+      env: PLATFORM="Ubuntu 12.04 container" MAKE_PARAM=usan
+    - os: linux
+      sudo: false
+      env: PLATFORM="Ubuntu 12.04 container" MAKE_PARAM=asan
+    # Standard Ubuntu 12.04 LTS Server Edition 64 bit
+    - os: linux
+      sudo: required
+      env: PLATFORM="Ubuntu 12.04" MAKE_PARAM=clangtest
+    - os: linux
+      sudo: required
+      env: PLATFORM="Ubuntu 12.04" MAKE_PARAM=gpptest
+    - os: linux
+      sudo: required
+      env: PLATFORM="Ubuntu 12.04" MAKE_PARAM=gnu90test
+    - os: linux
+      sudo: required
+      env: PLATFORM="Ubuntu 12.04" MAKE_PARAM=c99test
+    - os: linux
+      sudo: required
+      env: PLATFORM="Ubuntu 12.04" MAKE_PARAM=gnu99test
+    - os: linux
+      sudo: required
+      env: PLATFORM="Ubuntu 12.04" MAKE_PARAM=armtest-w-install
+    - os: linux
+      sudo: required
+      env: PLATFORM="Ubuntu 12.04" MAKE_PARAM="-C programs test32"
+    - os: linux
+      sudo: required
+      env: PLATFORM="Ubuntu 12.04" MAKE_PARAM="-C versionsTest"
+    - os: linux
+      sudo: required
+      env: PLATFORM="Ubuntu 12.04" MAKE_PARAM=asan32
+    - os: linux
+      sudo: required
+      env: PLATFORM="Ubuntu 12.04" MAKE_PARAM="-C programs valgrindTest"
+    - os: linux
+      sudo: required
+      env: PLATFORM="Ubuntu 12.04" MAKE_PARAM=gnu90test
+    - os: linux
+      sudo: required
+      env: PLATFORM="Ubuntu 12.04" MAKE_PARAM=c99test
+    #- os: linux
+    #  sudo: required
+    #  env: PLATFORM="Ubuntu 12.04" MAKE_PARAM=zlibwrapper
+    # Ubuntu 14.04 LTS Server Edition 64 bit
+    - os: linux
+      dist: trusty
+      sudo: required
+      env: PLATFORM="Ubuntu 14.04" MAKE_PARAM=ppctest-w-install
+    - os: linux
+      dist: trusty
+      sudo: required
+      env: PLATFORM="Ubuntu 14.04" MAKE_PARAM=zlibwrapper
+    # OS X Mavericks
+    - os: osx  
+      env: PLATFORM="OS X Mavericks" MAKE_PARAM=travis-install
+    - os: osx
+      env: PLATFORM="OS X Mavericks" MAKE_PARAM=gnu90test
+    - os: osx
+      env: PLATFORM="OS X Mavericks" MAKE_PARAM=test
+  exclude:
+    - compiler: gcc
 
 before_install:
-  - sudo apt-get update  -qq
-  - sudo apt-get install -qq clang
-  - sudo apt-get install -qq g++-multilib
-  - sudo apt-get install -qq gcc-multilib
-  - sudo apt-get install -qq valgrind
-
-env:
-  - ZSTD_TRAVIS_CI_ENV=travis-install
-  - ZSTD_TRAVIS_CI_ENV=cmaketest
-  - ZSTD_TRAVIS_CI_ENV=clangtest  
-  - ZSTD_TRAVIS_CI_ENV=gpptest  
-  - ZSTD_TRAVIS_CI_ENV=gnu90test
-  - ZSTD_TRAVIS_CI_ENV=c99test
-  - ZSTD_TRAVIS_CI_ENV=gnu99test
-  - ZSTD_TRAVIS_CI_ENV=armtest-w-install  
-  - ZSTD_TRAVIS_CI_ENV=test  
-  - ZSTD_TRAVIS_CI_ENV="-C programs test32"  
-  - ZSTD_TRAVIS_CI_ENV="-C programs test-zstd_nolegacy"
-  - ZSTD_TRAVIS_CI_ENV="-C versionsTest"  
-  - ZSTD_TRAVIS_CI_ENV=usan
-  - ZSTD_TRAVIS_CI_ENV=asan
-  - ZSTD_TRAVIS_CI_ENV=asan32
-  - ZSTD_TRAVIS_CI_ENV="-C programs valgrindTest"  
-  - ZSTD_TRAVIS_CI_ENV=zlibwrapper
-
-compiler: gcc
+  - set -e
+  - |
+    if [ "$TRAVIS_OS_NAME" == "linux" ]; then
+      CAN_I_RUN_SUDO=$(sudo -n uptime 2>&1|grep "load"|wc -l)
+      echo "CAN_I_RUN_SUDO=$CAN_I_RUN_SUDO\n"
+      if [ ${CAN_I_RUN_SUDO} -gt 0 ]; then
+        sudo apt-get install -y -qq clang g++-multilib gcc-multilib valgrind
+      fi
+    fi
 
 script: 
-  - make $ZSTD_TRAVIS_CI_ENV
-
-matrix:
-  fast_finish: true
+  - make $MAKE_PARAM
index 6be618bc107cd6d903d54bc6049fa4bd5b6ec9fb..3a585da3f281a86fb0821d05f419dd2c63078411 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -120,11 +120,8 @@ armtest: clean
        $(MAKE) -C $(PRGDIR) test CC=arm-linux-gnueabi-gcc ZSTDRTTEST= MOREFLAGS="-Werror -static"
 
 # for Travis CI
-arminstall: clean   
-       sudo apt-get install -q qemu  
-       sudo apt-get install -q binfmt-support
-       sudo apt-get install -q qemu-user-static
-       sudo apt-get install -q gcc-arm-linux-gnueabi
+arminstall: clean
+       sudo apt-get install -y -q qemu binfmt-support qemu-user-static gcc-arm-linux-gnueabi
 
 # for Travis CI
 armtest-w-install: clean arminstall armtest
@@ -134,16 +131,24 @@ ppctest: clean
        $(MAKE) -C $(PRGDIR) test CC=powerpc-linux-gnu-gcc ZSTDRTTEST= MOREFLAGS="-Werror -static" 
 
 # for Travis CI
-ppcinstall: clean   
-       sudo apt-get install -q qemu  
-       sudo apt-get install -q binfmt-support
-       sudo apt-get install -q qemu-user-static
-       sudo apt-get update  -q
-       sudo apt-get install -q gcc-powerpc-linux-gnu   # unfortunately, doesn't work on Travis CI (package not available)
+ppcinstall: clean
+       sudo apt-get update  -y -q
+       sudo apt-get install -y -q qemu-system-ppc binfmt-support qemu-user-static gcc-powerpc-linux-gnu  # doesn't work with Ubuntu 12.04
 
 # for Travis CI
 ppctest-w-install: clean ppcinstall ppctest
 
+ppc64test: clean
+       $(MAKE) -C $(PRGDIR) datagen   # use native, faster
+       $(MAKE) -C $(PRGDIR) test CC=powerpc64le-linux-gnu-gcc ZSTDRTTEST= MOREFLAGS="-Werror -static" 
+
+ppc64install: clean
+       sudo apt-get update  -y -q
+       sudo apt-get install -y -q qemu-ppc64le binfmt-support qemu-user-static gcc-powerpc64le-linux-gnu
+       update-binfmts --displ
+
+ppc64test-w-install: clean ppc64install ppc64test
+
 usan: clean
        $(MAKE) test CC=clang MOREFLAGS="-g -fsanitize=undefined"