Generate codecov.io reports 2019-07-codecov
authorMatt Corallo <git@bluematt.me>
Thu, 25 Jul 2019 20:26:30 +0000 (16:26 -0400)
committerMatt Corallo <git@bluematt.me>
Thu, 25 Jul 2019 20:59:20 +0000 (16:59 -0400)
.travis.yml

index 51f90f42f166a64c8b41ce113d7a8084217b6079..af5fa721456691c401dbaa8100daa6fa53454887 100644 (file)
@@ -8,10 +8,25 @@ cache: cargo
 
 before_install:
   - sudo apt-get -qq update
-  - sudo apt-get install -y binutils-dev libunwind8-dev
+  - sudo apt-get install -y binutils-dev libunwind8-dev libcurl4-openssl-dev libelf-dev libdw-dev cmake gcc binutils-dev libiberty-dev
 
 script:
-  - cargo build --verbose
-  - cargo test --verbose
+  - RUSTFLAGS="-C link-dead-code" cargo build --verbose
+  - rm target/debug/lightning-* # Make sure we drop old test binaries
+  - RUSTFLAGS="-C link-dead-code" cargo test --verbose
   - if [ "$(rustup show | grep default | grep 1.34.2)" != "" ]; then cd fuzz && cargo test --verbose && ./travis-fuzz.sh; fi
-  - if [ "$(rustup show | grep default | grep stable)" != "" ]; then cd net-tokio && cargo build --verbose; fi
+  - if [ "$(rustup show | grep default | grep stable)" != "" ]; then cd net-tokio && cargo build --verbose && cd ..; fi
+  - if [ "$(rustup show | grep default | grep stable)" != "" ]; then
+      wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz &&
+      tar xzf master.tar.gz &&
+      cd kcov-master &&
+      mkdir build &&
+      cd build &&
+      cmake .. &&
+      make &&
+      make install DESTDIR=../../kcov-build &&
+      cd ../.. &&
+      rm -rf kcov-master &&
+      for file in target/debug/lightning-*; do [ -x "${file}" ] || continue; mkdir -p "target/cov/$(basename $file)"; ./kcov-build/usr/local/bin/kcov --exclude-pattern=/.cargo,/usr/lib --verify "target/cov/$(basename $file)" "$file"; done &&
+      bash <(curl -s https://codecov.io/bash) &&
+      echo "Uploaded code coverage"; fi