Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for codecov in AppVeyor #3923

Merged
merged 3 commits into from
Sep 6, 2018
Merged

Conversation

nicoddemus
Copy link
Member

No description provided.

@nicoddemus nicoddemus requested a review from blueyed September 2, 2018 13:24
tox.ini Outdated
deps =
{[testenv]deps}
coveralls
codecov
commands =
coverage run -m pytest testing
coverage run -m pytest testing/test_config.py
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Temporarily run only testing/test_config.py for testing purposes.

@coveralls
Copy link

coveralls commented Sep 2, 2018

Coverage Status

Coverage decreased (-0.2%) to 93.88% when pulling 418a66a on nicoddemus:codecov into 410d576 on pytest-dev:master.

@codecov
Copy link

codecov bot commented Sep 2, 2018

Codecov Report

Merging #3923 into master will decrease coverage by 1.79%.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff            @@
##           master   #3923     +/-   ##
========================================
- Coverage   94.99%   93.2%   -1.8%     
========================================
  Files         108     108             
  Lines       23437   23356     -81     
  Branches     2332    2321     -11     
========================================
- Hits        22265   21769    -496     
- Misses        881    1254    +373     
- Partials      291     333     +42
Flag Coverage Δ
#doctesting ?
#nobyte ?
#numpy ?
#pexpect ?
#pluggymaster ?
#py27 90.12% <ø> (-2.93%) ⬇️
#py34 ?
#py35 ?
#py36 92.18% <ø> (-1.11%) ⬇️
#py37 ?
#trial ?
#xdist 93.2% <ø> (-0.03%) ⬇️
Impacted Files Coverage Δ
src/_pytest/debugging.py 59.68% <0%> (-36.44%) ⬇️
src/_pytest/unittest.py 73.96% <0%> (-20.12%) ⬇️
testing/python/approx.py 79.76% <0%> (-19.85%) ⬇️
testing/test_unittest.py 84.9% <0%> (-14.16%) ⬇️
src/_pytest/python_api.py 87.01% <0%> (-10.39%) ⬇️
testing/test_pdb.py 43.45% <0%> (-10.03%) ⬇️
testing/test_pastebin.py 91.66% <0%> (-8.34%) ⬇️
testing/code/test_code.py 87.59% <0%> (-6.39%) ⬇️
src/_pytest/pytester.py 79.78% <0%> (-5.93%) ⬇️
testing/test_warnings.py 92.18% <0%> (-4.69%) ⬇️
... and 23 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 410d576...418a66a. Read the comment docs.

@nicoddemus
Copy link
Member Author

nicoddemus commented Sep 2, 2018

Finally, I think it is now working properly. 😅

==> Detecting CI provider
    AppVeyor Detected
    Fixing merge commit SHA
==> Preparing upload
    Error running `cd 'C:\projects\pytest' && git ls-files`: None
XX> Skip processing gcov
==> Collecting reports
XX> Searching for reports disabled
    Targeting specific files
    + coverage.xml bytes=1006420
==> Appending environment variables
    + TOXENV
==> Uploading
    .url https://codecov.io
    .query commit=4e0c1bc680784b08b6139ec52be70d3abd315d0a&branch=master&job=pytestbot%2Fpytest%2F1.0.5085&pr=3923&service=appveyor&build=emfc8o0ttpore2o1&slug=pytest-dev%2Fpytest&flags=py27&package=py2.0.15
    Pinging Codecov...
    Uploading to S3...
    https://codecov.io/github/pytest-dev/pytest/commit/4e0c1bc680784b08b6139ec52be70d3abd315d0a
Build success

@nicoddemus nicoddemus changed the title Fix coveralls execution on master Add support for codecov in AppVeyor Sep 2, 2018
@nicoddemus
Copy link
Member Author

Not sure why py27 and xdist jobs are failing... any hints @blueyed?

