language: python sudo: false matrix: include: - os: linux dist: trusty python: "3.6" - os: linux dist: trusty python: "3.5" - os: linux dist: trusty python: "3.4" - os: linux dist: trusty python: "3.3" - os: linux dist: trusty python: "2.7" - os: osx env: FORMULA="python" language: generic - os: osx env: FORMULA="python3" language: generic services: - docker addons: apt: packages: - python-commandnotfound - python3-commandnotfound before_install: - if [[ $TRAVIS_OS_NAME == "osx" ]]; then brew update ; fi - if [[ $TRAVIS_OS_NAME == "osx" ]]; then if brew ls --versions $FORMULA; then brew upgrade $FORMULA || echo Python is up to date; else brew install $FORMULA; fi; fi - if [[ $TRAVIS_OS_NAME == "osx" ]]; then virtualenv venv -p $FORMULA; fi - if [[ $TRAVIS_OS_NAME == "osx" ]]; then source venv/bin/activate; fi - pip install -U pip - pip install -U coveralls install: - pip install -Ur requirements.txt - python setup.py develop - rm -rf build script: - flake8 - export COVERAGE_PYTHON_VERSION=python-${TRAVIS_PYTHON_VERSION:0:1} - export RUN_TESTS="coverage run --source=thefuck,tests -m py.test -v --capture=sys tests" - if [[ $TRAVIS_PYTHON_VERSION == 3.6 && $TRAVIS_OS_NAME != "osx" ]]; then $RUN_TESTS --enable-functional; fi - if [[ $TRAVIS_PYTHON_VERSION != 3.6 || $TRAVIS_OS_NAME == "osx" ]]; then $RUN_TESTS; fi after_success: - if [[ $TRAVIS_PYTHON_VERSION == 3.6 && $TRAVIS_OS_NAME != "osx" ]]; then coveralls; fi