Add Travis CI support
The tests are currently executed on "Ubuntu 12.04 LTS Server Edition 64 bit" and on "OS X Mavericks" using gcc and clang. Perforce and Git-LFS are installed and therefore available for the respective tests. Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Jeff King <peff@peff.net>maint
							parent
							
								
									dbba85e46b
								
							
						
					
					
						commit
						522354d70f
					
				|  | @ -0,0 +1,91 @@ | ||||||
|  | language: c | ||||||
|  |  | ||||||
|  | os: | ||||||
|  |   - linux | ||||||
|  |   - osx | ||||||
|  |  | ||||||
|  | compiler: | ||||||
|  |   - clang | ||||||
|  |   - gcc | ||||||
|  |  | ||||||
|  | addons: | ||||||
|  |   apt: | ||||||
|  |     packages: | ||||||
|  |     - language-pack-is | ||||||
|  |  | ||||||
|  | env: | ||||||
|  |   global: | ||||||
|  |     - P4_VERSION="15.2" | ||||||
|  |     - GIT_LFS_VERSION="1.1.0" | ||||||
|  |     - DEFAULT_TEST_TARGET=prove | ||||||
|  |     - GIT_PROVE_OPTS="--timer --jobs 3" | ||||||
|  |     - GIT_TEST_OPTS="--verbose --tee" | ||||||
|  |     - CFLAGS="-g -O2 -Wall -Werror" | ||||||
|  |     - GIT_TEST_CLONE_2GB=YesPlease | ||||||
|  |     # t9810 occasionally fails on Travis CI OS X | ||||||
|  |     # t9816 occasionally fails with "TAP out of sequence errors" on Travis CI OS X | ||||||
|  |     - GIT_SKIP_TESTS="t9810 t9816" | ||||||
|  |  | ||||||
|  | before_install: | ||||||
|  |   - > | ||||||
|  |     case "${TRAVIS_OS_NAME:-linux}" in | ||||||
|  |     linux) | ||||||
|  |       mkdir --parents custom/p4 | ||||||
|  |       pushd custom/p4 | ||||||
|  |         wget --quiet http://filehost.perforce.com/perforce/r$P4_VERSION/bin.linux26x86_64/p4d | ||||||
|  |         wget --quiet http://filehost.perforce.com/perforce/r$P4_VERSION/bin.linux26x86_64/p4 | ||||||
|  |         chmod u+x p4d | ||||||
|  |         chmod u+x p4 | ||||||
|  |         export PATH="$(pwd):$PATH" | ||||||
|  |       popd | ||||||
|  |       mkdir --parents custom/git-lfs | ||||||
|  |       pushd custom/git-lfs | ||||||
|  |         wget --quiet https://github.com/github/git-lfs/releases/download/v$GIT_LFS_VERSION/git-lfs-linux-amd64-$GIT_LFS_VERSION.tar.gz | ||||||
|  |         tar --extract --gunzip --file "git-lfs-linux-amd64-$GIT_LFS_VERSION.tar.gz" | ||||||
|  |         cp git-lfs-$GIT_LFS_VERSION/git-lfs . | ||||||
|  |         export PATH="$(pwd):$PATH" | ||||||
|  |       popd | ||||||
|  |       ;; | ||||||
|  |     osx) | ||||||
|  |       brew_force_set_latest_binary_hash () { | ||||||
|  |         FORMULA=$1 | ||||||
|  |         SHA=$(brew fetch --force $FORMULA 2>&1 | grep ^SHA256: | cut -d ' ' -f 2) | ||||||
|  |         sed -E -i.bak "s/sha256 \"[0-9a-f]{64}\"/sha256 \"$SHA\"/g" \ | ||||||
|  |           /usr/local/Library/Taps/homebrew/homebrew-binary/$FORMULA.rb | ||||||
|  |       } | ||||||
|  |       brew update --quiet | ||||||
|  |       brew tap homebrew/binary --quiet | ||||||
|  |       brew_force_set_latest_binary_hash perforce | ||||||
|  |       brew_force_set_latest_binary_hash perforce-server | ||||||
|  |       brew install git-lfs perforce-server perforce gettext | ||||||
|  |       brew link --force gettext | ||||||
|  |       ;; | ||||||
|  |     esac; | ||||||
|  |     echo "$(tput setaf 6)Perforce Server Version$(tput sgr0)"; | ||||||
|  |     p4d -V | grep Rev.; | ||||||
|  |     echo "$(tput setaf 6)Perforce Client Version$(tput sgr0)"; | ||||||
|  |     p4 -V | grep Rev.; | ||||||
|  |     echo "$(tput setaf 6)Git-LFS Version$(tput sgr0)"; | ||||||
|  |     git-lfs version; | ||||||
|  |  | ||||||
|  | before_script: make --jobs=2 | ||||||
|  |  | ||||||
|  | script: make --quiet test | ||||||
|  |  | ||||||
|  | after_failure: | ||||||
|  |   - > | ||||||
|  |     : '<-- Click here to see detailed test output!                                                        '; | ||||||
|  |     for TEST_EXIT in t/test-results/*.exit; | ||||||
|  |     do | ||||||
|  |       if [ "$(cat "$TEST_EXIT")" != "0" ]; | ||||||
|  |       then | ||||||
|  |         TEST_OUT="${TEST_EXIT%exit}out"; | ||||||
|  |         echo "------------------------------------------------------------------------"; | ||||||
|  |         echo "$(tput setaf 1)${TEST_OUT}...$(tput sgr0)"; | ||||||
|  |         echo "------------------------------------------------------------------------"; | ||||||
|  |         cat "${TEST_OUT}"; | ||||||
|  |       fi; | ||||||
|  |     done; | ||||||
|  |  | ||||||
|  | notifications: | ||||||
|  |   email: false | ||||||
		Loading…
	
		Reference in New Issue
	
	 Lars Schneider
						Lars Schneider