@@ -0,0 +1,7 @@
if not defined PYTEST_NO_COVERAGE (
set "_PYTEST_TOX_COVERAGE_RUN=coverage run --source {envsitepackagesdir}/_pytest/,%CD%/testing -m"
set "_PYTEST_TOX_EXTRA_DEP=coverage-enable-subprocess"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i beleivethis should add coverage in any case

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean @RonnyPfannschmidt? That we should add coverage even for environments like linting and docs?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no, the requirement, i beleive i saw a few errors about the coverage binary being not in the env

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also i believe coverage integration should be a tox pugin - @tox-dev might have an oppinion there

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you sure it was coverage? I see tox warning about env:

WARNING: test command found but not installed in testenv
  cmd: /usr/bin/env
  env: /home/travis/build/pytest-dev/pytest/.tox/py36
Maybe you forgot to specify a dependency? See also the whitelist_externals envconfig setting.

I've tried to fix this and the py27-xdist job by explicitly setting COVERAGE_FILE and COVERAGE_PROCESS_START outside tox in a60cc25, but this ended up breaking other things so I removed this commit from this branch for the moment.

Let's see what @blueyed advises here. 👍

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will also collect coverage for tox then already - I have seen errors that source for /tmp/pip-req… was missing. It would need explicit includes then probably.

Instead of using coverage we could have a wrapper script instead that sets it then?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re tox-coverage: I think that would be nice to have, and could look similar to https://github.com/tarpas/pytest-testmon/blob/master/testmon/tox_testmon.py - i.e. it would automatically install codecov and set up env, if tox --coverage was used.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of using coverage we could have a wrapper script instead that sets it then?

See #3923 (comment), I don't think that's necessary, but would indeed be a good solution if that was not the case. 👍

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also it is a mystery to me why py27-xdist fails to collect coverage, while py36-xdist works...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i find it acceptable to skip coverage there and recording a followup issue, given the pending EOL of python2.7 im inclined to declare it as acceptable loss

- C:\Python36\python -m pip install --upgrade --pre tox

build: false # Not a C# project, build stuff at the test step instead.

before_test:
- call scripts\prepare-coverage.bat

This comment was marked as resolved.

This comment was marked as resolved.

This comment was marked as resolved.

tox.ini Outdated
coverage: _PYTEST_TOX_EXTRA_DEP=coverage-enable-subprocess
coverage: COVERAGE_FILE={toxinidir}/.coverage
coverage: COVERAGE_PROCESS_START={toxinidir}/.coveragerc
{env:_PYTEST_TOX_COVERAGE_RUN:} pytest --lsof -ra {posargs:testing}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please keep the "coverage" factor?!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unless I'm missing something, the "coverage" factor will only be considered when executing tox -e *coverage* no? If that's the case, we don't execute any test env with "coverage" in the name, that's why I thought this could be removed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not on CI, but you can do tox -e py36-coverage manually.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh I see, did not thought about that use case. Will add it back. 👍

@blueyed
Copy link
Contributor

blueyed commented Sep 3, 2018

py27-xdist and py27-nobyte (the failing ones) do not appear to generate coverage ("no data to combine").
Might be a general issue with xdist/coverage-enable-subprocess on Windows?
Does it work locally for you?

@blueyed
Copy link
Contributor

blueyed commented Sep 3, 2018

py36-xdist works however.
Try maybe configuring/setting run.debug in .coveragerc, or COVERAGE_DEBUG, i.e. COVERAGE_DEBUG=config,multiproc,process,self,sys,trace

@nicoddemus
Copy link
Member Author

Does it work locally for you?

I can reproduce the issue locally:

(.env36) λ scripts\prepare-coverage.bat

if not defined PYTEST_NO_COVERAGE (
set "_PYTEST_TOX_COVERAGE_RUN=coverage run --source {envsitepackagesdir}/_pytest/,c:\pytest/testing -m"
 set "_PYTEST_TOX_EXTRA_DEP=coverage-enable-subprocess"
 echo Coverage setup completed
)  else (echo Skipping coverage setup, PYTEST_NO_COVERAGE is set )
Coverage setup completed

(.env36) λ tox -e py27-xdist
GLOB sdist-make: c:\pytest\setup.py
py27-xdist inst-nodeps: c:\pytest\.tox\dist\pytest-3.7.5.dev41+ge4aab10c.zip
py27-xdist installed: apipkg==1.5,atomicwrites==1.2.1,attrs==18.2.0,colorama==0.3.9,coverage==4.5.1,coverage-enable-subprocess==1.0,enum34==1.1.6,execnet==1.5.0,funcsigs==1.0.2,hypothesis==3.70.0,mock==2.0.0,more-itertools==4.3.0,nose==1.3.7,pathlib2==2.3.2,pbr==4.2.0,pluggy==0.7.1,py==1.6.0,pytest==3.7.5.dev41+ge4aab10c,pytest-forked==0.2,pytest-xdist==1.23.0,scandir==1.9.0,six==1.11.0
py27-xdist runtests: PYTHONHASHSEED='468'
py27-xdist runtests: commands[0] | coverage run --source c:\pytest\.tox\py27-xdist\Lib\site-packages/_pytest/,c:\pytest/testing -m pytest -n8 -ra .
============================= test session starts =============================
platform win32 -- Python 2.7.13, pytest-3.7.5.dev41+ge4aab10c, py-1.6.0, pluggy-0.7.1

...

_____________________________________________ summary _____________________________________________
  py27-xdist: commands succeeded
  congratulations :)

