coveralls-python icon indicating copy to clipboard operation
coveralls-python copied to clipboard

3.3.1: pytest is failing in units which are uning `coverage.files` module (with `coverage` 7.0.1)

Open kloczek opened this issue 2 years ago • 3 comments

I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.

  • python3 -sBm build -w --no-isolation
  • because I'm calling build with --no-isolation I'm using during all processes only locally installed modules
  • install .whl file in </install/prefix>
  • run pytest with PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>

Here is list of installed modules in build env

Package                       Version
----------------------------- -----------------
alabaster                     0.7.12
asn1crypto                    1.5.1
attrs                         22.2.0
Babel                         2.11.0
bcrypt                        3.2.2
build                         0.9.0
cffi                          1.15.1
charset-normalizer            3.0.1
contourpy                     1.0.6
coverage                      7.0.1
cryptography                  38.0.4
cycler                        0.11.0
distro                        1.8.0
docopt                        0.6.2
docutils                      0.19
exceptiongroup                1.0.0
extras                        1.0.0
fixtures                      4.0.0
fonttools                     4.38.0
gpg                           1.18.0-unknown
idna                          3.4
imagesize                     1.4.1
importlib-metadata            5.1.0
iniconfig                     1.1.1
Jinja2                        3.1.2
kiwisolver                    1.4.4
libcomps                      0.1.19
MarkupSafe                    2.1.1
matplotlib                    3.6.2
numpy                         1.24.1
olefile                       0.46
packaging                     21.3
pbr                           5.9.0
pep517                        0.13.0
Pillow                        9.3.0
pip                           22.3.1
pluggy                        1.0.0
ply                           3.11
pyasn1                        0.4.8
pyasn1-modules                0.2.8
pycparser                     2.21
Pygments                      2.13.0
PyGObject                     3.42.2
pyparsing                     3.0.9
pytest                        7.2.0
python-dateutil               2.8.2
pytz                          2022.4
PyYAML                        6.0
requests                      2.28.1
responses                     0.22.0
rpm                           4.17.0
setuptools                    65.6.3
six                           1.16.0
snowballstemmer               2.2.0
Sphinx                        5.3.0
sphinxcontrib-applehelp       1.0.2.dev20221204
sphinxcontrib-devhelp         1.0.2.dev20221204
sphinxcontrib-htmlhelp        2.0.0
sphinxcontrib-jsmath          1.0.1.dev20221204
sphinxcontrib-qthelp          1.0.3.dev20221204
sphinxcontrib-serializinghtml 1.1.5
testtools                     2.5.0
toml                          0.10.2
tomli                         2.0.1
tpm2-pkcs11-tools             1.33.7
tpm2-pytss                    1.1.0
types-toml                    0.10.8
urllib3                       1.26.12
wheel                         0.38.4
zipp                          3.11.0

kloczek avatar Jan 01 '23 15:01 kloczek

Here is pytest output:

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra -m 'not network' -p no:randomly --import-mode=importlib
==================================================================================== test session starts ====================================================================================
platform linux -- Python 3.8.16, pytest-7.2.0, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.1
collected 73 items

tests/api_test.py F                                                                                                                                                                   [  1%]
tests/cli_test.py ..............                                                                                                                                                      [ 20%]
tests/git_test.py .....FFF                                                                                                                                                            [ 31%]
tests/integration_test.py FFF                                                                                                                                                         [ 35%]
tests/api/configuration_test.py .s..................                                                                                                                                  [ 63%]
tests/api/encoding_test.py FF                                                                                                                                                         [ 65%]
tests/api/exception_test.py ...                                                                                                                                                       [ 69%]
tests/api/reporter_test.py FFFFFFFFFF                                                                                                                                                 [ 83%]
tests/api/wear_test.py FFFFFFF.FFFF                                                                                                                                                   [100%]

========================================================================================= FAILURES ==========================================================================================
____________________________________________________________________________________ test_output_to_file ____________________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83de42100>, cov = <coverage.control.Coverage object at 0x7ff83de42850>
conf = <coverage.config.CoverageConfig object at 0x7ff83de42880>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

tmpdir = local('/tmp/pytest-of-tkloczko/pytest-23/test_output_to_file0')

    @mock.patch.dict(os.environ, {}, clear=True)
    def test_output_to_file(tmpdir):
        """Check we can write coveralls report into the file."""
        test_log = tmpdir.join('test.log')
>       Coveralls(repo_token='xxx').save_report(test_log.strpath)

tests/api_test.py:12:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:353: in save_report
    report = self.create_report()
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:332: in create_report
    data = self.create_data()
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:386: in create_data
    self._data = {'source_files': self.get_coverage()}
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83de42100>, cov = <coverage.control.Coverage object at 0x7ff83de42850>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
______________________________________________________________________ GitInfoOverridesTest.test_gitinfo_github_branch ______________________________________________________________________

