language: rust
cache:
  cargo: true
  timeout:
    240 # =4 min (default 120). ~6 GB cache up/down from S3 needs time.
before_cache:
  - rm -rf target/tmp
dist: trusty
sudo: required
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"
    - RUST_FLAGS="-C debug-assertions"
  matrix:
    - RUST_TEST_THREADS=1 TEST_DIR=servers
    - TEST_DIR=store
    - TEST_DIR=chain
    - TEST_DIR=pool
    - TEST_DIR=wallet
    - TEST_DIR=p2p
    - TEST_DIR=api
    - TEST_DIR=keychain
    - TEST_DIR=core
    - TEST_DIR=util
    - TEST_DIR=config

script: cd $TEST_DIR && cargo test --release