(.env36) λ coverage combine


(.env36) λ coverage xml
No source for code: 'C:\Users\Bruno\AppData\Local\Temp\pip-req-build-k5cobb\testing\acceptance_test.py'.
Aborting report output, consider using -i.

With py36-xdist, coverage combine and coverage xml work just fine.

@nicoddemus
Copy link
Member Author

nicoddemus commented Sep 3, 2018

Try maybe configuring/setting run.debug in .coveragerc, or COVERAGE_DEBUG, i.e. COVERAGE_DEBUG=config,multiproc,process,self,sys,trace

Here's the output of coverage combine for tox -e py27-xdist, does it help?

cwd is now 'c:\\pytest'
New process: executable: c:\pytest\.env36\scripts\python.exe
New process: cmd: c:\pytest\.env36\Scripts\coverage combine
New process: parent pid: 8836
-- config ----------------------------------------------------
               _include: None
                  _omit: None
 attempted_config_files: .coveragerc
                 branch: True
            concurrency: None
           config_files: .coveragerc
            cover_pylib: False
              data_file: .coverage
                  debug: config
                         multiproc
                         process
                         self
                         sys
                         trace
       disable_warnings: -none-
           exclude_list: #\s*(pragma|PRAGMA)[:\s]?\s*(no|NO)\s*(cover|COVER)
              extra_css: None
             fail_under: 0.0
               html_dir: htmlcov
             html_title: Coverage report
          ignore_errors: False
                   note: None
               parallel: True
    partial_always_list: while (True|1|False|0):
                         if (True|1|False|0):
           partial_list: #\s*(pragma|PRAGMA)[:\s]?\s*(no|NO)\s*(branch|BRANCH)
                  paths: {}
         plugin_options: {}
                plugins: -none-
              precision: 0
         report_include: None
            report_omit: None
            run_include: None
               run_omit: None
           show_missing: False
           skip_covered: False
                 source: _pytest
                         testing
                  timid: False
             xml_output: coverage.xml
      xml_package_depth: 99
