language: rust cache: cargo dist: trusty sudo: false rust: - stable addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-5 - cmake - libcurl4-openssl-dev - libelf-dev - libdw-dev - cmake - gcc - binutils-dev env: global: - RUST_BACKTRACE="1" matrix: - RUST_TEST_THREADS=1 TEST_DIR=grin - TEST_DIR=store - TEST_DIR=chain - TEST_DIR=pool - TEST_DIR=wallet - TEST_DIR=p2p - TEST_DIR=api - TEST_DIR=pow - TEST_DIR=keychain - TEST_DIR=core - TEST_DIR=util after_success: | pwd && wget https://github.com/mimblewimble/kcov/archive/master.tar.gz && tar xzf master.tar.gz && cd kcov-master && mkdir build && cd build && cmake .. && make && mv src/kcov ../.. && cd ../.. && rm -rf kcov-master && cd ../ cd api && cargo test --no-run && cd .. && rm target/debug/*.d && ./kcov --exclude-pattern=/.cargo,/usr/lib --verify target/cov target/debug/grin_api* && echo "Finished coverage for grin_api" cd core && cargo test --no-run && cd .. && rm target/debug/*.d && ./kcov --exclude-pattern=/.cargo,/usr/lib --verify target/cov target/debug/grin_core* && echo "Finished coverage for grin_core" cd chain && cargo test --no-run && cd .. && rm target/debug/*.d && ./kcov --exclude-pattern=/.cargo,/usr/lib --verify target/cov target/debug/grin_chain* && ./kcov --exclude-pattern=/.cargo,/usr/lib --verify target/cov target/debug/mine_simple_chain* && ./kcov --exclude-pattern=/.cargo,/usr/lib --verify target/cov target/debug/store_indices* && ./kcov --exclude-pattern=/.cargo,/usr/lib --verify target/cov target/debug/test_coinbase_maturity* && echo "Finished coverage for grin_chain" cd keychain && cargo test --no-run && cd .. && rm target/debug/*.d && ./kcov --exclude-pattern=/.cargo,/usr/lib --verify target/cov target/debug/grin_keychain* && echo "Finished coverage for grin_keychain" cd p2p && cargo test --no-run && cd .. && rm target/debug/*.d && ./kcov --exclude-pattern=/.cargo,/usr/lib --verify target/cov target/debug/grin_p2p* && ./kcov --exclude-pattern=/.cargo,/usr/lib --verify target/cov target/debug/peer_handshake* && echo "Finished coverage for grin_p2p" cd pow && cargo test --no-run && cd .. && rm target/debug/*.d && ./kcov --exclude-pattern=/.cargo,/usr/lib --verify target/cov target/debug/grin_pow* && echo "Finished coverage for grin_pow" cd store && cargo test --no-run && cd .. && rm target/debug/*.d && ./kcov --exclude-pattern=/.cargo,/usr/lib --verify target/cov target/debug/grin_store* && ./kcov --exclude-pattern=/.cargo,/usr/lib --verify target/cov target/debug/sumtree* && echo "Finished coverage for grin_store" cd wallet && cargo test --no-run && cd .. && rm target/debug/*.d && ./kcov --exclude-pattern=/.cargo,/usr/lib --verify target/cov target/debug/grin_wallet* && echo "Finished coverage for grin_wallet" cd util && cargo test --no-run && cd .. && rm target/debug/*.d && ./kcov --exclude-pattern=/.cargo,/usr/lib --verify target/cov target/debug/grin_util* && echo "Finished coverage for grin_util" bash <(curl -s https://codecov.io/bash) && echo "Uploaded code coverage" script: cd $TEST_DIR && cargo test --verbose