language: rust

cache: cargo
addons:
  apt:
    sources:
      # Kcov dependencies
      - kalakris-cmake
    packages:
      # Kcov dependencies
      - libcurl4-openssl-dev
      - libelf-dev
      - libdw-dev
      - binutils-dev
      - cmake

rust:
  - stable
  - beta
  - nightly

os:
  - linux
  - osx

matrix:
  fast_finish: true

before_script:
  - export PATH="$PATH:$HOME/.cargo/bin"
  - which cargo-coverage || cargo install cargo-travis
  - which rustfmt || cargo install rustfmt

script:
  - cargo build --verbose $CARGO_FLAGS
  - cargo test --verbose $CARGO_FLAGS
  - cargo bench --verbose $CARGO_FLAGS
  - cargo doc --verbose $CARGO_FLAGS

after_success:
  - cargo fmt -- --write-mode=diff
  - if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TRAVIS_RUST_VERSION" == "nightly" ]; then
        cargo coveralls $CARGO_FLAGS;
    fi

language: rust

cache: cargo
addons:
  apt:
    sources:
      # Kcov dependencies
      - kalakris-cmake
    packages:
      # Kcov dependencies
      - libcurl4-openssl-dev
      - libelf-dev
      - libdw-dev
      - binutils-dev
      - cmake

rust:
  - nightly

os:
  - linux
  - osx

matrix:
  fast_finish: true

before_script:
  - export PATH="$PATH:$HOME/.cargo/bin"
  - which cargo-coverage || cargo install cargo-travis
  - which rustfmt || cargo install rustfmt

script:
  - cargo build --verbose $CARGO_FLAGS
  - cargo test --verbose $CARGO_FLAGS
  - cargo bench --verbose $CARGO_FLAGS
  - cargo doc --verbose $CARGO_FLAGS

after_success:
  - cargo fmt -- --write-mode=diff
  - if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TRAVIS_RUST_VERSION" == "nightly" ]; then
        cargo coveralls $CARGO_FLAGS;
    fi

Disable building on stable and beta
Disable building on stable and beta