self = <tests.git_test.GitInfoOverridesTest testMethod=test_gitinfo_github_branch>

    @mock.patch.dict(os.environ, {
        'GITHUB_ACTIONS': 'true',
        'GITHUB_REF': 'refs/heads/master',
        'GITHUB_SHA': 'bb0e00166b28f49db04d6a8b8cb4bddb5afa529f',
        'GITHUB_HEAD_REF': ''
    }, clear=True)
    def test_gitinfo_github_branch(self):
        git_info = coveralls.git.git_info()
>       assert git_info['git']['branch'] == 'master'
E       KeyError: 'git'

tests/git_test.py:153: KeyError
----------------------------------------------------------------------------------- Captured stderr call ------------------------------------------------------------------------------------
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
------------------------------------------------------------------------------------- Captured log call -------------------------------------------------------------------------------------
WARNING  coveralls.git:git.py:111 Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
________________________________________________________________________ GitInfoOverridesTest.test_gitinfo_github_pr ________________________________________________________________________

self = <tests.git_test.GitInfoOverridesTest testMethod=test_gitinfo_github_pr>

    @mock.patch.dict(os.environ, {
        'GITHUB_ACTIONS': 'true',
        'GITHUB_REF': 'refs/pull/1234/merge',
        'GITHUB_SHA': 'bb0e00166b28f49db04d6a8b8cb4bddb5afa529f',
        'GITHUB_HEAD_REF': 'fixup-branch'
    }, clear=True)
    def test_gitinfo_github_pr(self):
        git_info = coveralls.git.git_info()
>       assert git_info['git']['branch'] == 'fixup-branch'
E       KeyError: 'git'

tests/git_test.py:143: KeyError
----------------------------------------------------------------------------------- Captured stderr call ------------------------------------------------------------------------------------
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
------------------------------------------------------------------------------------- Captured log call -------------------------------------------------------------------------------------
WARNING  coveralls.git:git.py:111 Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
_______________________________________________________________________ GitInfoOverridesTest.test_gitinfo_github_tag ________________________________________________________________________

self = <tests.git_test.GitInfoOverridesTest testMethod=test_gitinfo_github_tag>

    @mock.patch.dict(os.environ, {
        'GITHUB_ACTIONS': 'true',
        'GITHUB_REF': 'refs/tags/v1.0',
        'GITHUB_SHA': 'bb0e00166b28f49db04d6a8b8cb4bddb5afa529f',
        'GITHUB_HEAD_REF': ''
    }, clear=True)
    def test_gitinfo_github_tag(self):
        git_info = coveralls.git.git_info()
>       assert git_info['git']['branch'] == 'v1.0'
E       KeyError: 'git'

