Hello community,
here is the log from the commit of package python-coveralls for
openSUSE:Factory checked in at 2020-06-17 14:54:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-coveralls (Old)
and /work/SRC/openSUSE:Factory/.python-coveralls.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-coveralls"
Wed Jun 17 14:54:19 2020 rev:10 rq:815335 version:2.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-coveralls/python-coveralls.changes
2020-05-07 14:51:14.942049067 +0200
+++
/work/SRC/openSUSE:Factory/.python-coveralls.new.3606/python-coveralls.changes
2020-06-17 14:55:07.109963419 +0200
@@ -1,0 +2,6 @@
+Wed Jun 17 04:05:52 UTC 2020 - Steve Kowalik <[email protected]>
+
+- Update to 2.0.0:
+ * Drop support for Python 2.7 and 3.4.
+
+-------------------------------------------------------------------
Old:
----
1.11.1.tar.gz
New:
----
2.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-coveralls.spec ++++++
--- /var/tmp/diff_new_pack.vMVO8n/_old 2020-06-17 14:55:08.881969486 +0200
+++ /var/tmp/diff_new_pack.vMVO8n/_new 2020-06-17 14:55:08.881969486 +0200
@@ -17,12 +17,12 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%define skip_python2 1
Name: python-coveralls
-Version: 1.11.1
+Version: 2.0.0
Release: 0
Summary: Module for showing coverage stats online via coverallsio
License: MIT
-Group: Development/Languages/Python
URL: https://github.com/coveralls-clients/coveralls-python
Source:
https://github.com/coveralls-clients/coveralls-python/archive/%{version}.tar.gz
BuildRequires: %{python_module PyYAML >= 3.10}
++++++ 1.11.1.tar.gz -> 2.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/.circleci/config.yml
new/coveralls-python-2.0.0/.circleci/config.yml
--- old/coveralls-python-1.11.1/.circleci/config.yml 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/.circleci/config.yml 2020-04-07
04:53:40.000000000 +0200
@@ -8,14 +8,14 @@
docker:
- image: python:<<parameters.docker_image>>-alpine
parameters:
+ cov_version:
+ default: ""
+ type: string
docker_image:
type: string
# TODO: figure out `<<parameters.docker_image>>.replace('.','')`
tox_environment:
type: string
- cov_version:
- default: ""
- type: string
steps:
- run: apk add --no-cache gcc git libffi-dev musl-dev openssh-client
openssl-dev
- checkout
@@ -31,123 +31,69 @@
- run: tox -f
<<parameters.tox_environment>>-cov<<parameters.cov_version>>
- run: tox -e coveralls<<parameters.cov_version>>
- # TODO: by introspecting `docker_image` (or `tox_environment`), we could
- # these job definitions
toxpypy:
docker:
- image: pypy:<<parameters.docker_image>>
parameters:
- docker_image:
- type: string
- # TODO: figure out `<<parameters.docker_image>>.replace('.','')`
- tox_environment:
- type: string
cov_version:
- default: ""
+ type: string
+ docker_image:
type: string
steps:
- checkout
- run: pip install tox tox-factor
- - unless:
- condition: <<parameters.cov_version>>
- steps:
- - run: tox -f <<parameters.tox_environment>>
- - run: tox -e coveralls41
- - when:
- condition: <<parameters.cov_version>>
- steps:
- - run: tox -f
<<parameters.tox_environment>>-cov<<parameters.cov_version>>
- - run: tox -e coveralls<<parameters.cov_version>>
+ - run: tox -f pypy3-cov<<parameters.cov_version>>
+ - run: tox -e coveralls<<parameters.cov_version>>
workflows:
- run-jobs:
+ lint:
jobs:
- linter/pre-commit:
python_version: 3.7.5
- - toxpy:
- name: test-py2.7
- docker_image: '2.7'
- tox_environment: py27
- - toxpy:
- name: test-py3.4
- docker_image: '3.4'
- tox_environment: py34
+ test-cpython:
+ jobs:
- toxpy:
name: test-py3.5
docker_image: '3.5'
tox_environment: py35
- toxpy:
- name: test-py3.6-cov4
- docker_image: '3.6'
- tox_environment: py36
- cov_version: '41'
- - toxpy:
- name: test-py3.6-cov5
+ name: test-py3.6-cov<<matrix.cov_version>>
docker_image: '3.6'
tox_environment: py36
- cov_version: '5'
+ matrix:
+ parameters:
+ cov_version: ['41', '5']
- toxpy:
- name: test-py3.7-cov4
+ name: test-py3.7-cov<<matrix.cov_version>>
docker_image: '3.7'
tox_environment: py37
- cov_version: '41'
- - toxpy:
- name: test-py3.7-cov5
- docker_image: '3.7'
- tox_environment: py37
- cov_version: '5'
- - toxpy:
- name: test-py3.8-cov4
- docker_image: '3.8'
- tox_environment: py38
- cov_version: '41'
+ matrix:
+ parameters:
+ cov_version: ['41', '5']
- toxpy:
- name: test-py3.8-cov5
+ name: test-py3.8-cov<<matrix.cov_version>>
docker_image: '3.8'
tox_environment: py38
- cov_version: '5'
+ matrix:
+ parameters:
+ cov_version: ['41', '5']
+ test-pypy:
+ jobs:
- toxpypy:
- name: test-pypy2-5
- docker_image: 2-5
- tox_environment: pypy
- - toxpypy:
- name: test-pypy2-6
- docker_image: 2-6
- tox_environment: pypy
- - toxpypy:
- name: test-pypy2-7
- docker_image: 2-7
- tox_environment: pypy
+ name: test-pypy<<matrix.docker_image>>-cov<<matrix.cov_version>>
+ matrix:
+ parameters:
+ cov_version: ['41', '5']
+ docker_image: ['3-5', '3-6', '3-7']
- - toxpypy:
- name: test-pypy3-5-cov4
- docker_image: 3-5
- tox_environment: pypy3
- cov_version: '41'
- - toxpypy:
- name: test-pypy3-5-cov5
- docker_image: 3-5
- tox_environment: pypy3
- cov_version: '5'
- - toxpypy:
- name: test-pypy3-6-cov4
- docker_image: 3-6
- tox_environment: pypy3
- cov_version: '41'
- - toxpypy:
- name: test-pypy3-6-cov5
- docker_image: 3-6
- tox_environment: pypy3
- cov_version: '5'
- - toxpypy:
- name: test-pypy3-7-cov4
- docker_image: 3-7
- tox_environment: pypy3
- cov_version: '41'
- - toxpypy:
- name: test-pypy3-7-cov5
- docker_image: 3-7
- tox_environment: pypy3
- cov_version: '5'
+ test-alphaversions:
+ jobs:
+ - toxpy:
+ name: test-py3.9-alpha-cov<<matrix.cov_version>>
+ docker_image: '3.9.0a2'
+ tox_environment: py39
+ matrix:
+ parameters:
+ cov_version: ['41', '5']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/.github/CODEOWNERS
new/coveralls-python-2.0.0/.github/CODEOWNERS
--- old/coveralls-python-1.11.1/.github/CODEOWNERS 1970-01-01
01:00:00.000000000 +0100
+++ new/coveralls-python-2.0.0/.github/CODEOWNERS 2020-04-07
04:53:40.000000000 +0200
@@ -0,0 +1 @@
+* @TheKevJames
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/coveralls-python-1.11.1/.github/workflows/pythonpackage.yml
new/coveralls-python-2.0.0/.github/workflows/pythonpackage.yml
--- old/coveralls-python-1.11.1/.github/workflows/pythonpackage.yml
2020-02-15 01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/.github/workflows/pythonpackage.yml
2020-04-07 04:53:40.000000000 +0200
@@ -8,7 +8,7 @@
strategy:
max-parallel: 4
matrix:
- python-version: [2.7, 3.5, 3.6, 3.7, 3.8]
+ python-version: [3.5, 3.6, 3.7, 3.8]
steps:
- uses: actions/checkout@v1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/.gitignore
new/coveralls-python-2.0.0/.gitignore
--- old/coveralls-python-1.11.1/.gitignore 2020-02-15 01:13:01.000000000
+0100
+++ new/coveralls-python-2.0.0/.gitignore 2020-04-07 04:53:40.000000000
+0200
@@ -1,104 +1,61 @@
-# Byte-compiled / optimized / DLL files
-__pycache__/
-*.py[cod]
*$py.class
-
-# C extensions
+*.cover
+*.egg
+*.egg-info/
+*.log
+*.manifest
+*.mo
+*.pot
+*.py[cod]
+*.sage.py
*.so
-
-# Distribution / packaging
+*.spec
.Python
+.cache
+.coverage
+.coverage.*
+.eggs/
+.env
+.hypothesis/
+.installed.cfg
+.ipynb_checkpoints
+.mypy_cache/
+.pytest_cache/
+.python-version
+.ropeproject
+.scrapy
+.spyderproject
+.spyproject
+.tox/
+.venv
+.webassets-cache
+/site
+ENV/
+MANIFEST
+__pycache__/
build/
+celerybeat-schedule
+coverage.xml
+db.sqlite3
develop-eggs/
dist/
+docs/_build/
downloads/
eggs/
-.eggs/
+env.bak/
+env/
+htmlcov/
+instance/
lib/
lib64/
+local_settings.py
+nosetests.xml
parts/
-sdist/
-var/
-wheels/
-*.egg-info/
-.installed.cfg
-*.egg
-MANIFEST
-
-# PyInstaller
-# Usually these files are written by a python script from a template
-# before PyInstaller builds the exe, so as to inject date/other infos into it.
-*.manifest
-*.spec
-
-# Installer logs
-pip-log.txt
pip-delete-this-directory.txt
-
-# Unit test / coverage reports
-htmlcov/
-.tox/
-.coverage
-.coverage.*
-.cache
-nosetests.xml
-coverage.xml
-*.cover
-.hypothesis/
-.pytest_cache/
-
-# Translations
-*.mo
-*.pot
-
-# Django stuff:
-*.log
-local_settings.py
-db.sqlite3
-
-# Flask stuff:
-instance/
-.webassets-cache
-
-# Scrapy stuff:
-.scrapy
-
-# Sphinx documentation
-docs/_build/
-
-# PyBuilder
+pip-log.txt
+sdist/
target/
-
-# Jupyter Notebook
-.ipynb_checkpoints
-
-# pyenv
-.python-version
-
-# celery beat schedule file
-celerybeat-schedule
-
-# SageMath parsed files
-*.sage.py
-
-# Environments
-.env
-.venv
-env/
-venv/
-ENV/
-env.bak/
+var/
venv.bak/
-
-# Spyder project settings
-.spyderproject
-.spyproject
-
-# Rope project settings
-.ropeproject
-
-# mkdocs documentation
-/site
-
-# mypy
-.mypy_cache/
+venv/
+wheels/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/.pre-commit-config.yaml
new/coveralls-python-2.0.0/.pre-commit-config.yaml
--- old/coveralls-python-1.11.1/.pre-commit-config.yaml 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/.pre-commit-config.yaml 2020-04-07
04:53:40.000000000 +0200
@@ -1,82 +1,103 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v2.1.0
+ rev: v2.5.0
hooks:
- - id: check-ast
- - id: check-builtin-literals
- id: check-case-conflict
- id: check-executables-have-shebangs
- id: check-json
- id: check-merge-conflict
- id: check-symlinks
+ - id: check-toml
- id: check-vcs-permalinks
- id: check-xml
- id: check-yaml
args: [--allow-multiple-documents]
- - id: debug-statements
- id: detect-private-key
- id: end-of-file-fixer
exclude: example/.*
- id: file-contents-sorter
- files: .dockerignore .gitignore
+ files: .(docker|git)ignore
- id: mixed-line-ending
args: [--fix=lf]
+ - id: trailing-whitespace
+
+# python
+ - id: check-ast
+ - id: check-builtin-literals
+ - id: check-docstring-first
+ - id: debug-statements
+ - id: double-quote-string-fixer
+ exclude: nonunicode/.*
- id: name-tests-test
- id: requirements-txt-fixer
- - id: trailing-whitespace
- repo: https://github.com/pre-commit/mirrors-pylint
- rev: v2.3.1
+ rev: v2.4.4
hooks:
- id: pylint
+ additional_dependencies:
+ # TODO: >0.2.0
+ - git+https://github.com/bayesimpact/pylint_import_modules@016f79e4d2
args:
+ - --allowed-direct-imports="typing.*"
+ - --load-plugins=pylint_import_modules
- --max-line-length=79
- --ignore-imports=yes
- -d broad-except
- -d fixme
- -d import-error
+ - -d import-only-modules
- -d invalid-name
- -d locally-disabled
- -d missing-docstring
- -d too-few-public-methods
- - -d useless-object-inheritance
+ - -d ungrouped-imports
exclude: example/.*
- repo: https://github.com/Lucas-C/pre-commit-hooks
- rev: v1.1.6
+ rev: v1.1.7
hooks:
- id: remove-tabs
- repo: https://github.com/asottile/reorder_python_imports
- rev: v1.4.0
+ rev: v2.0.0
hooks:
- id: reorder-python-imports
- args: [--py26-plus]
- files: coveralls/.*
+ args: [--py3-plus]
+ exclude: nonunicode/.*
+- repo: https://github.com/asottile/pyupgrade
+ rev: v2.1.0
+ hooks:
+ - id: pyupgrade
+ args: [--py3-plus]
+ exclude: nonunicode/.*
- repo: https://github.com/asottile/yesqa
- rev: v0.0.10
+ rev: v1.1.0
hooks:
- id: yesqa
files: coveralls/.*
- repo: https://github.com/pre-commit/mirrors-autopep8
- rev: v1.4.3
+ rev: v1.5
hooks:
- id: autopep8
files: coveralls/.*
- repo: https://github.com/PyCQA/pydocstyle
- rev: 792b8d92 # TODO: >3.0.0
+ rev: 5.0.2
hooks:
- id: pydocstyle
args:
- - --ignore=D1,D203,D205,D212,D400,D401,D404
+ - --ignore=D1,D203,D205,D212,D400,D401,D404,D413
files: coveralls/.*
- repo: https://gitlab.com/pycqa/flake8
- rev: 3.7.7
+ rev: 3.7.9
hooks:
- id: flake8
args:
- - --ignore=E501,W503,F811,F821
+ - --ignore=E501,W503,F401,F811
files: coveralls/.*
- repo: https://github.com/pre-commit/pygrep-hooks
- rev: v1.2.0
+ rev: v1.5.1
hooks:
+ - id: python-no-eval
- id: python-no-log-warn
- id: python-use-type-annotations
+
+# rst
- id: rst-backticks
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/.travis.yml
new/coveralls-python-2.0.0/.travis.yml
--- old/coveralls-python-1.11.1/.travis.yml 2020-02-15 01:13:01.000000000
+0100
+++ new/coveralls-python-2.0.0/.travis.yml 2020-04-07 04:53:40.000000000
+0200
@@ -2,13 +2,10 @@
language: python
python:
- - 2.7
- - 3.4
- 3.5
- 3.6
- 3.7
- 3.8
- - pypy
- pypy3
install:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/CHANGELOG.md
new/coveralls-python-2.0.0/CHANGELOG.md
--- old/coveralls-python-1.11.1/CHANGELOG.md 2020-02-15 01:13:01.000000000
+0100
+++ new/coveralls-python-2.0.0/CHANGELOG.md 2020-04-07 04:53:40.000000000
+0200
@@ -1,3 +1,14 @@
+<a name="2.0.0"></a>
+## 2.0.0 (2020-04-07)
+
+#### Compatiblity (BREAKING CHANGES)
+
+* We have now dropped support for End-Of-Life'd versions of Python and
+ particularly old versions of the `coverage` library; if you are still using
+ Python v2.7 or v3.4, or you are using `coverage<4.1`, this library will no
+ longer be compatible starting from this release -- please pin to
+ `coveralls<2.0.0`.
+
<a name="1.11.1"></a>
## 1.11.1 (2020-02-15)
@@ -12,7 +23,7 @@
#### Fixes
-* **github:** add service_number for github actions ([9f93bd8e](9f93bd8e))
+* **github:** add `service_number` for github actions ([9f93bd8e](9f93bd8e))
This should fix support for parallel builds.
#### Compatibility
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/README.rst
new/coveralls-python-2.0.0/README.rst
--- old/coveralls-python-1.11.1/README.rst 2020-02-15 01:13:01.000000000
+0100
+++ new/coveralls-python-2.0.0/README.rst 2020-04-07 04:53:40.000000000
+0200
@@ -1,5 +1,5 @@
-Coveralls for Python
-====================
+Coveralls for Python (Docs)
+===========================
:Test Status:
.. image::
https://img.shields.io/circleci/project/github/coveralls-clients/coveralls-python/master.svg?style=flat-square&label=CircleCI
@@ -34,14 +34,35 @@
.. image::
https://img.shields.io/pypi/implementation/coveralls.svg?style=flat-square&label=Python%20Implementations
:target: https://pypi.org/project/coveralls/
-`coveralls.io`_ is a service for publishing your coverage stats online. This
package provides seamless integration with `coverage.py`_ (and thus ``pytest``,
``nosetests``, etc...) in your Python projects::
+`coveralls.io`_ is a service for publishing your coverage stats online. This
+package provides seamless integration with `coverage.py`_ (and thus ``pytest``,
+``nosetests``, etc...) in your Python projects::
pip install coveralls
- coverage run --source=mypkg setup.py test
+ coverage run --source=mypkg -m pytest tests/
coveralls
For more information and usage instructions, see our `documentation`_.
-.. _coveralls.io: https://coveralls.io/
+Version Compatibility
+---------------------
+
+As of version 2.0, we have dropped support for end-of-life'd versions of Python
+and particularly old version of coverage. Support for non-EOL'd environments is
+provided on a best-effort basis and will generally be removed once they make
+maintenance too difficult.
+
+If you're running on an outdated environment with a new enough package manager
+to support version checks (see `the PyPA docs`_), then installing the latest
+compatible version should do the trick. If you're even more outdated than that,
+please pin to ``coveralls<2``.
+
+If you're in an outdated environment and experiencing an issue, feel free to
+open a ticket -- but please mention your environment! I'm willing to backport
+fixes to the 1.x branch if need be.
+
+.. _Docs: http://coveralls-python.readthedocs.io/en/latest/
.. _coverage.py: https://coverage.readthedocs.io/en/latest/
+.. _coveralls.io: https://coveralls.io/
.. _documentation: http://coveralls-python.readthedocs.io/en/latest/
+.. _the PyPA docs:
https://packaging.python.org/guides/distributing-packages-using-setuptools/#python-requires
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/coveralls/__init__.py
new/coveralls-python-2.0.0/coveralls/__init__.py
--- old/coveralls-python-1.11.1/coveralls/__init__.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/coveralls/__init__.py 2020-04-07
04:53:40.000000000 +0200
@@ -1,4 +1,3 @@
-# coding: utf-8
from .api import Coveralls
from .version import __version__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/coveralls/api.py
new/coveralls-python-2.0.0/coveralls/api.py
--- old/coveralls-python-1.11.1/coveralls/api.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/coveralls/api.py 2020-04-07 04:53:40.000000000
+0200
@@ -1,4 +1,3 @@
-# coding: utf-8
import codecs
import json
import logging
@@ -16,11 +15,13 @@
log = logging.getLogger('coveralls.api')
-class Coveralls(object):
+class Coveralls:
config_filename = '.coveralls.yml'
def __init__(self, token_required=True, service_name=None, **kwargs):
"""
+ Initialize the main Coveralls collection entrypoint.
+
* repo_token
The secret token for your repository, found at the bottom of your
repository's page on Coveralls.
@@ -95,7 +96,7 @@
pr = None
if os.environ.get('GITHUB_REF', '').startswith('refs/pull/'):
pr = os.environ.get('GITHUB_REF', '//').split('/')[2]
- service_number += '-PR-{0}'.format(pr)
+ service_number += '-PR-{}'.format(pr)
return 'github-actions', service_number, pr
@staticmethod
@@ -163,12 +164,12 @@
with open(os.path.join(os.getcwd(),
self.config_filename)) as config:
try:
- import yaml
+ import yaml # pylint: disable=import-outside-toplevel
return yaml.safe_load(config)
except ImportError:
log.warning('PyYAML is not installed, skipping %s.',
self.config_filename)
- except (OSError, IOError):
+ except OSError:
log.debug('Missing %s file. Using only env variables.',
self.config_filename)
@@ -267,11 +268,7 @@
config_file = self.config.get('config_file', True)
workman = coverage.coverage(config_file=config_file)
workman.load()
-
- if hasattr(workman, '_harvest_data'):
- workman._harvest_data() # pylint: disable=W0212
- else:
- workman.get_data()
+ workman.get_data()
return CoverallReporter(workman, workman.config).coverage
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/coveralls/cli.py
new/coveralls-python-2.0.0/coveralls/cli.py
--- old/coveralls-python-1.11.1/coveralls/cli.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/coveralls/cli.py 2020-04-07 04:53:40.000000000
+0200
@@ -1,5 +1,5 @@
"""
-Publish coverage results online via coveralls.io
+Publish coverage results online via coveralls.io.
Puts your coverage results on coveralls.io for everyone to see.
@@ -25,6 +25,7 @@
-v --verbose Print extra info, always enabled when debugging.
Example:
+-------
$ coveralls
Submitting coverage to coveralls.io...
Coverage submitted!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/coveralls/git.py
new/coveralls-python-2.0.0/coveralls/git.py
--- old/coveralls-python-1.11.1/coveralls/git.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/coveralls/git.py 2020-04-07 04:53:40.000000000
+0200
@@ -18,20 +18,14 @@
'command return code {}, STDOUT: "{}"\nSTDERR: "{}"'.format(
cmd.returncode, stdout, stderr))
- try:
- return stdout.decode().strip()
- except UnicodeDecodeError:
- return stdout.decode('utf-8').strip()
+ return stdout.decode().strip()
def gitlog(fmt):
glog = run_command('git', '--no-pager', 'log', '-1',
'--pretty=format:{}'.format(fmt))
- try:
- return str(glog)
- except UnicodeEncodeError:
- return unicode(glog) # pylint: disable=undefined-variable
+ return str(glog)
def git_branch():
@@ -62,6 +56,7 @@
A hash of Git data that can be used to display more information to users.
Example:
+ -------
"git": {
"head": {
"id": "5e837ce92220be64821128a70f6093f836dd2c05",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/coveralls/reporter.py
new/coveralls-python-2.0.0/coveralls/reporter.py
--- old/coveralls-python-1.11.1/coveralls/reporter.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/coveralls/reporter.py 2020-04-07
04:53:40.000000000 +0200
@@ -1,21 +1,16 @@
-# coding: utf-8
import logging
import os
-import sys
from coverage import __version__
from coverage.misc import NoSource
from coverage.misc import NotPython
-from coverage.phystokens import source_encoding
-
-from .exception import CoverallsException
log = logging.getLogger('coveralls.reporter')
-class CoverallReporter(object):
- """Custom coverage.py reporter for coveralls.io"""
+class CoverallReporter:
+ """Custom coverage.py reporter for coveralls.io."""
def __init__(self, cov, conf):
self.coverage = []
@@ -52,7 +47,7 @@
# if str(e) != 'No data to report.':
# raise
- from coverage.files import FnmatchMatcher, prep_patterns
+ from coverage.files import FnmatchMatcher, prep_patterns # pylint:
disable=import-outside-toplevel
# get_analysis_to_report starts here; changes marked with TODOs
file_reporters = cov._get_file_reporters(None) # pylint: disable=W0212
@@ -90,7 +85,7 @@
msg = "Couldn't parse Python file '{}'".format(
fr.filename)
cov._warn(msg, # pylint: disable=W0212
- slug="couldnt-parse")
+ slug='couldnt-parse')
else:
# TODO: deprecate changes
# raise
@@ -103,31 +98,19 @@
def report(self, cov, conf, morfs=None):
"""
- Generate a part of json report for coveralls
+ Generate a part of json report for coveralls.
`morfs` is a list of modules or filenames.
`outfile` is a file object to write the json to.
"""
# pylint: disable=too-many-branches
try:
- from coverage.report import Reporter
+ from coverage.report import Reporter # pylint:
disable=import-outside-toplevel
self.reporter = Reporter(cov, conf)
except ImportError: # coverage >= 5.0
return self.report5(cov)
- units = None
- if hasattr(self.reporter, 'find_code_units'):
- self.reporter.find_code_units(morfs)
- else:
- units = self.reporter.find_file_reporters(morfs)
-
- if units is None:
- if hasattr(self.reporter, 'code_units'):
- units = self.reporter.code_units
- else:
- units = self.reporter.file_reporters
-
- for cu in units:
+ for cu in self.reporter.find_file_reporters(morfs):
try:
_fn = self.reporter.coverage._analyze # pylint: disable=W0212
analyzed = _fn(cu)
@@ -141,18 +124,6 @@
if (cu.should_be_python()
and not self.reporter.config.ignore_errors):
log.warning('Source file is not python %s', cu.filename)
- except KeyError:
- version = [int(x) for x in __version__.split('.')]
- cov3x = version[0] < 4
- cov40 = version[0] == 4 and version[1] < 1
- if cov3x or cov40:
- raise CoverallsException(
- 'Old (<4.1) versions of coverage.py do not work '
- 'consistently on new versions of Python. Please '
- 'upgrade your coverage.py.'
- )
-
- raise
return self.coverage
@@ -210,40 +181,16 @@
return branches
def parse_file(self, cu, analysis):
- """Generate data for single file"""
- if hasattr(analysis, 'parser'):
- filename = cu.file_locator.relative_filename(cu.filename)
- source_lines = analysis.parser.lines
- with cu.source_file() as source_file:
- source = source_file.read()
-
- try:
- if sys.version_info < (3, 0):
- encoding = source_encoding(source)
- if encoding != 'utf-8':
- source = source.decode(encoding).encode('utf-8')
- except UnicodeDecodeError:
- log.warning(
- 'Source file %s can not be properly decoded, skipping. '
- 'Please check if encoding declaration is ok',
- os.path.basename(cu.filename))
- return
- else:
- if hasattr(cu, 'relative_filename'):
- filename = cu.relative_filename()
- else:
- filename = analysis.coverage.file_locator.relative_filename(
- cu.filename)
+ """Generate data for single file."""
+ filename = cu.relative_filename()
+ # ensure results are properly merged between platforms
+ posix_filename = filename.replace(os.path.sep, '/')
- token_lines = analysis.file_reporter.source_token_lines()
- source_lines = list(enumerate(token_lines))
- source = analysis.file_reporter.source()
+ source = analysis.file_reporter.source()
+ token_lines = analysis.file_reporter.source_token_lines()
coverage_lines = [self.get_hits(i, analysis)
- for i in range(1, len(source_lines) + 1)]
-
- # ensure results are properly merged between platforms
- posix_filename = filename.replace(os.path.sep, '/')
+ for i, _ in enumerate(token_lines, 1)]
results = {
'name': posix_filename,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/coveralls/version.py
new/coveralls-python-2.0.0/coveralls/version.py
--- old/coveralls-python-1.11.1/coveralls/version.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/coveralls/version.py 2020-04-07
04:53:40.000000000 +0200
@@ -1 +1 @@
-__version__ = '1.11.1'
+__version__ = '2.0.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/docs/conf.py
new/coveralls-python-2.0.0/docs/conf.py
--- old/coveralls-python-1.11.1/docs/conf.py 2020-02-15 01:13:01.000000000
+0100
+++ new/coveralls-python-2.0.0/docs/conf.py 2020-04-07 04:53:40.000000000
+0200
@@ -1,9 +1,7 @@
#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
from coveralls import __version__
-# -- General configuration ------------------------------------------------
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.githubpages',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/docs/usage/tox.rst
new/coveralls-python-2.0.0/docs/usage/tox.rst
--- old/coveralls-python-1.11.1/docs/usage/tox.rst 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/docs/usage/tox.rst 2020-04-07
04:53:40.000000000 +0200
@@ -6,7 +6,7 @@
For example, on TravisCI::
[tox]
- envlist = py27,py34,py35,py36
+ envlist = py34,py35,py36,py37,py38
[testenv]
passenv = TRAVIS TRAVIS_*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/example/__init__.py
new/coveralls-python-2.0.0/example/__init__.py
--- old/coveralls-python-1.11.1/example/__init__.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/example/__init__.py 2020-04-07
04:53:40.000000000 +0200
@@ -1 +0,0 @@
-# coding: utf-8
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/example/project.py
new/coveralls-python-2.0.0/example/project.py
--- old/coveralls-python-1.11.1/example/project.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/example/project.py 2020-04-07
04:53:40.000000000 +0200
@@ -1,11 +1,8 @@
-# coding: utf-8
-
-
def hello():
print('world')
-class Foo(object):
+class Foo:
""" Bar """
@@ -16,4 +13,4 @@
if cond1:
print('condition tested both ways')
if cond2:
- print('condition not tested both ways')
\ No newline at end of file
+ print('condition not tested both ways')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/example/runtests.py
new/coveralls-python-2.0.0/example/runtests.py
--- old/coveralls-python-1.11.1/example/runtests.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/example/runtests.py 2020-04-07
04:53:40.000000000 +0200
@@ -1,7 +1,7 @@
-# coding: utf-8
-from project import hello, branch
+from project import branch
+from project import hello
if __name__ == '__main__':
hello()
branch(False, True)
- branch(True, True)
\ No newline at end of file
+ branch(True, True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/nonunicode/__init__.py
new/coveralls-python-2.0.0/nonunicode/__init__.py
--- old/coveralls-python-1.11.1/nonunicode/__init__.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/nonunicode/__init__.py 2020-04-07
04:53:40.000000000 +0200
@@ -1 +0,0 @@
-# coding: utf-8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/setup.py
new/coveralls-python-2.0.0/setup.py
--- old/coveralls-python-1.11.1/setup.py 2020-02-15 01:13:01.000000000
+0100
+++ new/coveralls-python-2.0.0/setup.py 2020-04-07 04:53:40.000000000 +0200
@@ -9,7 +9,7 @@
DESCRIPTION = open('README.rst').read()
VERSION = None
-with open(VERSION_FILE, 'r') as f:
+with open(VERSION_FILE) as f:
VERSION = f.read().split()[2][1:-1]
@@ -32,17 +32,15 @@
'coveralls = coveralls.cli:main',
],
},
+ python_requires='>= 3.5',
install_requires=[
- 'coverage>=3.6,<6.0',
+ 'coverage>=4.1,<6.0',
'docopt>=0.6.1',
'requests>=1.0.0',
],
tests_require=['mock', 'pytest'],
extras_require={
- # N.B. PyYAML 5.3 dropped support for Python 3.4... which we should
- # also do...
- 'yaml': ['PyYAML>=3.10,<5.3'],
- ':python_version < "3"': ['urllib3[secure]'],
+ 'yaml': ['PyYAML>=3.10'],
},
classifiers=[
'Development Status :: 5 - Production/Stable',
@@ -51,8 +49,6 @@
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent',
'Programming Language :: Python',
- 'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/tests/__init__.py
new/coveralls-python-2.0.0/tests/__init__.py
--- old/coveralls-python-1.11.1/tests/__init__.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/tests/__init__.py 2020-04-07
04:53:40.000000000 +0200
@@ -1 +0,0 @@
-# coding: utf8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/tests/api/__init__.py
new/coveralls-python-2.0.0/tests/api/__init__.py
--- old/coveralls-python-1.11.1/tests/api/__init__.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/tests/api/__init__.py 2020-04-07
04:53:40.000000000 +0200
@@ -1 +0,0 @@
-# coding: utf8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/coveralls-python-1.11.1/tests/api/configuration_test.py
new/coveralls-python-2.0.0/tests/api/configuration_test.py
--- old/coveralls-python-1.11.1/tests/api/configuration_test.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/tests/api/configuration_test.py 2020-04-07
04:53:40.000000000 +0200
@@ -1,4 +1,3 @@
-# coding: utf-8
# pylint: disable=no-self-use
import os
import shutil
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/tests/api/encoding_test.py
new/coveralls-python-2.0.0/tests/api/encoding_test.py
--- old/coveralls-python-1.11.1/tests/api/encoding_test.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/tests/api/encoding_test.py 2020-04-07
04:53:40.000000000 +0200
@@ -1,12 +1,6 @@
-# coding: utf-8
import json
-import logging
import os
import subprocess
-import sys
-
-import coverage
-import pytest
from coveralls import Coveralls
@@ -27,23 +21,6 @@
assert expected_json_part in actual_json
[email protected](sys.version_info >= (3, 0), reason='python 3 not affected')
[email protected](coverage.__version__.startswith('4.'),
- reason='coverage 4 not affected')
-def test_malformed_encoding_declaration(capfd):
- os.chdir(NONUNICODE_DIR)
- subprocess.call(['coverage', 'run', 'malformed.py'], cwd=NONUNICODE_DIR)
-
- logging.getLogger('coveralls').addHandler(logging.StreamHandler())
- assert Coveralls(repo_token='xxx').get_coverage() == []
-
- _, err = capfd.readouterr()
- assert 'Source file malformed.py can not be properly decoded' in err
-
-
[email protected](sys.version_info < (3, 0), reason='python 2 fails')
[email protected](coverage.__version__.startswith('3.'),
- reason='coverage 3 fails')
def test_malformed_encoding_declaration_py3_or_coverage4():
os.chdir(NONUNICODE_DIR)
subprocess.call(['coverage', 'run', 'malformed.py'], cwd=NONUNICODE_DIR)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/tests/api/reporter_test.py
new/coveralls-python-2.0.0/tests/api/reporter_test.py
--- old/coveralls-python-1.11.1/tests/api/reporter_test.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/tests/api/reporter_test.py 2020-04-07
04:53:40.000000000 +0200
@@ -1,4 +1,3 @@
-# coding: utf-8
# pylint: disable=no-self-use
import os
import subprocess
@@ -32,15 +31,15 @@
pass
def test_reporter(self):
- subprocess.call(['coverage', 'run', 'runtests.py'], cwd=EXAMPLE_DIR)
+ subprocess.call(['coverage', 'run', '--omit=**/.tox/*',
+ 'runtests.py'], cwd=EXAMPLE_DIR)
results = Coveralls(repo_token='xxx').get_coverage()
assert len(results) == 2
assert_coverage(results[0], {
- 'source': ('# coding: utf-8\n\n\n'
- 'def hello():\n'
+ 'source': ('def hello():\n'
' print(\'world\')\n\n\n'
- 'class Foo(object):\n'
+ 'class Foo:\n'
' """ Bar """\n\n\n'
'def baz():\n'
' print(\'this is not tested\')\n\n'
@@ -48,24 +47,24 @@
' if cond1:\n'
' print(\'condition tested both ways\')\n'
' if cond2:\n'
- ' print(\'condition not tested both ways\')'),
+ ' print(\'condition not tested both ways\')\n'),
'name': 'project.py',
- 'coverage': [None, None, None, 1, 1, None, None, 1, None, None,
+ 'coverage': [1, 1, None, None, 1, None, None,
None, 1, 0, None, 1, 1, 1, 1, 1]})
assert_coverage(results[1], {
- 'source': ('# coding: utf-8\n'
- 'from project import hello, branch\n\n'
+ 'source': ('from project import branch\n'
+ 'from project import hello\n\n'
"if __name__ == '__main__':\n"
' hello()\n'
' branch(False, True)\n'
- ' branch(True, True)'),
+ ' branch(True, True)\n'),
'name': 'runtests.py',
- 'coverage': [None, 1, None, 1, 1, 1, 1]})
+ 'coverage': [1, 1, None, 1, 1, 1, 1]})
def test_reporter_with_branches(self):
- subprocess.call(['coverage', 'run', '--branch', 'runtests.py'],
- cwd=EXAMPLE_DIR)
+ subprocess.call(['coverage', 'run', '--branch', '--omit=**/.tox/*',
+ 'runtests.py'], cwd=EXAMPLE_DIR)
results = Coveralls(repo_token='xxx').get_coverage()
assert len(results) == 2
@@ -74,10 +73,9 @@
assert not len(results[1]['branches']) % 4
assert_coverage(results[0], {
- 'source': ('# coding: utf-8\n\n\n'
- 'def hello():\n'
+ 'source': ('def hello():\n'
' print(\'world\')\n\n\n'
- 'class Foo(object):\n'
+ 'class Foo:\n'
' """ Bar """\n\n\n'
'def baz():\n'
' print(\'this is not tested\')\n\n'
@@ -85,28 +83,29 @@
' if cond1:\n'
' print(\'condition tested both ways\')\n'
' if cond2:\n'
- ' print(\'condition not tested both ways\')'),
+ ' print(\'condition not tested both ways\')\n'),
'name': 'project.py',
- 'branches': [16, 0, 17, 1, 16, 0, 18, 1, 18, 0, 19, 1, 18, 0, 15,
+ 'branches': [13, 0, 14, 1, 13, 0, 15, 1, 15, 0, 16, 1, 15, 0, 12,
0],
- 'coverage': [None, None, None, 1, 1, None, None, 1, None, None,
+ 'coverage': [1, 1, None, None, 1, None, None,
None, 1, 0, None, 1, 1, 1, 1, 1]})
assert_coverage(results[1], {
- 'source': ('# coding: utf-8\n'
- 'from project import hello, branch\n\n'
+ 'source': ('from project import branch\n'
+ 'from project import hello\n\n'
"if __name__ == '__main__':\n"
' hello()\n'
' branch(False, True)\n'
- ' branch(True, True)'),
+ ' branch(True, True)\n'),
'name': 'runtests.py',
- 'branches': [4, 0, 5, 1, 4, 0, 2, 0],
- 'coverage': [None, 1, None, 1, 1, 1, 1]})
+ 'branches': [4, 0, 5, 1, 4, 0, 1, 0],
+ 'coverage': [1, 1, None, 1, 1, 1, 1]})
def test_missing_file(self):
with open('extra.py', 'w') as f:
f.write('print("Python rocks!")\n')
- subprocess.call(['coverage', 'run', 'extra.py'], cwd=EXAMPLE_DIR)
+ subprocess.call(['coverage', 'run', '--omit=**/.tox/*',
+ 'extra.py'], cwd=EXAMPLE_DIR)
try:
os.remove('extra.py')
except Exception:
@@ -116,7 +115,8 @@
def test_not_python(self):
with open('extra.py', 'w') as f:
f.write('print("Python rocks!")\n')
- subprocess.call(['coverage', 'run', 'extra.py'], cwd=EXAMPLE_DIR)
+ subprocess.call(['coverage', 'run', '--omit=**/.tox/*',
+ 'extra.py'], cwd=EXAMPLE_DIR)
with open('extra.py', 'w') as f:
f.write("<h1>This isn't python!</h1>\n")
assert Coveralls(repo_token='xxx').get_coverage() == []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/tests/api/wear_test.py
new/coveralls-python-2.0.0/tests/api/wear_test.py
--- old/coveralls-python-1.11.1/tests/api/wear_test.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/tests/api/wear_test.py 2020-04-07
04:53:40.000000000 +0200
@@ -1,4 +1,3 @@
-# coding: utf-8
# pylint: disable=no-self-use
import json
import os
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/tests/api_test.py
new/coveralls-python-2.0.0/tests/api_test.py
--- old/coveralls-python-1.11.1/tests/api_test.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/tests/api_test.py 2020-04-07
04:53:40.000000000 +0200
@@ -1,8 +1,8 @@
-# coding: utf-8
import json
import os
import mock
+
from coveralls import Coveralls
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/tests/cli_test.py
new/coveralls-python-2.0.0/tests/cli_test.py
--- old/coveralls-python-1.11.1/tests/cli_test.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/tests/cli_test.py 2020-04-07
04:53:40.000000000 +0200
@@ -1,4 +1,3 @@
-# coding: utf-8
import os
import mock
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/tests/conftest.py
new/coveralls-python-2.0.0/tests/conftest.py
--- old/coveralls-python-1.11.1/tests/conftest.py 1970-01-01
01:00:00.000000000 +0100
+++ new/coveralls-python-2.0.0/tests/conftest.py 2020-04-07
04:53:40.000000000 +0200
@@ -0,0 +1,12 @@
+import os
+
+import pytest
+
+
[email protected](scope='session', autouse=True)
+def nuke_coverage():
+ for folder in ('.', './example', './nonunicode'):
+ try:
+ os.remove('{}/.coverage'.format(folder))
+ except FileNotFoundError:
+ pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/tests/git_test.py
new/coveralls-python-2.0.0/tests/git_test.py
--- old/coveralls-python-1.11.1/tests/git_test.py 2020-02-15
01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/tests/git_test.py 2020-04-07
04:53:40.000000000 +0200
@@ -1,7 +1,4 @@
-# coding: utf-8
# pylint: disable=no-self-use
-from __future__ import unicode_literals
-
import os
import re
import shutil
@@ -77,28 +74,17 @@
assert coveralls.git.gitlog('%s') == GIT_COMMIT_MSG
-def correct_encoding_for_envvars(value):
- """
- Env vars are unicode in Python 3 but bytes in Python 2
- """
- try:
- str(value)
- except UnicodeEncodeError:
- value = value.encode('utf8')
- return value
-
-
class GitInfoTestEnvVars(unittest.TestCase):
@mock.patch.dict(os.environ, {
'GIT_ID': '5e837ce92220be64821128a70f6093f836dd2c05',
'GIT_BRANCH': 'master',
- 'GIT_AUTHOR_NAME': correct_encoding_for_envvars(GIT_NAME),
- 'GIT_AUTHOR_EMAIL': correct_encoding_for_envvars(GIT_EMAIL),
- 'GIT_COMMITTER_NAME': correct_encoding_for_envvars(GIT_NAME),
- 'GIT_COMMITTER_EMAIL': correct_encoding_for_envvars(GIT_EMAIL),
- 'GIT_MESSAGE': correct_encoding_for_envvars(GIT_COMMIT_MSG),
- 'GIT_URL': correct_encoding_for_envvars(GIT_URL),
- 'GIT_REMOTE': correct_encoding_for_envvars(GIT_REMOTE),
+ 'GIT_AUTHOR_NAME': GIT_NAME,
+ 'GIT_AUTHOR_EMAIL': GIT_EMAIL,
+ 'GIT_COMMITTER_NAME': GIT_NAME,
+ 'GIT_COMMITTER_EMAIL': GIT_EMAIL,
+ 'GIT_MESSAGE': GIT_COMMIT_MSG,
+ 'GIT_URL': GIT_URL,
+ 'GIT_REMOTE': GIT_REMOTE,
}, clear=True)
def test_gitlog_envvars(self):
git_info = coveralls.git.git_info()
@@ -108,15 +94,15 @@
assert git_info == {
'git': {
'head': {
- 'committer_email': correct_encoding_for_envvars(GIT_EMAIL),
- 'author_email': correct_encoding_for_envvars(GIT_EMAIL),
- 'author_name': correct_encoding_for_envvars(GIT_NAME),
- 'message': correct_encoding_for_envvars(GIT_COMMIT_MSG),
- 'committer_name': correct_encoding_for_envvars(GIT_NAME),
+ 'committer_email': GIT_EMAIL,
+ 'author_email': GIT_EMAIL,
+ 'author_name': GIT_NAME,
+ 'message': GIT_COMMIT_MSG,
+ 'committer_name': GIT_NAME,
},
'remotes': [{
- 'url': correct_encoding_for_envvars(GIT_URL),
- 'name': correct_encoding_for_envvars(GIT_REMOTE),
+ 'url': GIT_URL,
+ 'name': GIT_REMOTE,
}],
'branch': 'master',
},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/coveralls-python-1.11.1/tox.ini
new/coveralls-python-2.0.0/tox.ini
--- old/coveralls-python-1.11.1/tox.ini 2020-02-15 01:13:01.000000000 +0100
+++ new/coveralls-python-2.0.0/tox.ini 2020-04-07 04:53:40.000000000 +0200
@@ -1,9 +1,8 @@
[tox]
-envlist =
py{27,34,35,py}-cov{3,4,41}-{default,pyyaml},py{36,37,38,py3}-cov{41,5}-{default,pyyaml}
+envlist =
py35-cov41-{default,pyyaml},py{36,37,38,39,py3}-cov{41,5}-{default,pyyaml}
[gh-actions]
python =
- 2.7: py27
3.5: py35
3.6: py36-cov5
3.7: py37-cov5
@@ -16,8 +15,6 @@
mock
pytest
pyyaml: PyYAML>=3.10,<5.3
- cov3: coverage<4.0
- cov4: coverage>=4.0,<4.1
cov41: coverage>=4.1,<5.0
cov5: coverage>=5.0,<6.0
commands =