diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2019-03-10 14:27:18 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-10 14:27:18 -0400 |
commit | 2cab54c755607dccdf2cf29711b72f8bf42c9cf5 (patch) | |
tree | 2887e319bcca8800a3db071de4ef4a39aca3bf6c | |
parent | 6541759acef3ff4f957441d9b1844acaf3ecb8a4 (diff) | |
parent | b140512e4205664d37452d3f4c7ca4e0daf078e8 (diff) | |
download | python-coveragepy-git-2cab54c755607dccdf2cf29711b72f8bf42c9cf5.tar.gz |
Merge branch 'master' into travis-xenial
-rw-r--r-- | .travis.yml | 1 | ||||
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | README.rst | 2 | ||||
-rw-r--r-- | appveyor.yml | 16 | ||||
-rw-r--r--[-rwxr-xr-x] | coverage/htmlfiles/keybd_closed.png | bin | 112 -> 112 bytes | |||
-rw-r--r--[-rwxr-xr-x] | coverage/htmlfiles/keybd_open.png | bin | 112 -> 112 bytes | |||
-rw-r--r-- | doc/index.rst | 4 | ||||
-rw-r--r-- | doc/requirements.pip | 4 | ||||
-rw-r--r-- | howto.txt | 7 | ||||
-rw-r--r-- | requirements/dev.pip | 4 | ||||
-rw-r--r-- | requirements/pytest.pip | 8 | ||||
-rw-r--r-- | requirements/tox.pip | 2 | ||||
-rw-r--r-- | requirements/wheel.pip | 3 | ||||
-rw-r--r-- | setup.py | 11 | ||||
-rw-r--r-- | tests/test_templite.py | 18 | ||||
-rw-r--r-- | tox.ini | 14 | ||||
-rw-r--r-- | tox_wheels.ini | 2 |
17 files changed, 55 insertions, 47 deletions
diff --git a/.travis.yml b/.travis.yml index b4286c1d..ac189e57 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,6 @@ language: python cache: pip python: - '2.7' - - '3.4' - '3.5' - '3.6' - '3.7' @@ -51,10 +51,12 @@ test: PYTEST_SMOKE_ARGS = -n 6 -m "not expensive" --maxfail=3 $(ARGS) smoke: - COVERAGE_NO_PYTRACER=1 tox -q -e py27,py34 -- $(PYTEST_SMOKE_ARGS) + # Run tests with the C tracer in the lowest supported Python versions. + COVERAGE_NO_PYTRACER=1 tox -q -e py27,py35 -- $(PYTEST_SMOKE_ARGS) pysmoke: - COVERAGE_NO_CTRACER=1 tox -q -e py27,py34 -- $(PYTEST_SMOKE_ARGS) + # Run tests with the Python tracer in the lowest supported Python versions. + COVERAGE_NO_CTRACER=1 tox -q -e py27,py35 -- $(PYTEST_SMOKE_ARGS) metacov: COVERAGE_COVERAGE=yes tox $(ARGS) @@ -35,7 +35,7 @@ library to determine which lines are executable, and which have been executed. Coverage.py runs on many versions of Python: * CPython 2.7. -* CPython 3.4 through pre-alpha 3.8. +* CPython 3.5 through pre-alpha 3.8. * PyPy2 6.0 and PyPy3 6.0. * Jython 2.7.1, though not for reporting. * IronPython 2.7.7, though not for reporting. diff --git a/appveyor.yml b/appveyor.yml index 1131efe1..f4a41b51 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -34,18 +34,6 @@ environment: PYTHON_VERSION: "2.7.15" PYTHON_ARCH: "64" - - JOB: "3.4 32-bit" - TOXENV: "py34" - PYTHON: "C:\\Python34" - PYTHON_VERSION: "3.4.4" - PYTHON_ARCH: "32" - - - JOB: "3.4 64-bit" - TOXENV: "py34" - PYTHON: "C:\\Python34-x64" - PYTHON_VERSION: "3.4.4" - PYTHON_ARCH: "64" - - JOB: "3.5 32-bit" TOXENV: "py35" PYTHON: "C:\\Python35" @@ -122,8 +110,8 @@ install: # Install requirements. - "%CMD_IN_ENV% pip install -r requirements/ci.pip" - # Make a python3.4.bat file in the current directory so that tox will find it - # and python3.4 will mean what we want it to. + # Make a pythonX.Y.bat file in the current directory so that tox will find it + # and pythonX.Y will mean what we want it to. - "python -c \"import os; open('python{}.{}.bat'.format(*os.environ['TOXENV'][2:]), 'w').write('@{}\\\\python \\x25*\\n'.format(os.environ['PYTHON']))\"" build_script: diff --git a/coverage/htmlfiles/keybd_closed.png b/coverage/htmlfiles/keybd_closed.png Binary files differindex db114023..db114023 100755..100644 --- a/coverage/htmlfiles/keybd_closed.png +++ b/coverage/htmlfiles/keybd_closed.png diff --git a/coverage/htmlfiles/keybd_open.png b/coverage/htmlfiles/keybd_open.png Binary files differindex db114023..db114023 100755..100644 --- a/coverage/htmlfiles/keybd_open.png +++ b/coverage/htmlfiles/keybd_open.png diff --git a/doc/index.rst b/doc/index.rst index 7ed08189..b06e805d 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -31,7 +31,7 @@ not. The latest version is coverage.py 5.0a4, released November 25, 2018. It is supported on: - * Python versions 2.7, 3.4, 3.5, 3.6, 3.7, and pre-alpha 3.8. + * Python versions 2.7, 3.5, 3.6, 3.7, and pre-alpha 3.8. * PyPy2 6.0 and PyPy3 6.0. @@ -40,7 +40,7 @@ not. * IronPython 2.7.7, though only for running code, not reporting. **This is a pre-release build. The usual warnings about possible bugs - apply.** The latest stable version is coverage.py 4.5.2, `described here`_. + apply.** The latest stable version is coverage.py 4.5.3, `described here`_. .. _described here: http://coverage.readthedocs.io/ diff --git a/doc/requirements.pip b/doc/requirements.pip index 6aa6e6e3..de417d05 100644 --- a/doc/requirements.pip +++ b/doc/requirements.pip @@ -4,6 +4,6 @@ doc8==0.8.0 pyenchant==2.0.0 -sphinx==1.8.3 +sphinx==1.8.4 sphinxcontrib-spelling==4.2.0 -sphinx_rtd_theme==0.4.2 +sphinx_rtd_theme==0.4.3 @@ -1,5 +1,6 @@ * Release checklist +- Check that the current virtualenv matches the current coverage branch. - Version number in coverage/version.py version_info = (4, 0, 2, 'alpha', 1) version_info = (4, 0, 2, 'beta', 1) @@ -23,10 +24,9 @@ - Generate new sample_html to get the latest, incl footer version number: make clean pip install -e . - pip install nose cd ~/cog/trunk rm -rf htmlcov - coverage run --branch --source=cogapp -m nose cogapp/test_cogapp.py:CogTestsInMemory + coverage run --branch --source=cogapp -m pytest -k CogTestsInMemory coverage combine coverage html - IF PRE-RELEASE: @@ -45,7 +45,7 @@ $ make publish - Kits: - Start fresh: - - $ make clean + - $ make sterile - Source kit and wheels: - $ make kit wheel - Linux wheels: @@ -60,6 +60,7 @@ - $ make kit_upload - Tag the tree - git tag coverage-3.0.1 + - git push - git push --tags - Bump version: - coverage/version.py diff --git a/requirements/dev.pip b/requirements/dev.pip index 415dcda2..ef467537 100644 --- a/requirements/dev.pip +++ b/requirements/dev.pip @@ -4,7 +4,7 @@ # Requirements for doing local development work on coverage.py. # https://requires.io/github/nedbat/coveragepy/requirements/ -pip==18.1 +pip==19.0.3 virtualenv==16.1.0 # PyPI requirements for running tests. @@ -19,4 +19,4 @@ readme_renderer==24.0 # for kitting. requests==2.21.0 -twine==1.12.1 +twine==1.13.0 diff --git a/requirements/pytest.pip b/requirements/pytest.pip index 6ec37a72..0274ec05 100644 --- a/requirements/pytest.pip +++ b/requirements/pytest.pip @@ -3,12 +3,12 @@ # The pytest specifics used by coverage.py -pytest==4.0.2 +pytest==4.3.0 pluggy>=0.7 # pytest needs this, but pip doesn't understand -pytest-xdist==1.25.0 -flaky==3.4.0 +pytest-xdist==1.26.1 +flaky==3.5.3 mock==2.0.0 -PyContracts==1.8.7 +PyContracts==1.8.12 # Our testing mixins unittest-mixins==1.6 diff --git a/requirements/tox.pip b/requirements/tox.pip index 0ba0e97c..81fa10dd 100644 --- a/requirements/tox.pip +++ b/requirements/tox.pip @@ -2,6 +2,6 @@ # For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt # The version of tox used by coverage.py -tox==3.6.1 +tox==3.7.0 # Adds env recreation on requirements file changes. tox-battery==0.5.1 diff --git a/requirements/wheel.pip b/requirements/wheel.pip index 5c766d59..56ced495 100644 --- a/requirements/wheel.pip +++ b/requirements/wheel.pip @@ -2,6 +2,7 @@ # For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt # Things needed to make wheels for coverage.py -setuptools==40.6.3 + +setuptools==40.8.0 # pin so auditwheel will work: https://github.com/pypa/auditwheel/issues/102 wheel==0.31.1 @@ -28,7 +28,6 @@ Programming Language :: Python Programming Language :: Python :: 2 Programming Language :: Python :: 2.7 Programming Language :: Python :: 3 -Programming Language :: Python :: 3.4 Programming Language :: Python :: 3.5 Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 @@ -103,11 +102,19 @@ setup_args = dict( author_email='ned@nedbatchelder.com', description=doc, long_description=long_description, + long_description_content_type='text/x-rst', keywords='code coverage testing', license='Apache 2.0', classifiers=classifier_list, url="https://github.com/nedbat/coveragepy", - + project_urls={ + 'Documentation': __url__, + 'Funding': ( + 'https://tidelift.com/subscription/pkg/pypi-coverage' + '?utm_source=pypi-coverage&utm_medium=referral&utm_campaign=pypi' + ), + 'Issues': 'https://github.com/nedbat/coveragepy/issues', + }, python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", ) diff --git a/tests/test_templite.py b/tests/test_templite.py index 16942db8..3b1e38af 100644 --- a/tests/test_templite.py +++ b/tests/test_templite.py @@ -252,13 +252,23 @@ class TempliteTest(CoverageTest): "@{% for n in nums -%}\n" " {% for a in abc -%}\n" " {# this disappears completely -#}\n" - " {{a -}}\n" + " {{a-}}\n" " {{n -}}\n" + " {{n -}}\n" " {% endfor %}\n" "{% endfor %}!\n", {'nums': [0, 1, 2], 'abc': ['a', 'b', 'c']}, - "@a0b0c0\na1b1c1\na2b2c2\n!\n" + "@a00b00c00\na11b11c11\na22b22c22\n!\n" ) + self.try_render( + "@{% for n in nums -%}\n" + " {{n -}}\n" + " x\n" + "{% endfor %}!\n", + {'nums': [0, 1, 2]}, + "@0x\n1x\n2x\n!\n" + ) + self.try_render(" hello ", {}, " hello ") def test_non_ascii(self): self.try_render( @@ -269,8 +279,8 @@ class TempliteTest(CoverageTest): def test_exception_during_evaluation(self): # TypeError: Couldn't evaluate {{ foo.bar.baz }}: - msg = "Couldn't evaluate None.bar" - with self.assertRaisesRegex(TempliteValueError, msg): + regex = "^Couldn't evaluate None.bar$" + with self.assertRaisesRegex(TempliteValueError, regex): self.try_render( "Hey {{foo.bar.baz}} there", {'foo': None}, "Hey ??? there" ) @@ -2,7 +2,7 @@ # For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt [tox] -envlist = py{27,34,35,36,37,38}, pypy{2,3}, doc, lint +envlist = py{27,35,36,37,38}, pypy{2,3}, doc, lint skip_missing_interpreters = {env:COVERAGE_SKIP_MISSING_INTERPRETERS:True} toxworkdir = {env:TOXWORKDIR:.tox} @@ -13,12 +13,12 @@ deps = # Check here for what might be out of date: # https://requires.io/github/nedbat/coveragepy/requirements/ -r requirements/pytest.pip - pip==18.1 - setuptools==40.6.3 + pip==19.0.3 + setuptools==40.8.0 # gevent 1.3 causes a failure: https://github.com/nedbat/coveragepy/issues/663 - py{27,34,35,36}: gevent==1.2.2 - py{27,34,35,36,37,38}: eventlet==0.24.1 - py{27,34,35,36,37,38}: greenlet==0.4.15 + py{27,35,36}: gevent==1.2.2 + py{27,35,36,37,38}: eventlet==0.24.1 + py{27,35,36,37,38}: greenlet==0.4.15 # Windows can't update the pip version with pip running, so use Python # to install things. @@ -94,8 +94,8 @@ commands = #2.7: py27, lint python = 2.7: py27 - 3.4: py34 3.5: py35 3.6: py36 + 3.7: py37 pypy: pypy pypy3.5: pypy3 diff --git a/tox_wheels.ini b/tox_wheels.ini index 7381cafb..a4854605 100644 --- a/tox_wheels.ini +++ b/tox_wheels.ini @@ -2,7 +2,7 @@ # For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt [tox] -envlist = py{27,34,35,36,37,sys} +envlist = py{27,35,36,37,38,sys} toxworkdir = {toxinidir}/.tox_kits [testenv] |