1# Long tests: run on commits to master branch/cron builds
2
3language: c
4sudo: required
5dist: trusty
6matrix:
7  include:
8    # Ubuntu 14.04
9    - env: Cmd="make cxxtest && make clean && make gnu90build && make clean && make cmakebuild && make clean && make travis-install"
10
11    - env: Cmd='make gcc6install && CC=gcc-6 make clean uasan-test'
12    - env: Cmd='make gcc6install libc6install && CC=gcc-6 make clean uasan-test32'
13    - env: Cmd='make clang38install && CC=clang-3.8 make clean msan-test'
14    - env: Cmd='make clang38install && CC=clang-3.8 make clean tsan-test-zstream'
15    - env: Cmd='make valgrindinstall && make -C tests clean valgrindTest'
16
17    - env: Cmd='make arminstall && make armtest'
18    - env: Cmd='make arminstall && make aarch64test'
19    - env: Cmd='make ppcinstall && make ppctest'
20    - env: Cmd='make ppcinstall && make ppc64test'
21
22    - env: Cmd='make gpp6install valgrindinstall && make -C zlibWrapper test && make -C zlibWrapper valgrindTest'
23    - env: Cmd='make gcc6install && CC=gcc-6 make uasan-test-zstd-nolegacy'
24    - env: Cmd='make gcc6install && CC=gcc-6 make uasan-test-zbuff'
25
26    - env: Cmd='make -j uasanregressiontest'
27    - env: Cmd='make -j msanregressiontest'
28
29    - env: Cmd='make -C tests versionsTest && make lz4install && make clean && make -C tests test-lz4'
30
31    # OS X Mavericks
32    - env: Cmd="make test"
33      os: osx
34
35before_install:
36  - if [ `uname` = "Darwin" ]; then brew update; fi
37
38install:
39  - if [ `uname` = "Darwin" ]; then brew install xz; fi
40
41git:
42  depth: 1
43
44branches:
45  only:
46  - dev
47  - master
48
49script:
50  - JOB_NUMBER=$(echo $TRAVIS_JOB_NUMBER | sed -e 's:[0-9][0-9]*\.\(.*\):\1:')
51  - echo JOB_NUMBER=$JOB_NUMBER TRAVIS_BRANCH=$TRAVIS_BRANCH TRAVIS_EVENT_TYPE=$TRAVIS_EVENT_TYPE TRAVIS_PULL_REQUEST=$TRAVIS_PULL_REQUEST
52  - export FUZZERTEST=-T3mn;
53    export ZSTREAM_TESTTIME=-T80s;
54    export DECODECORPUS_TESTTIME=-T40s;
55    if [ "$TRAVIS_EVENT_TYPE" = "cron" ]; then
56        date;
57        git fetch origin dev;
58        git checkout -f FETCH_HEAD;
59        date;
60    fi;
61    sh -c "$Cmd" || travis_terminate 1;
62