78e433ba718df00d112a5f57d523afb8db189c79
   1language: c
   2
   3sudo: false
   4
   5cache:
   6  directories:
   7    - $HOME/travis-cache
   8
   9os:
  10  - linux
  11  - osx
  12
  13compiler:
  14  - clang
  15  - gcc
  16
  17addons:
  18  apt:
  19    packages:
  20    - language-pack-is
  21
  22env:
  23  global:
  24    - DEVELOPER=1
  25    - P4_VERSION="15.2"
  26    - GIT_LFS_VERSION="1.1.0"
  27    - DEFAULT_TEST_TARGET=prove
  28    - GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save"
  29    - GIT_TEST_OPTS="--verbose --tee"
  30    - GIT_TEST_CLONE_2GB=YesPlease
  31    # t9810 occasionally fails on Travis CI OS X
  32    # t9816 occasionally fails with "TAP out of sequence errors" on Travis CI OS X
  33    - GIT_SKIP_TESTS="t9810 t9816"
  34
  35before_install:
  36  - >
  37    case "${TRAVIS_OS_NAME:-linux}" in
  38    linux)
  39      mkdir --parents custom/p4
  40      pushd custom/p4
  41        wget --quiet http://filehost.perforce.com/perforce/r$P4_VERSION/bin.linux26x86_64/p4d
  42        wget --quiet http://filehost.perforce.com/perforce/r$P4_VERSION/bin.linux26x86_64/p4
  43        chmod u+x p4d
  44        chmod u+x p4
  45        export PATH="$(pwd):$PATH"
  46      popd
  47      mkdir --parents custom/git-lfs
  48      pushd custom/git-lfs
  49        wget --quiet https://github.com/github/git-lfs/releases/download/v$GIT_LFS_VERSION/git-lfs-linux-amd64-$GIT_LFS_VERSION.tar.gz
  50        tar --extract --gunzip --file "git-lfs-linux-amd64-$GIT_LFS_VERSION.tar.gz"
  51        cp git-lfs-$GIT_LFS_VERSION/git-lfs .
  52        export PATH="$(pwd):$PATH"
  53      popd
  54      ;;
  55    osx)
  56      brew_force_set_latest_binary_hash () {
  57        FORMULA=$1
  58        SHA=$(brew fetch --force $FORMULA 2>&1 | grep ^SHA256: | cut -d ' ' -f 2)
  59        sed -E -i.bak "s/sha256 \"[0-9a-f]{64}\"/sha256 \"$SHA\"/g" \
  60          /usr/local/Library/Taps/homebrew/homebrew-binary/$FORMULA.rb
  61      }
  62      brew update --quiet
  63      brew tap homebrew/binary --quiet
  64      brew_force_set_latest_binary_hash perforce
  65      brew_force_set_latest_binary_hash perforce-server
  66      brew install git-lfs perforce-server perforce gettext
  67      brew link --force gettext
  68      ;;
  69    esac;
  70    echo "$(tput setaf 6)Perforce Server Version$(tput sgr0)";
  71    p4d -V | grep Rev.;
  72    echo "$(tput setaf 6)Perforce Client Version$(tput sgr0)";
  73    p4 -V | grep Rev.;
  74    echo "$(tput setaf 6)Git-LFS Version$(tput sgr0)";
  75    git-lfs version;
  76    mkdir -p $HOME/travis-cache;
  77    ln -s $HOME/travis-cache/.prove t/.prove;
  78
  79before_script: make --jobs=2
  80
  81script: make --quiet test
  82
  83after_failure:
  84  - >
  85    : '<-- Click here to see detailed test output!                                                        ';
  86    for TEST_EXIT in t/test-results/*.exit;
  87    do
  88      if [ "$(cat "$TEST_EXIT")" != "0" ];
  89      then
  90        TEST_OUT="${TEST_EXIT%exit}out";
  91        echo "------------------------------------------------------------------------";
  92        echo "$(tput setaf 1)${TEST_OUT}...$(tput sgr0)";
  93        echo "------------------------------------------------------------------------";
  94        cat "${TEST_OUT}";
  95      fi;
  96    done;
  97
  98notifications:
  99  email: false