123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- environment:
- matrix:
- # Unit and integration tests.
- - PYTHON: "C:\\Python27"
- RUN_INTEGRATION_TESTS: "True"
- - PYTHON: "C:\\Python36-x64"
- RUN_INTEGRATION_TESTS: "True"
- # Unit tests only.
- - PYTHON: "C:\\Python27-x64"
- - PYTHON: "C:\\Python34"
- - PYTHON: "C:\\Python34-x64"
- - PYTHON: "C:\\Python35"
- - PYTHON: "C:\\Python35-x64"
- - PYTHON: "C:\\Python36"
- install:
- - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
- - "python --version"
- - "pip install certifi tox"
- # Fix git SSL errors.
- - "python -m certifi >cacert.txt"
- - "set /p GIT_SSL_CAINFO=<cacert.txt"
- - "set GIT_SSL_CAINFO"
- build: off
- cache:
- - '%LOCALAPPDATA%\pip\Cache'
- test_script:
- - ps: |
- function should_run_tests {
- if ("$env:APPVEYOR_PULL_REQUEST_NUMBER" -eq "") {
- Write-Host "Not a pull request - running tests"
- return $true
- }
- Write-Host "Pull request $env:APPVEYOR_PULL_REQUEST_NUMBER based on branch $env:APPVEYOR_REPO_BRANCH"
- git fetch -q origin +refs/heads/$env:APPVEYOR_REPO_BRANCH
- $changes = (git diff --name-only HEAD (git merge-base HEAD FETCH_HEAD))
- Write-Host "Files changed:"
- Write-Host $changes
- $important = $changes | Where-Object { $_ -NotLike "*.rst" } |
- Where-Object { $_ -NotLike "docs*" } |
- Where-Object { $_ -NotLike "news*" } |
- Where-Object { $_ -NotLike "*travis*" } |
- Where-Object { $_ -NotLike ".github*" }
- if (!$important) {
- Write-Host "Only documentation changes - skipping tests"
- return $false
- }
- Write-Host "Pull request $env:APPVEYOR_PULL_REQUEST_NUMBER alters code - running tests"
- return $true
- }
- if (should_run_tests) {
- # Shorten paths, workaround https://bugs.python.org/issue18199
- subst T: $env:TEMP
- $env:TEMP = "T:\"
- $env:TMP = "T:\"
- tox -e py -- -m unit -n 3
- if ($env:RUN_INTEGRATION_TESTS -eq "True") {
- tox -e py -- -m integration -n 3 --duration=5
- }
- }
|