tests/git_test.py:163: KeyError
----------------------------------------------------------------------------------- Captured stderr call ------------------------------------------------------------------------------------
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
------------------------------------------------------------------------------------- Captured log call -------------------------------------------------------------------------------------
WARNING  coveralls.git:git.py:111 Failed collecting git data. Are you running coveralls inside a git repository? Is git installed?
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 82, in git_info
    'id': gitlog('%H'),
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 25, in gitlog
    glog = run_command('git', '--no-pager', 'log', '-1',
  File "/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/git.py", line 17, in run_command
    raise CoverallsException(
coveralls.exception.CoverallsException: command return code 128, STDOUT: "b''"
STDERR: "b'fatal: not a git repository (or any parent up to mount point /home/tkloczko)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).\n'"
__________________________________________________________________________________ IntegrationTest.test_11 __________________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c066c70>, cov = <coverage.control.Coverage object at 0x7ff83c0669a0>
conf = <coverage.config.CoverageConfig object at 0x7ff83c0662b0>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.integration_test.IntegrationTest testMethod=test_11>

    @unittest.mock.patch.dict(os.environ, gitinfo, clear=True)
    def test_11(self):
>       self._test_harness(11, 9)

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.1/tests/integration_test.py:74:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.1/tests/integration_test.py:52: in _test_harness
    report = coverallz.create_data()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:386: in create_data
    self._data = {'source_files': self.get_coverage()}
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c066c70>, cov = <coverage.control.Coverage object at 0x7ff83c0669a0>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------
Other 0
Other 1
Other 2
Other 3
Hit 1 4
Other 5
Hit 2 6
Other 7
Other 8
Other 9
Other 10
__________________________________________________________________________________ IntegrationTest.test_5 ___________________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c00ba00>, cov = <coverage.control.Coverage object at 0x7ff83c00bee0>
conf = <coverage.config.CoverageConfig object at 0x7ff83c00bf70>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.integration_test.IntegrationTest testMethod=test_5>

    @unittest.mock.patch.dict(os.environ, gitinfo, clear=True)
    def test_5(self):
>       self._test_harness(5, 8)

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.1/tests/integration_test.py:66:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.1/tests/integration_test.py:52: in _test_harness
    report = coverallz.create_data()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:386: in create_data
    self._data = {'source_files': self.get_coverage()}
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c00ba00>, cov = <coverage.control.Coverage object at 0x7ff83c00bee0>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------
Other 0
Other 1
Other 2
Other 3
Hit 1 4
__________________________________________________________________________________ IntegrationTest.test_7 ___________________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c1b7340>, cov = <coverage.control.Coverage object at 0x7ff83c1b7310>
conf = <coverage.config.CoverageConfig object at 0x7ff83c1b7070>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.integration_test.IntegrationTest testMethod=test_7>

    @unittest.mock.patch.dict(os.environ, gitinfo, clear=True)
    def test_7(self):
>       self._test_harness(7, 9)

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.1/tests/integration_test.py:70:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.1/tests/integration_test.py:52: in _test_harness
    report = coverallz.create_data()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:386: in create_data
    self._data = {'source_files': self.get_coverage()}
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c1b7340>, cov = <coverage.control.Coverage object at 0x7ff83c1b7310>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------
Other 0
Other 1
Other 2
Other 3
Hit 1 4
Other 5
Hit 2 6
_____________________________________________________________ EncodingTest.test_malformed_encoding_declaration_py3_or_coverage4 _____________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c052b50>, cov = <coverage.control.Coverage object at 0x7ff83c04cca0>
conf = <coverage.config.CoverageConfig object at 0x7ff83c04c5b0>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

    @staticmethod
    def test_malformed_encoding_declaration_py3_or_coverage4():
        os.chdir(NONUNICODE_DIR)
        subprocess.call(['coverage', 'run', 'malformed.py'],
                        cwd=NONUNICODE_DIR)

>       result = Coveralls(repo_token='xxx').get_coverage()

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.1/tests/api/encoding_test.py:41:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c052b50>, cov = <coverage.control.Coverage object at 0x7ff83c04cca0>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
_______________________________________________________________________________ EncodingTest.test_non_unicode _______________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c08f520>, cov = <coverage.control.Coverage object at 0x7ff83c08f610>
conf = <coverage.config.CoverageConfig object at 0x7ff83c08f400>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

    @staticmethod
    def test_non_unicode():
        os.chdir(NONUNICODE_DIR)
        subprocess.call(['coverage', 'run', 'nonunicode.py'],
                        cwd=NONUNICODE_DIR)

>       actual_json = json.dumps(Coveralls(repo_token='xxx').get_coverage())

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.1/tests/api/encoding_test.py:28:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c08f520>, cov = <coverage.control.Coverage object at 0x7ff83c08f610>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
______________________________________________________________________________ ReporterTest.test_missing_file _______________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c109310>, cov = <coverage.control.Coverage object at 0x7ff83c109df0>
conf = <coverage.config.CoverageConfig object at 0x7ff83c109ca0>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.reporter_test.ReporterTest testMethod=test_missing_file>

    def test_missing_file(self):
        with open('extra.py', 'w') as f:
            f.write('print("Python rocks!")\n')
        subprocess.call(['coverage', 'run', '--omit=**/.tox/*',
                         'extra.py'], cwd=EXAMPLE_DIR)
        try:
            os.remove('extra.py')
        except Exception:
            pass
>       assert Coveralls(repo_token='xxx').get_coverage() == []

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.1/tests/api/reporter_test.py:189:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c109310>, cov = <coverage.control.Coverage object at 0x7ff83c109df0>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------
Python rocks!
_______________________________________________________________________________ ReporterTest.test_not_python ________________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c042af0>, cov = <coverage.control.Coverage object at 0x7ff83c042a60>
conf = <coverage.config.CoverageConfig object at 0x7ff83c042a00>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.reporter_test.ReporterTest testMethod=test_not_python>

    def test_not_python(self):
        with open('extra.py', 'w') as f:
            f.write('print("Python rocks!")\n')
        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() == []

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.1/tests/api/reporter_test.py:198:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c042af0>, cov = <coverage.control.Coverage object at 0x7ff83c042a60>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------
Python rocks!
________________________________________________________________________________ ReporterTest.test_reporter _________________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c11f610>, cov = <coverage.control.Coverage object at 0x7ff83bef9c40>
conf = <coverage.config.CoverageConfig object at 0x7ff83bef9df0>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.reporter_test.ReporterTest testMethod=test_reporter>

    def test_reporter(self):
        subprocess.call(['coverage', 'run', '--omit=**/.tox/*',
                         'runtests.py'], cwd=EXAMPLE_DIR)
>       results = Coveralls(repo_token='xxx').get_coverage()

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.1/tests/api/reporter_test.py:75:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c11f610>, cov = <coverage.control.Coverage object at 0x7ff83bef9c40>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------
world
condition not tested both ways
condition tested both ways
condition not tested both ways
________________________________________________________________________ ReporterTest.test_reporter_no_base_dir_arg _________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c042af0>, cov = <coverage.control.Coverage object at 0x7ff83bf44ca0>
conf = <coverage.config.CoverageConfig object at 0x7ff83bf44c40>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.reporter_test.ReporterTest testMethod=test_reporter_no_base_dir_arg>

    def test_reporter_no_base_dir_arg(self):
        subprocess.call(['coverage', 'run', '--omit=**/.tox/*',
                         'example/runtests.py'], cwd=BASE_DIR)

        # without base_dir arg, file name is prefixed with 'example/'
        os.chdir(BASE_DIR)
>       results = Coveralls(repo_token='xxx').get_coverage()

tests/api/reporter_test.py:88:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c042af0>, cov = <coverage.control.Coverage object at 0x7ff83bf44ca0>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------
world
condition not tested both ways
condition tested both ways
condition not tested both ways
_______________________________________________________________________ ReporterTest.test_reporter_with_base_dir_arg ________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83be96c10>, cov = <coverage.control.Coverage object at 0x7ff83be96940>
conf = <coverage.config.CoverageConfig object at 0x7ff83be965e0>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.reporter_test.ReporterTest testMethod=test_reporter_with_base_dir_arg>

    def test_reporter_with_base_dir_arg(self):
        subprocess.call(['coverage', 'run', '--omit=**/.tox/*',
                         'example/runtests.py'], cwd=BASE_DIR)

        # without base_dir arg, file name is prefixed with 'example/'
        os.chdir(BASE_DIR)
>       results = Coveralls(repo_token='xxx',
                            base_dir='example').get_coverage()

tests/api/reporter_test.py:101:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83be96c10>, cov = <coverage.control.Coverage object at 0x7ff83be96940>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------
world
condition not tested both ways
condition tested both ways
condition not tested both ways
___________________________________________________________________ ReporterTest.test_reporter_with_base_dir_trailing_sep ___________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c03b580>, cov = <coverage.control.Coverage object at 0x7ff83c03b1c0>
conf = <coverage.config.CoverageConfig object at 0x7ff83c03b670>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.reporter_test.ReporterTest testMethod=test_reporter_with_base_dir_trailing_sep>

    def test_reporter_with_base_dir_trailing_sep(self):
        subprocess.call(['coverage', 'run', '--omit=**/.tox/*',
                         'example/runtests.py'], cwd=BASE_DIR)

        # without base_dir arg, file name is prefixed with 'example/'
        os.chdir(BASE_DIR)
>       results = Coveralls(repo_token='xxx',
                            base_dir='example/').get_coverage()

tests/api/reporter_test.py:115:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c03b580>, cov = <coverage.control.Coverage object at 0x7ff83c03b1c0>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------
world
condition not tested both ways
condition tested both ways
condition not tested both ways
______________________________________________________________ ReporterTest.test_reporter_with_both_base_dir_and_src_dir_args _______________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83bef7970>, cov = <coverage.control.Coverage object at 0x7ff83c11f100>
conf = <coverage.config.CoverageConfig object at 0x7ff83c11f1c0>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.reporter_test.ReporterTest testMethod=test_reporter_with_both_base_dir_and_src_dir_args>

    def test_reporter_with_both_base_dir_and_src_dir_args(self):
        subprocess.call(['coverage', 'run', '--omit=**/.tox/*',
                         'example/runtests.py'], cwd=BASE_DIR)

        # without base_dir arg, file name is prefixed with 'example/'
        os.chdir(BASE_DIR)
>       results = Coveralls(repo_token='xxx',
                            base_dir='example',
                            src_dir='src').get_coverage()

tests/api/reporter_test.py:157:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83bef7970>, cov = <coverage.control.Coverage object at 0x7ff83c11f100>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------
world
condition not tested both ways
condition tested both ways
condition not tested both ways
_________________________________________________________________________ ReporterTest.test_reporter_with_branches __________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c03b040>, cov = <coverage.control.Coverage object at 0x7ff83bec1c40>
conf = <coverage.config.CoverageConfig object at 0x7ff83bec1cd0>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.reporter_test.ReporterTest testMethod=test_reporter_with_branches>

    def test_reporter_with_branches(self):
        subprocess.call(['coverage', 'run', '--branch', '--omit=**/.tox/*',
                         'runtests.py'], cwd=EXAMPLE_DIR)
>       results = Coveralls(repo_token='xxx').get_coverage()

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.1/tests/api/reporter_test.py:169:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c03b040>, cov = <coverage.control.Coverage object at 0x7ff83bec1c40>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------
world
condition not tested both ways
condition tested both ways
condition not tested both ways
________________________________________________________________________ ReporterTest.test_reporter_with_src_dir_arg ________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83bef7e80>, cov = <coverage.control.Coverage object at 0x7ff83c08fe20>
conf = <coverage.config.CoverageConfig object at 0x7ff83c08fd00>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.reporter_test.ReporterTest testMethod=test_reporter_with_src_dir_arg>

    def test_reporter_with_src_dir_arg(self):
        subprocess.call(['coverage', 'run', '--omit=**/.tox/*',
                         'example/runtests.py'], cwd=BASE_DIR)

        # without base_dir arg, file name is prefixed with 'example/'
        os.chdir(BASE_DIR)
>       results = Coveralls(repo_token='xxx',
                            src_dir='src').get_coverage()

tests/api/reporter_test.py:129:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83bef7e80>, cov = <coverage.control.Coverage object at 0x7ff83c08fe20>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------
world
condition not tested both ways
condition tested both ways
condition not tested both ways
___________________________________________________________________ ReporterTest.test_reporter_with_src_dir_trailing_sep ____________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83bf191f0>, cov = <coverage.control.Coverage object at 0x7ff83bf193d0>
conf = <coverage.config.CoverageConfig object at 0x7ff83bf19eb0>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.reporter_test.ReporterTest testMethod=test_reporter_with_src_dir_trailing_sep>

    def test_reporter_with_src_dir_trailing_sep(self):
        subprocess.call(['coverage', 'run', '--omit=**/.tox/*',
                         'example/runtests.py'], cwd=BASE_DIR)

        # without base_dir arg, file name is prefixed with 'example/'
        os.chdir(BASE_DIR)
>       results = Coveralls(repo_token='xxx',
                            src_dir='src/').get_coverage()

tests/api/reporter_test.py:143:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83bf191f0>, cov = <coverage.control.Coverage object at 0x7ff83bf193d0>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------
world
condition not tested both ways
condition tested both ways
condition not tested both ways
________________________________________________________________ WearTest.test_api_call_uses_default_host_if_no_env_var_set _________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83de329a0>, cov = <coverage.control.Coverage object at 0x7ff83c00bd60>
conf = <coverage.config.CoverageConfig object at 0x7ff83c00b610>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.wear_test.WearTest testMethod=test_api_call_uses_default_host_if_no_env_var_set>, mock_requests = <MagicMock name='requests' id='140704134167904'>

    @mock.patch.dict(os.environ, {}, clear=True)
    def test_api_call_uses_default_host_if_no_env_var_set(self, mock_requests):
>       coveralls.Coveralls(repo_token='xxx').wear(dry_run=False)

tests/api/wear_test.py:120:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:254: in wear
    json_string = self.create_report()
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:332: in create_report
    data = self.create_data()
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:386: in create_data
    self._data = {'source_files': self.get_coverage()}
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83de329a0>, cov = <coverage.control.Coverage object at 0x7ff83c00bd60>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
__________________________________________________________________ WearTest.test_coveralls_host_env_var_overrides_api_url ___________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c1bd850>, cov = <coverage.control.Coverage object at 0x7ff83c0e1d00>
conf = <coverage.config.CoverageConfig object at 0x7ff83c0e15b0>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.wear_test.WearTest testMethod=test_coveralls_host_env_var_overrides_api_url>, mock_requests = <MagicMock name='requests' id='140704137049856'>

    @mock.patch.dict(
        os.environ,
        {'COVERALLS_HOST': 'https://coveralls.my-enterprise.info',
         'COVERALLS_SKIP_SSL_VERIFY': '1'}, clear=True)
    def test_coveralls_host_env_var_overrides_api_url(self, mock_requests):
>       coveralls.Coveralls(repo_token='xxx').wear(dry_run=False)

tests/api/wear_test.py:113:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:254: in wear
    json_string = self.create_report()
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:332: in create_report
    data = self.create_data()
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:386: in create_data
    self._data = {'source_files': self.get_coverage()}
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c1bd850>, cov = <coverage.control.Coverage object at 0x7ff83c0e1d00>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
____________________________________________________________________________ WearTest.test_coveralls_unavailable ____________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c052be0>, cov = <coverage.control.Coverage object at 0x7ff83c052b50>
conf = <coverage.config.CoverageConfig object at 0x7ff83c0528e0>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.wear_test.WearTest testMethod=test_coveralls_unavailable>, mock_requests = <MagicMock name='requests' id='140704137503552'>

    def test_coveralls_unavailable(self, mock_requests):
        mock_requests.post.return_value.json.side_effect = ValueError
        mock_requests.post.return_value.status_code = 500
        mock_requests.post.return_value.text = '<html>Http 1./1 500</html>'

        with pytest.raises(coveralls.exception.CoverallsException):
>           coveralls.Coveralls(repo_token='xxx').wear()

tests/api/wear_test.py:97:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:254: in wear
    json_string = self.create_report()
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:332: in create_report
    data = self.create_data()
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:386: in create_data
    self._data = {'source_files': self.get_coverage()}
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c052be0>, cov = <coverage.control.Coverage object at 0x7ff83c052b50>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
___________________________________________________________________________________ WearTest.test_dry_run ___________________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c03b250>, cov = <coverage.control.Coverage object at 0x7ff83c03bd90>
conf = <coverage.config.CoverageConfig object at 0x7ff83c03b580>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.wear_test.WearTest testMethod=test_dry_run>, mock_requests = <MagicMock name='requests' id='140704134307216'>

    def test_dry_run(self, mock_requests):
        mock_requests.post.return_value.json.return_value = EXPECTED

>       result = coveralls.Coveralls(repo_token='xxx').wear(dry_run=True)

tests/api/wear_test.py:80:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:254: in wear
    json_string = self.create_report()
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:332: in create_report
    data = self.create_data()
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:386: in create_data
    self._data = {'source_files': self.get_coverage()}
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c03b250>, cov = <coverage.control.Coverage object at 0x7ff83c03bd90>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
____________________________________________________________________________________ WearTest.test_merge ____________________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c002f10>, cov = <coverage.control.Coverage object at 0x7ff83c002250>
conf = <coverage.config.CoverageConfig object at 0x7ff83c0025b0>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.wear_test.WearTest testMethod=test_merge>, _mock_requests = <MagicMock name='requests' id='140704134239616'>

    def test_merge(self, _mock_requests):
        with tempfile.NamedTemporaryFile() as coverage_file:
            coverage_file.write(
                b'{"source_files": [{"name": "foobar", "coverage": []}]}')
            coverage_file.seek(0)

            api = coveralls.Coveralls(repo_token='xxx')
>           api.merge(coverage_file.name)

tests/api/wear_test.py:42:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:251: in merge
    self.create_data(extra)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:386: in create_data
    self._data = {'source_files': self.get_coverage()}
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c002f10>, cov = <coverage.control.Coverage object at 0x7ff83c002250>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
______________________________________________________________________________ WearTest.test_merge_empty_data _______________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c042d90>, cov = <coverage.control.Coverage object at 0x7ff83c046940>
conf = <coverage.config.CoverageConfig object at 0x7ff83c0463d0>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.wear_test.WearTest testMethod=test_merge_empty_data>, _mock_requests = <MagicMock name='requests' id='140704135782656'>

    def test_merge_empty_data(self, _mock_requests):
        with tempfile.NamedTemporaryFile() as coverage_file:
            coverage_file.write(b'{}')
            coverage_file.seek(0)

            api = coveralls.Coveralls(repo_token='xxx')
>           api.merge(coverage_file.name)

tests/api/wear_test.py:54:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:251: in merge
    self.create_data(extra)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:386: in create_data
    self._data = {'source_files': self.get_coverage()}
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c042d90>, cov = <coverage.control.Coverage object at 0x7ff83c046940>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
_____________________________________________________________________________ WearTest.test_merge_invalid_data ______________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c209ca0>, cov = <coverage.control.Coverage object at 0x7ff83c209190>
conf = <coverage.config.CoverageConfig object at 0x7ff83c2092b0>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.wear_test.WearTest testMethod=test_merge_invalid_data>, mock_logger = <MagicMock name='warning' id='140704134379600'>
_mock_requests = <MagicMock name='requests' id='140704133886544'>

    @mock.patch.object(log, 'warning')
    def test_merge_invalid_data(self, mock_logger, _mock_requests):
        with tempfile.NamedTemporaryFile() as coverage_file:
            coverage_file.write(b'{"random": "stuff"}')
            coverage_file.seek(0)

            api = coveralls.Coveralls(repo_token='xxx')
>           api.merge(coverage_file.name)

tests/api/wear_test.py:67:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:251: in merge
    self.create_data(extra)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:386: in create_data
    self._data = {'source_files': self.get_coverage()}
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c209ca0>, cov = <coverage.control.Coverage object at 0x7ff83c209190>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
____________________________________________________________________ WearTest.test_repo_token_in_not_compromised_verbose ____________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c1cdeb0>, cov = <coverage.control.Coverage object at 0x7ff83c1c8f70>
conf = <coverage.config.CoverageConfig object at 0x7ff83c1c87f0>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.wear_test.WearTest testMethod=test_repo_token_in_not_compromised_verbose>, mock_logger = <MagicMock name='debug' id='140704166915040'>
mock_requests = <MagicMock name='requests' id='140704135487792'>

    @mock.patch.object(log, 'debug')
    def test_repo_token_in_not_compromised_verbose(self, mock_logger,
                                                   mock_requests):
        mock_requests.post.return_value.json.return_value = EXPECTED

>       coveralls.Coveralls(repo_token='xxx').wear(dry_run=True)

tests/api/wear_test.py:88:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:254: in wear
    json_string = self.create_report()
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:332: in create_report
    data = self.create_data()
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:386: in create_data
    self._data = {'source_files': self.get_coverage()}
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c1cdeb0>, cov = <coverage.control.Coverage object at 0x7ff83c1c8f70>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
_________________________________________________________________________ WearTest.test_submit_report_resubmission __________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83bef98e0>, cov = <coverage.control.Coverage object at 0x7ff83bef9a60>
conf = <coverage.config.CoverageConfig object at 0x7ff83bef9df0>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.wear_test.WearTest testMethod=test_submit_report_resubmission>, mock_requests = <MagicMock name='requests' id='140704135522864'>

    @mock.patch.dict(os.environ, {}, clear=True)
    def test_submit_report_resubmission(self, mock_requests):
        # This would trigger the resubmission condition
        mock_requests.post.return_value.status_code = 422
>       result = coveralls.Coveralls(repo_token='xxx').wear(dry_run=False)

tests/api/wear_test.py:128:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:254: in wear
    json_string = self.create_report()
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:332: in create_report
    data = self.create_data()
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:386: in create_data
    self._data = {'source_files': self.get_coverage()}
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83bef98e0>, cov = <coverage.control.Coverage object at 0x7ff83bef9a60>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
______________________________________________________________________ WearTest.test_submit_report_resubmission_github ______________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c08fb50>, cov = <coverage.control.Coverage object at 0x7ff83c08fa30>
conf = <coverage.config.CoverageConfig object at 0x7ff83c08f9d0>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.wear_test.WearTest testMethod=test_submit_report_resubmission_github>, mock_requests = <MagicMock name='requests' id='140704134223712'>

    @mock.patch.dict(
        os.environ,
        {'GITHUB_REPOSITORY': 'test/repo'},
        clear=True)
    def test_submit_report_resubmission_github(self, mock_requests):
        # This would trigger the resubmission condition, for github
        mock_requests.post.return_value.status_code = 422
>       result = coveralls.Coveralls(repo_token='xxx').wear(dry_run=False)

tests/api/wear_test.py:143:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:254: in wear
    json_string = self.create_report()
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:332: in create_report
    data = self.create_data()
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:386: in create_data
    self._data = {'source_files': self.get_coverage()}
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c08fb50>, cov = <coverage.control.Coverage object at 0x7ff83c08fa30>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
___________________________________________________________________________________ WearTest.test_wet_run ___________________________________________________________________________________

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c03d790>, cov = <coverage.control.Coverage object at 0x7ff83c03dd60>
conf = <coverage.config.CoverageConfig object at 0x7ff83c03d640>, morfs = None

    def report(self, cov, conf, morfs=None):
        """
        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  # pylint: disable=import-outside-toplevel
E           ImportError: cannot import name 'Reporter' from 'coverage.report' (/usr/lib64/python3.8/site-packages/coverage/report.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:122: ImportError

During handling of the above exception, another exception occurred:

self = <tests.api.wear_test.WearTest testMethod=test_wet_run>, mock_requests = <MagicMock name='requests' id='140704133625840'>

    def test_wet_run(self, mock_requests):
        mock_requests.post.return_value.json.return_value = EXPECTED

>       result = coveralls.Coveralls(repo_token='xxx').wear(dry_run=False)

tests/api/wear_test.py:32:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:254: in wear
    json_string = self.create_report()
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:332: in create_report
    data = self.create_data()
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:386: in create_data
    self._data = {'source_files': self.get_coverage()}
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:406: in get_coverage
    return CoverallReporter(workman, workman.config, base_dir,
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:23: in __init__
    self.report(cov, conf)
../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:125: in report
    return self.report5(cov)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <coveralls.reporter.CoverallReporter object at 0x7ff83c03d790>, cov = <coverage.control.Coverage object at 0x7ff83c03dd60>

    def report5(self, cov):
        # N.B. this method is 99% copied from the coverage source code;
        # unfortunately, the coverage v5 style of `get_analysis_to_report`
        # errors out entirely if any source file has issues -- which would be a
        # breaking change for us. In the interest of backwards compatibility,
        # I've copied their code here so we can maintain the same `coveralls`
        # API regardless of which `coverage` version is being used.
        #
        # TODO: deprecate the relevant APIs so we can just use the coverage
        # public API directly.
        #
        # from coverage.report import get_analysis_to_report
        # try:
        #     for cu, analyzed in get_analysis_to_report(cov, None):
        #         self.parse_file(cu, analyzed)
        # except NoSource:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('No source for at least one file')
        # except NotPython:
        #     # Note that this behavior must necessarily change between
        #     # coverage<5 and coverage>=5, as we are no longer interweaving
        #     # with get_analysis_to_report (a single exception breaks the
        #     # whole loop)
        #     log.warning('A source file is not python')
        # except CoverageException as e:
        #     if str(e) != 'No data to report.':
        #         raise

>       from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
E       ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)

../../BUILDROOT/python-coveralls-3.3.1-5.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/reporter.py:64: ImportError
================================================================================== short test summary info ==================================================================================
SKIPPED [1] tests/api/configuration_test.py:42: requires no PyYAML
FAILED tests/api_test.py::test_output_to_file - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/git_test.py::GitInfoOverridesTest::test_gitinfo_github_branch - KeyError: 'git'
FAILED tests/git_test.py::GitInfoOverridesTest::test_gitinfo_github_pr - KeyError: 'git'
FAILED tests/git_test.py::GitInfoOverridesTest::test_gitinfo_github_tag - KeyError: 'git'
FAILED tests/integration_test.py::IntegrationTest::test_11 - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/integration_test.py::IntegrationTest::test_5 - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/integration_test.py::IntegrationTest::test_7 - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/encoding_test.py::EncodingTest::test_malformed_encoding_declaration_py3_or_coverage4 - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/encoding_test.py::EncodingTest::test_non_unicode - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/reporter_test.py::ReporterTest::test_missing_file - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/reporter_test.py::ReporterTest::test_not_python - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/reporter_test.py::ReporterTest::test_reporter - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/reporter_test.py::ReporterTest::test_reporter_no_base_dir_arg - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/reporter_test.py::ReporterTest::test_reporter_with_base_dir_arg - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/reporter_test.py::ReporterTest::test_reporter_with_base_dir_trailing_sep - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/reporter_test.py::ReporterTest::test_reporter_with_both_base_dir_and_src_dir_args - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/reporter_test.py::ReporterTest::test_reporter_with_branches - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/reporter_test.py::ReporterTest::test_reporter_with_src_dir_arg - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/reporter_test.py::ReporterTest::test_reporter_with_src_dir_trailing_sep - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/wear_test.py::WearTest::test_api_call_uses_default_host_if_no_env_var_set - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/wear_test.py::WearTest::test_coveralls_host_env_var_overrides_api_url - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/wear_test.py::WearTest::test_coveralls_unavailable - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/wear_test.py::WearTest::test_dry_run - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/wear_test.py::WearTest::test_merge - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/wear_test.py::WearTest::test_merge_empty_data - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/wear_test.py::WearTest::test_merge_invalid_data - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/wear_test.py::WearTest::test_repo_token_in_not_compromised_verbose - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/wear_test.py::WearTest::test_submit_report_resubmission - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/wear_test.py::WearTest::test_submit_report_resubmission_github - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
FAILED tests/api/wear_test.py::WearTest::test_wet_run - ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/usr/lib64/python3.8/site-packages/coverage/files.py)
========================================================================= 30 failed, 42 passed, 1 skipped in 3.98s ==========================================================================

kloczek avatar Jan 01 '23 15:01 kloczek

Another example:

Run coveralls --service=github
Submitting coverage to coveralls.io...
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.7.[15](https://github.com/dr-prodigy/python-holidays/actions/runs/3809260679/jobs/6480505055#step:6:16)/x64/lib/python3.7/site-packages/coveralls/reporter.py", line 122, in report
    from coverage.report import Reporter  # pylint: disable=import-outside-toplevel
ImportError: cannot import name 'Reporter' from 'coverage.report' (/opt/hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/coverage/report.py)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.7.15/x64/bin/coveralls", line 8, in <module>
    sys.exit(main())
  File "/opt/hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/coveralls/cli.py", line 95, in main
    result = coverallz.wear()
  File "/opt/hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/coveralls/api.py", line 254, in wear
    json_string = self.create_report()
  File "/opt/hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/coveralls/api.py", line 332, in create_report
    data = self.create_data()
  File "/opt/hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/coveralls/api.py", line 386, in create_data
    self._data = {'source_files': self.get_coverage()}
  File "/opt/hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/coveralls/api.py", line 407, in get_coverage
    src_dir).coverage
  File "/opt/hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/coveralls/reporter.py", line [23](https://github.com/dr-prodigy/python-holidays/actions/runs/3809260679/jobs/6480505055#step:6:24), in __init__
    self.report(cov, conf)
  File "/opt/hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/coveralls/reporter.py", line 1[25](https://github.com/dr-prodigy/python-holidays/actions/runs/3809260679/jobs/6480505055#step:6:26), in report
    return self.report5(cov)
  File "/opt/hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/coveralls/reporter.py", line 64, in report5
    from coverage.files import FnmatchMatcher, prep_patterns  # pylint: disable=import-outside-toplevel
ImportError: cannot import name 'FnmatchMatcher' from 'coverage.files' (/opt/hostedtoolcache/Python/3.7.15/x64/lib/python3.7/site-packages/coverage/files.py)
Error: Process completed with exit code 1.

arkid15r avatar Jan 16 '23 20:01 arkid15r

Another example from a GitHub Action:

    The user requested coverage==7.3.1
    coveralls 3.3.1 depends on coverage!=6.0.*, !=6.1, !=6.1.1, <7.0 and >=4.1

Will coveralls not be supporting coverage >=7.0?

jmlarson1 avatar Sep 28 '23 14:09 jmlarson1