diff --git a/.travis.yml b/.travis.yml index 0978428802..2c485b295f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -207,6 +207,9 @@ before_cache: esac docker save -o $HOME/docker_cache/images.tar $(docker images -a -q) +after_success: + - scripts/travis/upload_coverage.sh || true + addons: apt: packages: @@ -224,3 +227,7 @@ addons: notifications: slack: secure: lBomhenfQvDzpUGxLadga188zavtGRr05GVWI6iI8ll/uwXewij8ginQ716Axg3pJvvRMNCuTNEmg0+fVlHf0JxTG3qWG35qOUexAHGcmimPD4ugmVkufua8Oc8Nl1LRSdWvbwIKvrAU1HDA37M5tCdEOm+Sf/OL72iVWbXhlHRvhdeiKHkbkcpI/15dOH4RpXuvPeYBrgcB2Ixs7gTSVyIAU458aT0JORu7expElQ+iBP9Kqze1V4dvjJyzHTgE01z2nyAm2Xpko447y//fYX2e20iDBE5S/GukaK/TeB3pD+FoC+Z2R7Gg1qA7a/gdGFbVgP12zWmzNaKVwY1YOvx8IIwP13XutioAE7bQbnHI1zGlQ+jxk3odWKZPhZSN/YvWD3i7g/xVksaTo++zwon2UlZ7x8LmKg1kOMeA3o2TUlzjQrwZZ4cB+4HqYHEqVdsSAadaMhKK82XE1OtGImdrIX1Y/02X2F/myJXwaE4Ap8smULHWGghCL/ALad+hdyE0K4/2SYDcoaOONgX9+VgaSEtYDO00Bt4/GMcuM+gwILsfCA9ZQuxCgIFEL1QWwDud8aGU1qF20yaimDlstlLnZXsv3Oli6r/CEEUVXltI5dkJyRd/jTlqWGjFGL8agGg34EPLP24Vn4h4QcIzoMfGWXkz2yrd6i0fvMAPXds= +env: + global: + secure: YMLx+QaBPgg97tVn2efZJSqwPRxybX9oR6Xe9oXUD4fEiVbOIv2BAsLP+MzSJGaFC+VXKha83kyDbAZnatDXTJYsBPOUgmIZDObQnktueR1v3TCKn3aw14G+/w6S4eQL+c7uW3idPE+KP3VWixjrBpWTHEfnZdnH9+qWeIWzy8A8UEAYPY/HXyDmwt5ceCJoITtdsuiuZNO2o7NGN8q+NP5A3ii8f5UyDa9/krxuA+x1e193wSGRdGcqxexM7zIq0uMhBF+2nOk4RAsDsqU33NpQw+dB1VJMta1XF+P6A7m16UKUjllTyOfUPGD068jKobVyWzbvZ79G2FZXGZ7HGE0711JZco3YenwtxXP8oGLgaIds6McoJnn3rbxe1i+PjRX09IXNQM/dNp53uxrtyi1y8ZEjzHjbb6z3rSOZrzaBhdVxBFR9Oc1Ek7i8MS1tlRlH58+U+Z1WPTvbcIQtFA5HmmTcDdBRkZtPC8bpVLHOZTGUcple9k39VtOGuSCvAAfHKENhieCaw/bBXX4bxAHAfiI0NEmdDrULDJLApWjtRCrUIqIqkdsJmtiZhE+iX1FKR9CP5lBXCAwDlPB3XOe0bSmiiGQ1/sf/1CovqOBg/vLwCpjQE0IZPofCiDZZdZbv4n4aCOjiAqhS8MjJ/LfLyUuAtPmQG5g47FzS1K4= + diff --git a/Makefile b/Makefile index 6381400eab..19cccfd838 100644 --- a/Makefile +++ b/Makefile @@ -228,17 +228,13 @@ $(GOPATH1)/bin/%: cp -f $< $@ test: build - go test $(GOTAGS) -race $(UNIT_TEST_SOURCES) -timeout 3600s | logfilter + go test $(GOTAGS) -race $(UNIT_TEST_SOURCES) -timeout 1h -coverprofile=coverage.txt -covermode=atomic fulltest: build-race - for PACKAGE_DIRECTORY in $(UNIT_TEST_SOURCES) ; do \ - go test $(GOTAGS) -timeout 2500s -race $$PACKAGE_DIRECTORY | logfilter; \ - done + go test $(GOTAGS) -race $(UNIT_TEST_SOURCES) -timeout 1h -coverprofile=coverage.txt -covermode=atomic -shorttest: build-race $(addprefix short_test_target_, $(UNIT_TEST_SOURCES)) - -$(addprefix short_test_target_, $(UNIT_TEST_SOURCES)): build - @go test $(GOTAGS) -short -timeout 2500s -race $(subst short_test_target_,,$@) | logfilter +shorttest: build-race + go test $(GOTAGS) -short -race $(UNIT_TEST_SOURCES) -timeout 1h -coverprofile=coverage.txt -covermode=atomic integration: build-race ./test/scripts/run_integration_tests.sh diff --git a/scripts/travis/upload_coverage.sh b/scripts/travis/upload_coverage.sh new file mode 100755 index 0000000000..8dde7cceba --- /dev/null +++ b/scripts/travis/upload_coverage.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# Download codecov bash script, verify checksum from github, run script + +# fail if shasum detects a problem +set -e + +curl -fLso codecov https://codecov.io/bash; +VERSION=$(grep -o 'VERSION=\"[0-9\.]*\"' codecov | cut -d'"' -f2); +for i in 1 256 512 +do + shasum -a $i -c --ignore-missing <(curl -s "https://raw.githubusercontent.com/codecov/codecov-bash/${VERSION}/SHA${i}SUM") +done + +# Unset everything except "TRAVIS*" variables. +unset $(compgen -e | grep -v "^TRAVIS") +bash codecov -t "${CODECOV_TOKEN}"