tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 102178e6d43ed990e972b2fbc4f611997c8943f0
parent 3cfcfbac46d15f7d1cc47da03482aa70583aa455
Author: teor <teor@torproject.org>
Date:   Sat,  6 Apr 2019 09:30:04 +1000

Merge remote-tracking branch 'tor-github/pr/878' into maint-0.3.4

Diffstat:
M.travis.yml | 15+++++++++++----
MMakefile.am | 4+++-
Achanges/bug29036 | 5+++++
Achanges/ticket29962 | 3+++
4 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/.travis.yml b/.travis.yml @@ -5,8 +5,10 @@ cache: ## cargo: true directories: - $HOME/.cargo + ## caching CARGO_TARGET_DIR actually slows down the build over time, + ## because old build products are never deleted. ## where we point CARGO_TARGET_DIR in all our cargo invocations - - $TRAVIS_BUILD_DIR/src/rust/target + #- $TRAVIS_BUILD_DIR/src/rust/target compiler: - gcc @@ -201,6 +203,8 @@ script: ## We run `make check` because that's what https://jenkins.torproject.org does. - if [[ "$DISTCHECK" == "" ]]; then make check; fi - if [[ "$DISTCHECK" != "" ]]; then make distcheck DISTCHECK_CONFIGURE_FLAGS="$CONFIGURE_FLAGS"; fi + ## If this build was one that produced coverage, upload it. + - if [[ "$COVERAGE_OPTIONS" != "" ]]; then coveralls -b . --exclude src/test --exclude src/trunnel --gcov-options '\-p' || echo "Coverage failed"; fi after_failure: ## configure will leave a log file with more details of config failures. @@ -211,9 +215,12 @@ after_failure: ## `make distcheck` puts it somewhere different. - if [[ "$DISTCHECK" != "" ]]; then make show-distdir-testlog || echo "make failed"; fi -after_success: - ## If this build was one that produced coverage, upload it. - - if [[ "$COVERAGE_OPTIONS" != "" ]]; then coveralls -b . --exclude src/test --exclude src/trunnel --gcov-options '\-p'; fi +before_cache: + ## Delete all gcov files. + - if [[ "$COVERAGE_OPTIONS" != "" ]]; then make reset-gcov; fi + ## Delete the cargo registry before caching .cargo, because it's cheaper to + ## download the registry and throw it away, rather than caching it + - rm -rf $HOME/.cargo/registry notifications: irc: diff --git a/Makefile.am b/Makefile.am @@ -170,8 +170,10 @@ test-full: need-stem-path need-chutney-path check test-network test-stem test-full-online: need-stem-path need-chutney-path check test-network test-stem-full +# We can't delete the gcno files, because they are created when tor is compiled reset-gcov: - rm -f $(top_builddir)/src/*/*.gcda $(top_builddir)/src/*/*/*.gcda + rm -f $(top_builddir)/src/*/*.gcda $(top_builddir)/src/*/*/*.gcda \ + $(top_builddir)/src/*/*.gcov $(top_builddir)/src/*/*/*.gcov HTML_COVER_DIR=$(top_builddir)/coverage_html coverage-html: all diff --git a/changes/bug29036 b/changes/bug29036 @@ -0,0 +1,5 @@ + o Minor bugfix (continuous integration): + - Reset coverage state on disk after Travis CI has finished. This is being + done to prevent future gcda file merge errors which causes the test suite + for the process subsystem to fail. The process subsystem was introduced + in 0.4.0.1-alpha. Fixes bug 29036; bugfix on 0.2.9.15. diff --git a/changes/ticket29962 b/changes/ticket29962 @@ -0,0 +1,3 @@ + o Minor features (continuous integration): + - On Travis Rust builds, cleanup Rust registry and refrain from caching + target/ directory to speed up builds. Resolves issue 29962.