# Medium Tests: Run on all commits/PRs to dev branch

language: c
dist: trusty

git:
  depth: 1

branches:
  only:
  - dev
  - master
  - travisTest

addons:
  apt:
    update: true

env:
  global:
    - FUZZERTEST=-T2mn
      ZSTREAM_TESTTIME=-T2mn
      DECODECORPUS_TESTTIME=-T1mn


matrix:
  fast_finish: true
  include:
    - name: Trusty (Test All)
      script:
        - make test

    - name: gcc-6 + gcc-7 compilation
      script:
        - make gcc6install gcc7install
        - CC=gcc-6 CFLAGS=-Werror make -j all
        - make clean
        - CC=gcc-7 CFLAGS=-Werror make -j all

    - name: gcc-8 + ASan + UBSan + Test Zstd
      script:
        - make gcc8install
        - CC=gcc-8 CFLAGS="-Werror" make -j all
        - make clean
        - CC=gcc-8 make -j uasan-test-zstd </dev/null   # test when stdin is not a tty

    - name: gcc-6 + ASan + UBSan + Test Zstd, 32bit mode
      script:
        - make gcc6install libc6install
        - CC=gcc-6 CFLAGS="-Werror -m32" make -j all32
        - make clean
        - CC=gcc-6 make -j uasan-test-zstd32   # note : can complain about pointer overflow

    - name: Trusty (clang-3.8 + MSan + Test Zstd)
      script:
        - make clang38install
        - CC=clang-3.8 make clean msan-test-zstd

    - name: Trusty (Minimal Decompressor Macros)
      script:
        - make clean
        - CFLAGS=-Werror make -j all MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X1 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_SHORT"
        - make clean
        - make -j check MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X1 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_SHORT"
        - make clean
        - CFLAGS=-Werror make -j all MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X2 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_LONG"
        - make clean
        - make -j check MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X2 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_LONG"
        - make clean
        - CFLAGS=-Werror make -j all MOREFLAGS="-Werror -DZSTD_NO_INLINE -DZSTD_STRIP_ERROR_STRINGS"
        - make clean
        - make -j check MOREFLAGS="-Werror -DZSTD_NO_INLINE -DZSTD_STRIP_ERROR_STRINGS"

    - name: Trusty (CMake)
      script:
        - make cmakebuild

    - name: Trusty (Static Analyze)
      script:
        - make staticAnalyze

    - name: Trusty (gcc-8 + ASan + UBSan + Fuzz Test)
      script:
        - make gcc8install
        - CC=gcc-8 make clean uasan-fuzztest

    - name: Trusty (gcc-6 + ASan + UBSan + Fuzz Test 32bit)
      script:
        - make gcc6install libc6install
        - CC=gcc-6 CFLAGS="-O2 -m32" make uasan-fuzztest   # can complain about pointer overflow

    - name: Trusty (clang-3.8 + MSan + Fuzz Test)
      script:
        - make clang38install
        - CC=clang-3.8 make clean msan-fuzztest

    - name: Trusty (ASan + UBSan + MSan + Regression Test)
      script:
        - make -j uasanregressiontest
        - make clean
        - make -j msanregressiontest

    - name: Trusty (Valgrind + Fuzz Test Stack Mode)
      script:
        - make valgrindinstall
        - make -C tests clean valgrindTest
        - make clean
        - make -C tests test-fuzzer-stackmode

    - name: Trusty (ARM + Fuzz Test)
      script:
        - make arminstall
        - make armfuzz

    - name: Xenial (AARCH64 + Fuzz Test)
      dist: xenial
      script:
        - make arminstall
        - make aarch64fuzz

    - name: Trusty (PPC + Fuzz Test)
      script:
        - make ppcinstall
        - make ppcfuzz

    # check release number
    - name: Tag-Specific Test
      if: tag =~ ^v[0-9]\.[0-9]
      script:
        - make -C tests checkTag
        - tests/checkTag "$TRAVIS_BRANCH"

    # tests for master branch and cron job only
    - name: OS-X
      if: branch = master
      os: osx
      script:
        - make test

    - name: thread sanitizer
      if: branch = master
      script:
        - make clang38install
        - CC=clang-3.8 make tsan-test-zstream
        - CC=clang-3.8 make tsan-fuzztest

    - name: C++ and gnu90 compatibility
      if: branch = master
      script:
        - make cxxtest
        - make clean
        - make gnu90build
        - make clean
        - make travis-install    # just ensures `make install` works

    - name: c99 compatibility
      if: branch = master
      script:
        - make c99build
        - make -C tests test-zstd

    - name: PPC64
      if: branch = master
      script:
        - make ppcinstall
        - make ppc64fuzz

    - name: zlib wrapper test
      if: branch = master
      script:
        - make gpp6install valgrindinstall
        - make -C zlibWrapper test
        - make -C zlibWrapper valgrindTest

    - name: LZ4, thread pool, and partial libs tests
      if: branch = master
      script:
        - make lz4install
        - make -C tests test-lz4
        - make clean
        - make -C tests test-pool
        - make clean
        - bash tests/libzstd_partial_builds.sh

    # meson dedicated test
    - name: Xenial (Meson + clang)
      # env: ALLOW_FAILURES=true
      dist: xenial
      language: cpp
      compiler: clang
      install:
        - sudo apt-get install -qq liblz4-dev valgrind tree
        - |
          travis_retry curl -o ~/ninja.zip -L 'https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-linux.zip' &&
          unzip ~/ninja.zip -d ~/.local/bin
        - |
          travis_retry curl -o ~/get-pip.py -L 'https://bootstrap.pypa.io/get-pip.py' &&
          python3 ~/get-pip.py --user &&
          pip3 install --user meson
      script:
        - |
          meson setup \
            --buildtype=debugoptimized \
            -Db_lundef=false \
            -Dauto_features=enabled \
            -Dbin_programs=true \
            -Dbin_tests=true \
            -Dbin_contrib=true \
            -Ddefault_library=both \
             build/meson builddir
        - pushd builddir
        - ninja
        - meson test --verbose --no-rebuild
        - DESTDIR=./staging ninja install
        - tree ./staging
      after_failure:
        - cat "$TRAVIS_BUILD_DIR"/builddir/meson-logs/testlog.txt
  allow_failures:
    - env: ALLOW_FAILURES=true
