trigger: - master - features variables: PYTEST_ADDOPTS: "--junitxml=build/test-results/$(tox.env).xml -vv" COVERAGE_FILE: "$(Build.Repository.LocalPath)/.coverage" COVERAGE_PROCESS_START: "$(Build.Repository.LocalPath)/.coveragerc" 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' - script: | call scripts/setup-coverage-vars.bat || goto :eof 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() - script: call scripts\upload-coverage.bat displayName: 'Report and upload coverage' condition: eq(variables['PYTEST_COVERAGE'], '1') env: CODECOV_TOKEN: $(CODECOV_TOKEN) PYTEST_CODECOV_NAME: $(tox.env)