-- sys -------------------------------------------------------
              version: 4.5.1
             coverage: c:\pytest\.env36\lib\site-packages\coverage\__init__.py
          cover_paths: C:\pytest\.env36\Lib\site-packages\coverage
          pylib_paths: C:\Users\Bruno\AppData\Local\Programs\Python\Python36\Lib
               tracer: CTracer
 plugins.file_tracers: -none-
  plugins.configurers: -none-
         config_files: .coveragerc
         configs_read: .coveragerc
            data_path: c:\pytest\.coverage
               python: 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)]
             platform: Windows-10-10.0.17134-SP0
       implementation: CPython
           executable: c:\pytest\.env36\scripts\python.exe
                  cwd: c:\pytest
                 path: 
                       c:\pytest\.env36\scripts\python36.zip
                       C:\Users\Bruno\AppData\Local\Programs\Python\Python36\DLLs
                       C:\Users\Bruno\AppData\Local\Programs\Python\Python36\lib
                       C:\Users\Bruno\AppData\Local\Programs\Python\Python36
                       c:\pytest\.env36
                       c:\pytest\.env36\lib\site-packages
                       c:\pytest\src
          environment: COVERAGE_DEBUG = config,multiproc,process,self,sys,trace
         command_line: c:\pytest\.env36\Scripts\coverage combine
         source_match: C:\pytest\testing
    source_pkgs_match: _pytest
        include_match: -none-
           omit_match: -none-
          cover_match: -none-
          pylib_match: -none-
-- end -------------------------------------------------------
atexit: <coverage.control.Coverage object at 0x000002353E7D59B0>
No data to combine

@blueyed
Copy link
Contributor

blueyed commented Sep 3, 2018

@nicoddemus
coverage combine works for you though (unlike on AppVeyor).
And the output from coverage xml looks like you have coverage for "tox" already, i.e. some other vars exported/set that trigger it there already.

@blueyed
Copy link
Contributor

blueyed commented Sep 3, 2018

The debug output appears to have the "coverage combine" problem though?!
Can you set it on AppVeyor? - only running py27-xdist and py36-xdist for now.

It says "source_match: C:\pytest\testing" - but should probably also have "_pytest" there?!

