codecov.io support
diff --git a/.travis.yml b/.travis.yml
index cef597e..8a01660 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,11 +3,17 @@
 dist: trust
 
 language: rust
+cache: cargo
 rust:
   - stable
   - beta
   - nightly
 
+env:
+  global:
+    # for codecov.io
+    - RUSTFLAGS="-C link-dead-code"
+
 install:
   - sudo add-apt-repository -y ppa:fkrull/deadsnakes
   - sudo apt-get update
@@ -22,3 +28,22 @@
   - RUST_BACKTRACE=full cargo build --verbose --features=cli
   - ./tests/tuf-test-vectors/server.py --path tuf &>/dev/null &
   - RUST_BACKTRACE=full cargo test --verbose --features=cli
+
+after_failure:
+  - cat Cargo.lock
+
+after_success: |
+  sudo apt-get install -y libcurl4-openssl-dev libelf-dev libdw-dev cmake gcc binutils-dev &&
+  wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz &&
+  tar xzf master.tar.gz &&
+  cd kcov-master &&
+  mkdir build &&
+  cd build &&
+  cmake .. &&
+  make &&
+  sudo make install &&
+  cd ../.. &&
+  rm -rf kcov-master &&
+  for file in target/debug/*-*[^\.d]; do mkdir -p "target/cov/$(basename $file)"; kcov --exclude-pattern=/.cargo,/usr/lib --verify "target/cov/$(basename $file)" "$file"; done &&
+  bash <(curl -s https://codecov.io/bash) &&
+  echo "Uploaded code coverage"
diff --git a/README.md b/README.md
index a1641c8..4d6bf1a 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # rust-tuf
 
-[![Travis build Status](https://travis-ci.org/heartsucker/rust-tuf.svg?branch=master)](https://travis-ci.org/heartsucker/rust-tuf) [![Appveyor build status](https://ci.appveyor.com/api/projects/status/kfyvpkdvn5ap7dqc/branch/master?svg=true)](https://ci.appveyor.com/project/heartsucker/rust-tuf/branch/master)
+[![Travis build Status](https://travis-ci.org/heartsucker/rust-tuf.svg?branch=master)](https://travis-ci.org/heartsucker/rust-tuf) [![Appveyor build status](https://ci.appveyor.com/api/projects/status/kfyvpkdvn5ap7dqc/branch/master?svg=true)](https://ci.appveyor.com/project/heartsucker/rust-tuf/branch/master)[![codecov](https://codecov.io/gh/heartsucker/rust-tuf/branch/master/graph/badge.svg)](https://codecov.io/gh/heartsucker/rust-tuf)
 
 A Rust implementation of [The Update Framework (TUF)](https://theupdateframework.github.io/).