[tor-commits] [tor/maint-0.3.3] Add support for the coveralls.io coverage tool in travis config

nickm at torproject.org nickm at torproject.org
Tue Apr 17 14:48:25 UTC 2018


commit d3ff1263092d9ca205b5b54b77db31633bcd80b4
Author: Nick Mathewson <nickm at torproject.org>
Date:   Mon Apr 16 14:42:28 2018 -0400

    Add support for the coveralls.io coverage tool in travis config
    
    Closes ticket 25818.
---
 .travis.yml       | 9 ++++++++-
 changes/coveralls | 3 +++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index 6d314c141..dc0a8ac67 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -88,6 +88,8 @@ matrix:
   ## entry under that key outside the "include" clause.
   include:
     - compiler: gcc
+    - compiler: gcc
+      env: COVERAGE_OPTIONS="--enable-coverage"
     ## The "sudo: required" forces non-containerized builds, working
     ## around a Travis CI environment issue: clang LeakAnalyzer fails
     ## because it requires ptrace and the containerized environment no
@@ -100,6 +102,7 @@ before_install:
   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
   ## Download rustup
   - curl -Ssf -o rustup.sh https://sh.rustup.rs
+  - if [[ "$COVERAGE_OPTIONS" != "" ]]; then pip install --user cpp-coveralls; fi
 
 install:
   ## If we're on OSX use brew to install required dependencies (for Linux, see the "apt:" section above)
@@ -113,10 +116,14 @@ install:
 
 script:
   - ./autogen.sh
-  - ./configure $RUST_OPTIONS --disable-asciidoc --enable-fatal-warnings --disable-silent-rules --enable-fragile-hardening
+  - ./configure $RUST_OPTIONS $COVERAGE_OPTIONS --disable-asciidoc --enable-fatal-warnings --disable-silent-rules --enable-fragile-hardening
   ## We run `make check` because that's what https://jenkins.torproject.org does.
   - make check
 
 after_failure:
   ## `make check` will leave a log file with more details of test failures.
   - cat test-suite.log
+
+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
diff --git a/changes/coveralls b/changes/coveralls
new file mode 100644
index 000000000..7fa69bb2b
--- /dev/null
+++ b/changes/coveralls
@@ -0,0 +1,3 @@
+  o Minor features (continuous integration):
+    - Our Travis CI configuration now integrates with the Coveralls coverage
+      analysis tool. Closes ticket 25818.





More information about the tor-commits mailing list