@@ -0,0 +1,7 @@
if not defined PYTEST_NO_COVERAGE (
set "_PYTEST_TOX_COVERAGE_RUN=coverage run --source {envsitepackagesdir}/_pytest/,%CD%/testing -m"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could use here {envinidir} instead of %CD% probably.. (also with Travis then)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh good catch. Will do.

@nicoddemus
Copy link
Member Author

Can you set it on AppVeyor?

Done, let's see how it goes.

@nicoddemus
Copy link
Member Author

Build finally finished.

@blueyed
Copy link
Contributor

blueyed commented Sep 4, 2018

Pushed a commit to use -s with pytest, since there is no coverage debug output for the test run.

@blueyed
Copy link
Contributor

blueyed commented Sep 4, 2018

Interestingly this fails py27-xdist on Travis now, too - SyntaxErrors and such: https://travis-ci.org/pytest-dev/pytest/jobs/424201724

@nicoddemus
Copy link
Member Author

Interestingly this fails py27-xdist

Oh my that doesn't make sense. Let's hope that was some fluke.

I've pushed a new change, I noticed py27-xdist changed dirs to testing. I changed it to no longer do that and pass the testing directory on the command line directly instead. Let's see if that changes anything.

@nicoddemus
Copy link
Member Author

Oh look at that, it now passed. But the coverage seems fishy on Windows:

testing\acceptance_test.py                                           453    453     42      0     0%   2-1063
testing\deprecated_test.py                                            92     92      0      0     0%   1-278
testing\test_argcomplete.py                                           64     64     32      0     0%   1-108
testing\test_assertion.py                                            448    448     40      0     0%   2-1156
testing\test_assertrewrite.py                                        591    591     30      0     0%   1-1155
testing\test_cacheprovider.py                                        327    327      8      0     0%   1-883
testing\test_capture.py                                              663    663     38      0     0%   2-1513
testing\test_collection.py                                           428    428     42      0     0%   1-947
testing\test_compat.py                                                67     67      4      0     0%   1-136
testing\test_config.py                                               506    506     22      0     0%   1-1075
testing\test_conftest.py                                             237    237     16      0     0%   1-534
testing\test_doctest.py                                              312    312     20      0     0%   2-1198
testing\test_entry_points.py                                           8      8      0      0     0%   1-14
testing\test_helpconfig.py                                            35     35      2      0     0%   1-72
testing\test_junitxml.py                                             563    563     42      0     0%   2-1223
testing\test_mark.py                                                 435    435     30      0     0%   1-1193
testing\test_modimport.py                                             10     10      6      0     0%   1-29
testing\test_monkeypatch.py                                          238    238     14      0     0%   1-368
testing\test_nodes.py                                                  5      5      0      0     0%   1-21
testing\test_nose.py                                                  90     90      0      0     0%   1-432
testing\test_parseopt.py                                             243    243     18      0     0%   1-327
testing\test_pastebin.py                                              60     60      4      0     0%   2-129
testing\test_pdb.py                                                  359    359     12      0     0%   1-737
testing\test_pluginmanager.py                                        239    239      4      0     0%   2-377
testing\test_pytester.py                                             257    257     18      0     0%   2-352
testing\test_recwarn.py                                              207    207     27      0     0%   1-345
testing\test_resultlog.py                                            139    139      8      0     0%   1-243
testing\test_runner.py                                               435    435     28      0     0%   2-943
testing\test_runner_xunit.py                                          61     61      0      0     0%   5-352
testing\test_session.py                                              141    141     10      0     0%   1-339
testing\test_skipping.py                                             375    375     14      0     0%   1-1185
testing\test_terminal.py                                             491    491     26      0     0%   4-1346
testing\test_tmpdir.py                                                81     81      4      0     0%   1-186
testing\test_unittest.py                                             212    212      6      0     0%   1-1012
testing\test_warnings.py                                              64     64      8      0     0%   2-304

Pushed a new commit which also sets COVERAGE_FILE and COVEAGE_PROCESS_START on Windows (and on Linux instead of using env). Let's see.

@nicoddemus
Copy link
Member Author

Strange, any idea why tox fails with:

  File "/home/travis/build/pytest-dev/pytest/.tox/py27-xdist/local/lib/python2.7/site-packages/coverage/config.py", line 467, in read_coverage_config
    raise CoverageException("Couldn't read '%s' as a config file" % fname)
coverage.misc.CoverageException: Couldn't read '{toxinidir}/.coveragerc' as a config file

Given that all I changed on travis was this:

diff --git a/.travis.yml b/.travis.yml
index 17cceb84..0efb2b1f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -82,7 +82,9 @@ env:
 before_script:
   - |
     if [[ "$PYTEST_NO_COVERAGE" != 1 ]]; then
-      export _PYTEST_TOX_COVERAGE_RUN="env COVERAGE_FILE={toxinidir}/.coverage COVERAGE_PROCESS_START={toxinidir}/.coveragerc coverage run --source {envsitepackagesdir}/_pytest/,{toxinidir}/testing -m"
+      export COVERAGE_FILE="{toxinidir}/.coverage"
+      export COVERAGE_PROCESS_START="{toxinidir}/.coveragerc"
+      export _PYTEST_TOX_COVERAGE_RUN="coverage run --source {envsitepackagesdir}/_pytest/,{toxinidir}/testing -m"
       export _PYTEST_TOX_EXTRA_DEP=coverage-enable-subprocess
     fi

@nicoddemus
Copy link
Member Author

Duh of course, because now we don't go through tox anymore and coverage tries to read the file pointed by the environment variable directly.

@nicoddemus
Copy link
Member Author

nicoddemus commented Sep 4, 2018

Strange, why is coverage trying to find the source in a temporary directory apparently created by pip?

C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-li6rbf\testing\acceptance_test.py   NoSource: No source for code: 'C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-li6rbf\testing\acceptance_test.py'.
No source for code: '/tmp/pip-req-build-oPUUq8/testing/acceptance_test.py'.

@blueyed
Copy link
Contributor

blueyed commented Sep 4, 2018

No source for code: '/tmp/pip-req-build-oPUUq8/testing/acceptance_test.py'.

I think this is a directory pip uses to install pytest or something like that.
Let's try the suggested "--include"? (or --omit '/tmp/*' - but differs on Windows likely)

blueyed added a commit to nicoddemus/pytest that referenced this pull request Sep 4, 2018
We currently appear to collect coverage from pip-install, where then the
source is not available anymore.

Ref: pytest-dev#3923 (comment)
@blueyed
Copy link
Contributor

blueyed commented Sep 4, 2018

Oh, actually suggestion is -i / --ignore-errors - added that.

@nicoddemus
Copy link
Member Author

No dice 😞

@nicoddemus
Copy link
Member Author

i find it acceptable to skip coverage there and recording a followup issue, given the pending EOL of python2.7 im inclined to declare it as acceptable loss

Given that I'm out of ideas, I would be OK with this as well. After all having coverage for all the other environments is already a large improvement.

@nicoddemus
Copy link
Member Author

OK, to me it is time to admit defeat. 😅

I'm skipping the two failing envs from coverage in AppVeyor. If @blueyed or someone else wants to investigate more this can be done in a future PR, as adding coverage for the other environments will already be a net gain. 👍

@blueyed
Copy link
Contributor

blueyed commented Sep 5, 2018

--ignore-errors is also required for coverage xml apparently.
Should I push that?

@nicoddemus
Copy link
Member Author

--ignore-errors is also required for coverage xml apparently.
Should I push that?

Oh OK, I thought that was part of the previous effort to get py27-xdist working. Reverted and pushed.

@blueyed
Copy link
Contributor

blueyed commented Sep 5, 2018

@nicoddemus
Still missing for coverage xml..!

@nicoddemus
Copy link
Member Author

Oh! Could you push that then please? I'm away from my computer

@blueyed
Copy link
Contributor

blueyed commented Sep 5, 2018

I thought that was part of the previous effort to get py27-xdist working. Reverted and pushed.

Yes, it is - somehow missed that you are skipping it now.

I would say that we should retry it here, instead of in a separate PR.
May I?

@blueyed
Copy link
Contributor

blueyed commented Sep 5, 2018

What I mean is going back to #3923 (comment), and use -i also for coverage-xml.

blueyed added a commit to nicoddemus/pytest that referenced this pull request Sep 5, 2018
We currently appear to collect coverage from pip-install, where then the
source is not available anymore.

Ref: pytest-dev#3923 (comment)
@blueyed
Copy link
Contributor

blueyed commented Sep 5, 2018

Done that.

  1. git reset --hard c090fd0
  2. amended to also use --ignore-errors with coverage-xml
  3. cherry-picked 3058791

(previous HEAD: 91b143a)

@nicoddemus
Copy link
Member Author

OK, I will cleanup history and re-enable all the envs once 3.8.0 is out. Thanks a lot @blueyed for all the help here! 🤗

@nicoddemus
Copy link
Member Author

Squashed the long commit history! Hopefully now everything is working. 👍

@nicoddemus nicoddemus merged commit e0466d0 into pytest-dev:master Sep 6, 2018
@nicoddemus nicoddemus deleted the codecov branch September 6, 2018 10:03
- TOXENV: "docs"
PYTEST_NO_COVERAGE: "1"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nicoddemus
Was the removal of pexpect intentional here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, those jobs don't run on Windows:

(.env36) λ tox -e py27-pexpect
GLOB sdist-make: c:\pytest\setup.py
_____________________________________________ summary _____________________________________________
SKIPPED:  py27-pexpect: platform mismatch
  congratulations :)

So it doesn't make sense to queue the job just to skip it right at the beginning. 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants