81 lines
2.1 KiB
YAML
81 lines
2.1 KiB
YAML
trigger:
|
|
- master
|
|
- features
|
|
|
|
variables:
|
|
PYTEST_ADDOPTS: "--junitxml=build/test-results/$(tox.env).xml -vv"
|
|
PYTEST_COVERAGE: '0'
|
|
|
|
jobs:
|
|
|
|
- job: 'Test'
|
|
pool:
|
|
vmImage: "vs2017-win2016"
|
|
strategy:
|
|
matrix:
|
|
# -- pypy3 disabled for now: #5279 --
|
|
# pypy3:
|
|
# python.version: 'pypy3'
|
|
# tox.env: 'pypy3'
|
|
py35-xdist:
|
|
python.version: '3.5'
|
|
tox.env: 'py35-xdist'
|
|
# Coverage for:
|
|
# - test_supports_breakpoint_module_global
|
|
PYTEST_COVERAGE: '1'
|
|
py36-xdist:
|
|
python.version: '3.6'
|
|
tox.env: 'py36-xdist'
|
|
py37:
|
|
python.version: '3.7'
|
|
tox.env: 'py37'
|
|
# Coverage for:
|
|
# - _py36_windowsconsoleio_workaround (with py36+)
|
|
# - test_request_garbage (no xdist)
|
|
PYTEST_COVERAGE: '1'
|
|
py37-linting/docs/doctesting:
|
|
python.version: '3.7'
|
|
tox.env: 'linting,docs,doctesting'
|
|
py37-twisted/numpy:
|
|
python.version: '3.7'
|
|
tox.env: 'py37-twisted,py37-numpy'
|
|
py37-pluggymaster-xdist:
|
|
python.version: '3.7'
|
|
tox.env: 'py37-pluggymaster-xdist'
|
|
maxParallel: 10
|
|
|
|
steps:
|
|
- task: UsePythonVersion@0
|
|
inputs:
|
|
versionSpec: '$(python.version)'
|
|
architecture: 'x64'
|
|
|
|
- script: python -m pip install --upgrade pip && python -m pip install tox
|
|
displayName: 'Install tox'
|
|
|
|
- bash: |
|
|
if [[ "$PYTEST_COVERAGE" == "1" ]]; then
|
|
export _PYTEST_TOX_COVERAGE_RUN="coverage run -m"
|
|
export _PYTEST_TOX_EXTRA_DEP=coverage-enable-subprocess
|
|
export COVERAGE_FILE="$PWD/.coverage"
|
|
export COVERAGE_PROCESS_START="$PWD/.coveragerc"
|
|
fi
|
|
python -m tox -e $(tox.env)
|
|
displayName: 'Run tests'
|
|
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testResultsFiles: 'build/test-results/$(tox.env).xml'
|
|
testRunTitle: '$(tox.env)'
|
|
condition: succeededOrFailed()
|
|
|
|
- bash: |
|
|
if [[ "$PYTEST_COVERAGE" == 1 ]]; then
|
|
scripts/report-coverage.sh
|
|
fi
|
|
env:
|
|
CODECOV_NAME: $(tox.env)
|
|
CODECOV_TOKEN: $(CODECOV_TOKEN)
|
|
displayName: Report and upload coverage
|
|
condition: eq(variables['PYTEST_COVERAGE'], '1')
|