GithubHelp home page GithubHelp logo

Comments (5)

kloczek avatar kloczek commented on June 10, 2024

Sorry I was kind of wrong. After deselecting failing unit another 3 failed.
After disable pytest-randomly plugin everuything is fine.

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.2.0-.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.2.0-.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra --import-mode=importlib -p no:randomly
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.12, pytest-6.2.5, py-1.10.0, pluggy-0.13.1
benchmark: 3.4.1 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /home/tkloczko/rpmbuild/BUILD/coveralls-python-3.2.0
plugins: forked-1.3.0, shutil-1.7.0, virtualenv-1.7.0, expect-1.1.0, flake8-1.0.7, timeout-1.4.2, betamax-0.8.1, freezegun-0.4.2, aspectlib-1.5.2, toolbox-0.5, rerunfailures-9.1.1, requests-mock-1.9.3, cov-2.12.1, flaky-3.7.0, benchmark-3.4.1, xdist-2.3.0, pylama-7.7.1, datadir-1.3.1, regressions-2.2.0, cases-3.6.3, xprocess-0.18.1, black-0.3.12, anyio-3.3.0, asyncio-0.15.1, trio-0.7.0, subtests-0.5.0, isort-2.0.0, hypothesis-6.14.6, mock-3.6.1, profiling-1.7.0, Faker-8.12.1, nose2pytest-1.0.8, pyfakefs-4.5.1, tornado-0.8.1, twisted-1.13.3
collected 62 items

tests/api_test.py .                                                                                                                                                  [  1%]
tests/cli_test.py ............                                                                                                                                       [ 20%]
tests/git_test.py .........                                                                                                                                          [ 35%]
tests/api/configuration_test.py .s................                                                                                                                   [ 64%]
tests/api/encoding_test.py ..                                                                                                                                        [ 67%]
tests/api/exception_test.py ...                                                                                                                                      [ 72%]
tests/api/reporter_test.py .......                                                                                                                                   [ 83%]
tests/api/wear_test.py ..........                                                                                                                                    [100%]

========================================================================= short test summary info ==========================================================================
SKIPPED [1] tests/api/configuration_test.py:39: requires no PyYAML
====================================================================== 61 passed, 1 skipped in 10.41s ======================================================================
pytest-xprocess reminder::Be sure to terminate the started process by running 'pytest --xkill' if you have not explicitly done so in your fixture with 'xprocess.getinfo(<process_name>).terminate()'.

Looks like there are some dependencies between units and resufling thrm randomly exposes those dependencies.
This issue can be solved using https://github.com/mrbean-bremen/pytest-find-dependencies/

from coveralls-python.

TheKevJames avatar TheKevJames commented on June 10, 2024

@kloczek thanks for the issue report -- I've managed to track down the issues and they should now be fixed. Please let me know if you see any further issues!

from coveralls-python.

kloczek avatar kloczek commented on June 10, 2024

Just tested 3.3.0 and looks like issue still is around.
Two times executet pytest and two different set of fails

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra --import-mode=importlib
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.12, pytest-6.2.5, py-1.10.0, pluggy-0.13.1
Using --randomly-seed=2315776386
rootdir: /home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.0
plugins: forked-1.3.0, shutil-1.7.0, virtualenv-1.7.0, flake8-1.0.7, xdist-2.3.0, cov-2.12.1, mock-3.6.1, localserver-0.5.0, timeout-2.0.1, flaky-3.7.0, hypothesis-6.14.6, rerunfailures-9.1.1, checkdocs-2.7.1, anyio-3.3.1, tornasync-0.6.0.post2, randomly-3.8.0, freezegun-0.4.2
collected 75 items

tests/api/reporter_test.py ..........                                                                                                                                [ 13%]
tests/api/encoding_test.py ..                                                                                                                                        [ 16%]
tests/cli_test.py ..............                                                                                                                                     [ 35%]
tests/api/wear_test.py ............                                                                                                                                  [ 51%]
tests/api/configuration_test.py s..................                                                                                                                  [ 77%]
tests/integration_test.py ...                                                                                                                                        [ 81%]
tests/git_test.py .........                                                                                                                                          [ 93%]
tests/api_test.py F                                                                                                                                                  [ 94%]
. F                                                                                                                                                                  [ 95%]
tests/api/exception_test.py ...                                                                                                                                      [100%]

================================================================================= FAILURES =================================================================================
___________________________________________________________________________ test_output_to_file ____________________________________________________________________________

tmpdir = local('/tmp/pytest-of-tkloczko/pytest-34/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)

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.0/tests/api_test.py:12:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:351: in save_report
    report = self.create_report()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:330: in create_report
    data = self.create_data()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:384: in create_data
    self._data = {'source_files': self.get_coverage()}
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:399: in get_coverage
    workman.load()
/usr/lib64/python3.8/site-packages/coverage/control.py:436: in load
    self._init()
/usr/lib64/python3.8/site-packages/coverage/control.py:282: in _init
    set_relative_directory()
/usr/lib64/python3.8/site-packages/coverage/files.py:28: in set_relative_directory
    RELATIVE_DIR = os.path.normcase(abs_file(os.curdir) + os.sep)
/usr/lib64/python3.8/site-packages/coverage/files.py:149: in abs_file
    path = os.path.realpath(path)
/usr/lib64/python3.8/posixpath.py:392: in realpath
    return abspath(path)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = ''

    def abspath(path):
        """Return an absolute path."""
        path = os.fspath(path)
        if not isabs(path):
            if isinstance(path, bytes):
                cwd = os.getcwdb()
            else:
>               cwd = os.getcwd()
E               FileNotFoundError: [Errno 2] No such file or directory

/usr/lib64/python3.8/posixpath.py:379: FileNotFoundError
_______________________________________________________________________________ test session _______________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f8cb29fa040>, when = 'call'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(
        cls,
        func: "Callable[[], TResult]",
        when: "Literal['collect', 'setup', 'call', 'teardown']",
        reraise: Optional[
            Union[Type[BaseException], Tuple[Type[BaseException], ...]]
        ] = None,
    ) -> "CallInfo[TResult]":
        excinfo = None
        start = timing.time()
        precise_start = timing.perf_counter()
        try:
>           result: Optional[TResult] = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:311:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

>       lambda: ihook(item=item, **kwds), when=when, reraise=reraise
    )

/usr/lib/python3.8/site-packages/_pytest/runner.py:255:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <_HookCaller 'pytest_runtest_call'>, args = (), kwargs = {'item': <CheckdocsItem project>}, notincall = set()

    def __call__(self, *args, **kwargs):
        if args:
            raise TypeError("hook calling supports only keyword arguments")
        assert not self.is_historic()
        if self.spec and self.spec.argnames:
            notincall = (
                set(self.spec.argnames) - set(["__multicall__"]) - set(kwargs.keys())
            )
            if notincall:
                warnings.warn(
                    "Argument(s) {} which are declared in the hookspec "
                    "can not be found in this hook call".format(tuple(notincall)),
                    stacklevel=2,
                )
>       return self._hookexec(self, self.get_hookimpls(), kwargs)

/usr/lib/python3.8/site-packages/pluggy/hooks.py:286:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <_pytest.config.PytestPluginManager object at 0x7f8d198c1970>, hook = <_HookCaller 'pytest_runtest_call'>
methods = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from '/usr/lib/python3.8/site-packages/_pytest/runner...pper name='/dev/null' mode='r' encoding='UTF-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>>, ...]
kwargs = {'item': <CheckdocsItem project>}

    def _hookexec(self, hook, methods, kwargs):
        # called from all hookcaller instances.
        # enable_tracing will set its own wrapping function at self._inner_hookexec
>       return self._inner_hookexec(hook, methods, kwargs)

/usr/lib/python3.8/site-packages/pluggy/manager.py:93:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

hook = <_HookCaller 'pytest_runtest_call'>
methods = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from '/usr/lib/python3.8/site-packages/_pytest/runner...pper name='/dev/null' mode='r' encoding='UTF-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>>, ...]
kwargs = {'item': <CheckdocsItem project>}

>   self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
        methods,
        kwargs,
        firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
    )

/usr/lib/python3.8/site-packages/pluggy/manager.py:84:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

hook_impls = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from '/usr/lib/python3.8/site-packages/_pytest/runner...pper name='/dev/null' mode='r' encoding='UTF-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>>, ...]
caller_kwargs = {'item': <CheckdocsItem project>}, firstresult = False

    def _multicall(hook_impls, caller_kwargs, firstresult=False):
        """Execute a call into multiple python functions/methods and return the
        result(s).

        ``caller_kwargs`` comes from _HookCaller.__call__().
        """
        __tracebackhide__ = True
        results = []
        excinfo = None
        try:  # run impl and wrapper setup functions in a loop
            teardowns = []
            try:
                for hook_impl in reversed(hook_impls):
                    try:
                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]
                    except KeyError:
                        for argname in hook_impl.argnames:
                            if argname not in caller_kwargs:
                                raise HookCallError(
                                    "hook call must provide argument %r" % (argname,)
                                )

                    if hook_impl.hookwrapper:
                        try:
                            gen = hook_impl.function(*args)
                            next(gen)  # first yield
                            teardowns.append(gen)
                        except StopIteration:
                            _raise_wrapfail(gen, "did not yield")
                    else:
                        res = hook_impl.function(*args)
                        if res is not None:
                            results.append(res)
                            if firstresult:  # halt further impl calls
                                break
            except BaseException:
                excinfo = sys.exc_info()
        finally:
            if firstresult:  # first result hooks return a single value
                outcome = _Result(results[0] if results else None, excinfo)
            else:
                outcome = _Result(results, excinfo)

            # run all wrapper post-yield blocks
            for gen in reversed(teardowns):
                try:
                    gen.send(outcome)
                    _raise_wrapfail(gen, "has second yield")
                except StopIteration:
                    pass

>           return outcome.get_result()

/usr/lib/python3.8/site-packages/pluggy/callers.py:208:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <pluggy.callers._Result object at 0x7f8cb27245e0>

    def get_result(self):
        """Get the result(s) for this hook call.

        If the hook was marked as a ``firstresult`` only a single value
        will be returned otherwise a list of results.
        """
        __tracebackhide__ = True
        if self._excinfo is None:
            return self._result
        else:
            ex = self._excinfo
            if _py3:
>               raise ex[1].with_traceback(ex[2])

/usr/lib/python3.8/site-packages/pluggy/callers.py:80:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

hook_impls = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from '/usr/lib/python3.8/site-packages/_pytest/runner...pper name='/dev/null' mode='r' encoding='UTF-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>>, ...]
caller_kwargs = {'item': <CheckdocsItem project>}, firstresult = False

    def _multicall(hook_impls, caller_kwargs, firstresult=False):
        """Execute a call into multiple python functions/methods and return the
        result(s).

        ``caller_kwargs`` comes from _HookCaller.__call__().
        """
        __tracebackhide__ = True
        results = []
        excinfo = None
        try:  # run impl and wrapper setup functions in a loop
            teardowns = []
            try:
                for hook_impl in reversed(hook_impls):
                    try:
                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]
                    except KeyError:
                        for argname in hook_impl.argnames:
                            if argname not in caller_kwargs:
                                raise HookCallError(
                                    "hook call must provide argument %r" % (argname,)
                                )

                    if hook_impl.hookwrapper:
                        try:
                            gen = hook_impl.function(*args)
                            next(gen)  # first yield
                            teardowns.append(gen)
                        except StopIteration:
                            _raise_wrapfail(gen, "did not yield")
                    else:
>                       res = hook_impl.function(*args)

/usr/lib/python3.8/site-packages/pluggy/callers.py:187:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

item = <CheckdocsItem project>

    def pytest_runtest_call(item: Item) -> None:
        _update_current_test_var(item, "call")
        try:
            del sys.last_type
            del sys.last_value
            del sys.last_traceback
        except AttributeError:
            pass
        try:
            item.runtest()
        except Exception as e:
            # Store trace info to allow postmortem debugging
            sys.last_type = type(e)
            sys.last_value = e
            assert e.__traceback__ is not None
            # Skip *this* frame
            sys.last_traceback = e.__traceback__.tb_next
>           raise e

/usr/lib/python3.8/site-packages/_pytest/runner.py:170:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

item = <CheckdocsItem project>

    def pytest_runtest_call(item: Item) -> None:
        _update_current_test_var(item, "call")
        try:
            del sys.last_type
            del sys.last_value
            del sys.last_traceback
        except AttributeError:
            pass
        try:
>           item.runtest()

/usr/lib/python3.8/site-packages/_pytest/runner.py:162:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <CheckdocsItem project>

    def runtest(self):
>       desc = self.get_long_description()

/usr/lib/python3.8/site-packages/pytest_checkdocs/__init__.py:40:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <CheckdocsItem project>

    def get_long_description(self):
        with _suppress_deprecation():
>           return Description.from_md(ensure_clean(pep517.meta.load('.').metadata))

/usr/lib/python3.8/site-packages/pytest_checkdocs/__init__.py:72:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

root = '.'

    def load(root):
        """
        Given a source directory (root) of a package,
        return an importlib.metadata.Distribution object
        with metadata build from that package.
        """
        root = os.path.expanduser(root)
        system = compat_system(root)
        builder = functools.partial(build, source_dir=root, system=system)
>       path = Path(build_as_zip(builder))

/usr/lib/python3.8/site-packages/pep517/meta.py:71:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

builder = functools.partial(<function build at 0x7f8d17cdb820>, source_dir='.', system={'build-backend': 'setuptools.build_meta:__legacy__', 'requires': ['setuptools', 'wheel']})

    def build_as_zip(builder=build):
        with tempdir() as out_dir:
>           builder(dest=out_dir)

/usr/lib/python3.8/site-packages/pep517/meta.py:58:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

source_dir = '.', dest = '/tmp/tmp_xttoeis', system = {'build-backend': 'setuptools.build_meta:__legacy__', 'requires': ['setuptools', 'wheel']}

    def build(source_dir='.', dest=None, system=None):
        system = system or load_system(source_dir)
        dest = os.path.join(source_dir, dest or 'dist')
        mkdir_p(dest)
        validate_system(system)
>       hooks = Pep517HookCaller(
            source_dir, system['build-backend'], system.get('backend-path')
        )

/usr/lib/python3.8/site-packages/pep517/meta.py:46:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <pep517.wrappers.Pep517HookCaller object at 0x7f8cb27246a0>, source_dir = '.', build_backend = 'setuptools.build_meta:__legacy__', backend_path = None
runner = <function default_subprocess_runner at 0x7f8d17cd6b80>, python_executable = None

    def __init__(
            self,
            source_dir,
            build_backend,
            backend_path=None,
            runner=None,
            python_executable=None,
    ):
        if runner is None:
            runner = default_subprocess_runner

>       self.source_dir = abspath(source_dir)

/usr/lib/python3.8/site-packages/pep517/wrappers.py:133:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = '.'

    def abspath(path):
        """Return an absolute path."""
        path = os.fspath(path)
        if not isabs(path):
            if isinstance(path, bytes):
                cwd = os.getcwdb()
            else:
>               cwd = os.getcwd()
E               FileNotFoundError: [Errno 2] No such file or directory

/usr/lib64/python3.8/posixpath.py:379: FileNotFoundError
========================================================================= short test summary info ==========================================================================
SKIPPED [1] tests/api/configuration_test.py:39: requires no PyYAML
FAILED tests/api_test.py::test_output_to_file - FileNotFoundError: [Errno 2] No such file or directory
FAILED ::project - FileNotFoundError: [Errno 2] No such file or directory
================================================================= 2 failed, 71 passed, 1 skipped in 3.81s ==================================================================
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra --import-mode=importlib
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.12, pytest-6.2.5, py-1.10.0, pluggy-0.13.1
Using --randomly-seed=3982042131
rootdir: /home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.0
plugins: forked-1.3.0, shutil-1.7.0, virtualenv-1.7.0, flake8-1.0.7, xdist-2.3.0, cov-2.12.1, mock-3.6.1, localserver-0.5.0, timeout-2.0.1, flaky-3.7.0, hypothesis-6.14.6, rerunfailures-9.1.1, checkdocs-2.7.1, anyio-3.3.1, tornasync-0.6.0.post2, randomly-3.8.0, freezegun-0.4.2
collected 75 items

tests/api/exception_test.py ...                                                                                                                                      [  4%]
tests/integration_test.py ...                                                                                                                                        [  8%]
tests/api/configuration_test.py ..................s                                                                                                                  [ 33%]
tests/api_test.py F                                                                                                                                                  [ 35%]
. F                                                                                                                                                                  [ 36%]
tests/api/wear_test.py FFFFFFFFFFFF                                                                                                                                  [ 52%]
tests/api/reporter_test.py ..........                                                                                                                                [ 66%]
tests/git_test.py .........                                                                                                                                          [ 78%]
tests/api/encoding_test.py ..                                                                                                                                        [ 81%]
tests/cli_test.py ..............                                                                                                                                     [100%]

================================================================================= FAILURES =================================================================================
___________________________________________________________________________ test_output_to_file ____________________________________________________________________________

tmpdir = local('/tmp/pytest-of-tkloczko/pytest-33/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)

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.0/tests/api_test.py:12:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:351: in save_report
    report = self.create_report()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:330: in create_report
    data = self.create_data()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:384: in create_data
    self._data = {'source_files': self.get_coverage()}
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:399: in get_coverage
    workman.load()
/usr/lib64/python3.8/site-packages/coverage/control.py:436: in load
    self._init()
/usr/lib64/python3.8/site-packages/coverage/control.py:282: in _init
    set_relative_directory()
/usr/lib64/python3.8/site-packages/coverage/files.py:28: in set_relative_directory
    RELATIVE_DIR = os.path.normcase(abs_file(os.curdir) + os.sep)
/usr/lib64/python3.8/site-packages/coverage/files.py:149: in abs_file
    path = os.path.realpath(path)
/usr/lib64/python3.8/posixpath.py:392: in realpath
    return abspath(path)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = ''

    def abspath(path):
        """Return an absolute path."""
        path = os.fspath(path)
        if not isabs(path):
            if isinstance(path, bytes):
                cwd = os.getcwdb()
            else:
>               cwd = os.getcwd()
E               FileNotFoundError: [Errno 2] No such file or directory

/usr/lib64/python3.8/posixpath.py:379: FileNotFoundError
_______________________________________________________________________________ test session _______________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f95d18ca040>, when = 'call'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(
        cls,
        func: "Callable[[], TResult]",
        when: "Literal['collect', 'setup', 'call', 'teardown']",
        reraise: Optional[
            Union[Type[BaseException], Tuple[Type[BaseException], ...]]
        ] = None,
    ) -> "CallInfo[TResult]":
        excinfo = None
        start = timing.time()
        precise_start = timing.perf_counter()
        try:
>           result: Optional[TResult] = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:311:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

>       lambda: ihook(item=item, **kwds), when=when, reraise=reraise
    )

/usr/lib/python3.8/site-packages/_pytest/runner.py:255:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <_HookCaller 'pytest_runtest_call'>, args = (), kwargs = {'item': <CheckdocsItem project>}, notincall = set()

    def __call__(self, *args, **kwargs):
        if args:
            raise TypeError("hook calling supports only keyword arguments")
        assert not self.is_historic()
        if self.spec and self.spec.argnames:
            notincall = (
                set(self.spec.argnames) - set(["__multicall__"]) - set(kwargs.keys())
            )
            if notincall:
                warnings.warn(
                    "Argument(s) {} which are declared in the hookspec "
                    "can not be found in this hook call".format(tuple(notincall)),
                    stacklevel=2,
                )
>       return self._hookexec(self, self.get_hookimpls(), kwargs)

/usr/lib/python3.8/site-packages/pluggy/hooks.py:286:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <_pytest.config.PytestPluginManager object at 0x7f9638624970>, hook = <_HookCaller 'pytest_runtest_call'>
methods = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from '/usr/lib/python3.8/site-packages/_pytest/runner...pper name='/dev/null' mode='r' encoding='UTF-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>>, ...]
kwargs = {'item': <CheckdocsItem project>}

    def _hookexec(self, hook, methods, kwargs):
        # called from all hookcaller instances.
        # enable_tracing will set its own wrapping function at self._inner_hookexec
>       return self._inner_hookexec(hook, methods, kwargs)

/usr/lib/python3.8/site-packages/pluggy/manager.py:93:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

hook = <_HookCaller 'pytest_runtest_call'>
methods = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from '/usr/lib/python3.8/site-packages/_pytest/runner...pper name='/dev/null' mode='r' encoding='UTF-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>>, ...]
kwargs = {'item': <CheckdocsItem project>}

>   self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
        methods,
        kwargs,
        firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
    )

/usr/lib/python3.8/site-packages/pluggy/manager.py:84:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

hook_impls = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from '/usr/lib/python3.8/site-packages/_pytest/runner...pper name='/dev/null' mode='r' encoding='UTF-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>>, ...]
caller_kwargs = {'item': <CheckdocsItem project>}, firstresult = False

    def _multicall(hook_impls, caller_kwargs, firstresult=False):
        """Execute a call into multiple python functions/methods and return the
        result(s).

        ``caller_kwargs`` comes from _HookCaller.__call__().
        """
        __tracebackhide__ = True
        results = []
        excinfo = None
        try:  # run impl and wrapper setup functions in a loop
            teardowns = []
            try:
                for hook_impl in reversed(hook_impls):
                    try:
                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]
                    except KeyError:
                        for argname in hook_impl.argnames:
                            if argname not in caller_kwargs:
                                raise HookCallError(
                                    "hook call must provide argument %r" % (argname,)
                                )

                    if hook_impl.hookwrapper:
                        try:
                            gen = hook_impl.function(*args)
                            next(gen)  # first yield
                            teardowns.append(gen)
                        except StopIteration:
                            _raise_wrapfail(gen, "did not yield")
                    else:
                        res = hook_impl.function(*args)
                        if res is not None:
                            results.append(res)
                            if firstresult:  # halt further impl calls
                                break
            except BaseException:
                excinfo = sys.exc_info()
        finally:
            if firstresult:  # first result hooks return a single value
                outcome = _Result(results[0] if results else None, excinfo)
            else:
                outcome = _Result(results, excinfo)

            # run all wrapper post-yield blocks
            for gen in reversed(teardowns):
                try:
                    gen.send(outcome)
                    _raise_wrapfail(gen, "has second yield")
                except StopIteration:
                    pass

>           return outcome.get_result()

/usr/lib/python3.8/site-packages/pluggy/callers.py:208:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <pluggy.callers._Result object at 0x7f95d15ff610>

    def get_result(self):
        """Get the result(s) for this hook call.

        If the hook was marked as a ``firstresult`` only a single value
        will be returned otherwise a list of results.
        """
        __tracebackhide__ = True
        if self._excinfo is None:
            return self._result
        else:
            ex = self._excinfo
            if _py3:
>               raise ex[1].with_traceback(ex[2])

/usr/lib/python3.8/site-packages/pluggy/callers.py:80:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

hook_impls = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from '/usr/lib/python3.8/site-packages/_pytest/runner...pper name='/dev/null' mode='r' encoding='UTF-8'>> _state='suspended' _in_suspended=False> _capture_fixture=None>>, ...]
caller_kwargs = {'item': <CheckdocsItem project>}, firstresult = False

    def _multicall(hook_impls, caller_kwargs, firstresult=False):
        """Execute a call into multiple python functions/methods and return the
        result(s).

        ``caller_kwargs`` comes from _HookCaller.__call__().
        """
        __tracebackhide__ = True
        results = []
        excinfo = None
        try:  # run impl and wrapper setup functions in a loop
            teardowns = []
            try:
                for hook_impl in reversed(hook_impls):
                    try:
                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]
                    except KeyError:
                        for argname in hook_impl.argnames:
                            if argname not in caller_kwargs:
                                raise HookCallError(
                                    "hook call must provide argument %r" % (argname,)
                                )

                    if hook_impl.hookwrapper:
                        try:
                            gen = hook_impl.function(*args)
                            next(gen)  # first yield
                            teardowns.append(gen)
                        except StopIteration:
                            _raise_wrapfail(gen, "did not yield")
                    else:
>                       res = hook_impl.function(*args)

/usr/lib/python3.8/site-packages/pluggy/callers.py:187:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

item = <CheckdocsItem project>

    def pytest_runtest_call(item: Item) -> None:
        _update_current_test_var(item, "call")
        try:
            del sys.last_type
            del sys.last_value
            del sys.last_traceback
        except AttributeError:
            pass
        try:
            item.runtest()
        except Exception as e:
            # Store trace info to allow postmortem debugging
            sys.last_type = type(e)
            sys.last_value = e
            assert e.__traceback__ is not None
            # Skip *this* frame
            sys.last_traceback = e.__traceback__.tb_next
>           raise e

/usr/lib/python3.8/site-packages/_pytest/runner.py:170:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

item = <CheckdocsItem project>

    def pytest_runtest_call(item: Item) -> None:
        _update_current_test_var(item, "call")
        try:
            del sys.last_type
            del sys.last_value
            del sys.last_traceback
        except AttributeError:
            pass
        try:
>           item.runtest()

/usr/lib/python3.8/site-packages/_pytest/runner.py:162:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <CheckdocsItem project>

    def runtest(self):
>       desc = self.get_long_description()

/usr/lib/python3.8/site-packages/pytest_checkdocs/__init__.py:40:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <CheckdocsItem project>

    def get_long_description(self):
        with _suppress_deprecation():
>           return Description.from_md(ensure_clean(pep517.meta.load('.').metadata))

/usr/lib/python3.8/site-packages/pytest_checkdocs/__init__.py:72:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

root = '.'

    def load(root):
        """
        Given a source directory (root) of a package,
        return an importlib.metadata.Distribution object
        with metadata build from that package.
        """
        root = os.path.expanduser(root)
        system = compat_system(root)
        builder = functools.partial(build, source_dir=root, system=system)
>       path = Path(build_as_zip(builder))

/usr/lib/python3.8/site-packages/pep517/meta.py:71:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

builder = functools.partial(<function build at 0x7f9636a3e820>, source_dir='.', system={'build-backend': 'setuptools.build_meta:__legacy__', 'requires': ['setuptools', 'wheel']})

    def build_as_zip(builder=build):
        with tempdir() as out_dir:
>           builder(dest=out_dir)

/usr/lib/python3.8/site-packages/pep517/meta.py:58:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

source_dir = '.', dest = '/tmp/tmp4ccifr67', system = {'build-backend': 'setuptools.build_meta:__legacy__', 'requires': ['setuptools', 'wheel']}

    def build(source_dir='.', dest=None, system=None):
        system = system or load_system(source_dir)
        dest = os.path.join(source_dir, dest or 'dist')
        mkdir_p(dest)
        validate_system(system)
>       hooks = Pep517HookCaller(
            source_dir, system['build-backend'], system.get('backend-path')
        )

/usr/lib/python3.8/site-packages/pep517/meta.py:46:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <pep517.wrappers.Pep517HookCaller object at 0x7f95d15ff6d0>, source_dir = '.', build_backend = 'setuptools.build_meta:__legacy__', backend_path = None
runner = <function default_subprocess_runner at 0x7f9636a39b80>, python_executable = None

    def __init__(
            self,
            source_dir,
            build_backend,
            backend_path=None,
            runner=None,
            python_executable=None,
    ):
        if runner is None:
            runner = default_subprocess_runner

>       self.source_dir = abspath(source_dir)

/usr/lib/python3.8/site-packages/pep517/wrappers.py:133:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = '.'

    def abspath(path):
        """Return an absolute path."""
        path = os.fspath(path)
        if not isabs(path):
            if isinstance(path, bytes):
                cwd = os.getcwdb()
            else:
>               cwd = os.getcwd()
E               FileNotFoundError: [Errno 2] No such file or directory

/usr/lib64/python3.8/posixpath.py:379: FileNotFoundError
__________________________________________________________________________ WearTest.test_dry_run ___________________________________________________________________________

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

    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)

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.0/tests/api/wear_test.py:80:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:252: in wear
    json_string = self.create_report()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:330: in create_report
    data = self.create_data()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:384: in create_data
    self._data = {'source_files': self.get_coverage()}
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:399: in get_coverage
    workman.load()
/usr/lib64/python3.8/site-packages/coverage/control.py:436: in load
    self._init()
/usr/lib64/python3.8/site-packages/coverage/control.py:282: in _init
    set_relative_directory()
/usr/lib64/python3.8/site-packages/coverage/files.py:28: in set_relative_directory
    RELATIVE_DIR = os.path.normcase(abs_file(os.curdir) + os.sep)
/usr/lib64/python3.8/site-packages/coverage/files.py:149: in abs_file
    path = os.path.realpath(path)
/usr/lib64/python3.8/posixpath.py:392: in realpath
    return abspath(path)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = ''

    def abspath(path):
        """Return an absolute path."""
        path = os.fspath(path)
        if not isabs(path):
            if isinstance(path, bytes):
                cwd = os.getcwdb()
            else:
>               cwd = os.getcwd()
E               FileNotFoundError: [Errno 2] No such file or directory

/usr/lib64/python3.8/posixpath.py:379: FileNotFoundError
________________________________________________________________________ WearTest.test_no_coverage _________________________________________________________________________

self = <wear_test.WearTest testMethod=test_no_coverage>, report_files = <MagicMock name='report' id='140281439314848'>
mock_requests = <MagicMock name='requests' id='140281447834096'>

    @mock.patch('coveralls.reporter.CoverallReporter.report')
    def test_no_coverage(self, report_files, mock_requests):
        mock_requests.post.return_value.json.return_value = EXPECTED
        report_files.side_effect = coverage.CoverageException(
            'No data to report')

        with pytest.raises(coverage.CoverageException):
>           coveralls.Coveralls(repo_token='xxx').wear()

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.0/tests/api/wear_test.py:106:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:252: in wear
    json_string = self.create_report()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:330: in create_report
    data = self.create_data()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:384: in create_data
    self._data = {'source_files': self.get_coverage()}
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:399: in get_coverage
    workman.load()
/usr/lib64/python3.8/site-packages/coverage/control.py:436: in load
    self._init()
/usr/lib64/python3.8/site-packages/coverage/control.py:282: in _init
    set_relative_directory()
/usr/lib64/python3.8/site-packages/coverage/files.py:28: in set_relative_directory
    RELATIVE_DIR = os.path.normcase(abs_file(os.curdir) + os.sep)
/usr/lib64/python3.8/site-packages/coverage/files.py:149: in abs_file
    path = os.path.realpath(path)
/usr/lib64/python3.8/posixpath.py:392: in realpath
    return abspath(path)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = ''

    def abspath(path):
        """Return an absolute path."""
        path = os.fspath(path)
        if not isabs(path):
            if isinstance(path, bytes):
                cwd = os.getcwdb()
            else:
>               cwd = os.getcwd()
E               FileNotFoundError: [Errno 2] No such file or directory

/usr/lib64/python3.8/posixpath.py:379: FileNotFoundError
__________________________________________________________ WearTest.test_coveralls_host_env_var_overrides_api_url __________________________________________________________

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

    @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)

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.0/tests/api/wear_test.py:113:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:252: in wear
    json_string = self.create_report()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:330: in create_report
    data = self.create_data()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:384: in create_data
    self._data = {'source_files': self.get_coverage()}
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:399: in get_coverage
    workman.load()
/usr/lib64/python3.8/site-packages/coverage/control.py:436: in load
    self._init()
/usr/lib64/python3.8/site-packages/coverage/control.py:282: in _init
    set_relative_directory()
/usr/lib64/python3.8/site-packages/coverage/files.py:28: in set_relative_directory
    RELATIVE_DIR = os.path.normcase(abs_file(os.curdir) + os.sep)
/usr/lib64/python3.8/site-packages/coverage/files.py:149: in abs_file
    path = os.path.realpath(path)
/usr/lib64/python3.8/posixpath.py:392: in realpath
    return abspath(path)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = ''

    def abspath(path):
        """Return an absolute path."""
        path = os.fspath(path)
        if not isabs(path):
            if isinstance(path, bytes):
                cwd = os.getcwdb()
            else:
>               cwd = os.getcwd()
E               FileNotFoundError: [Errno 2] No such file or directory

/usr/lib64/python3.8/posixpath.py:379: FileNotFoundError
___________________________________________________________ WearTest.test_repo_token_in_not_compromised_verbose ____________________________________________________________

self = <wear_test.WearTest testMethod=test_repo_token_in_not_compromised_verbose>, mock_logger = <MagicMock name='debug' id='140281438986592'>
mock_requests = <MagicMock name='requests' id='140281441687200'>

    @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)

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.0/tests/api/wear_test.py:88:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:252: in wear
    json_string = self.create_report()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:330: in create_report
    data = self.create_data()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:384: in create_data
    self._data = {'source_files': self.get_coverage()}
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:399: in get_coverage
    workman.load()
/usr/lib64/python3.8/site-packages/coverage/control.py:436: in load
    self._init()
/usr/lib64/python3.8/site-packages/coverage/control.py:282: in _init
    set_relative_directory()
/usr/lib64/python3.8/site-packages/coverage/files.py:28: in set_relative_directory
    RELATIVE_DIR = os.path.normcase(abs_file(os.curdir) + os.sep)
/usr/lib64/python3.8/site-packages/coverage/files.py:149: in abs_file
    path = os.path.realpath(path)
/usr/lib64/python3.8/posixpath.py:392: in realpath
    return abspath(path)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = ''

    def abspath(path):
        """Return an absolute path."""
        path = os.fspath(path)
        if not isabs(path):
            if isinstance(path, bytes):
                cwd = os.getcwdb()
            else:
>               cwd = os.getcwd()
E               FileNotFoundError: [Errno 2] No such file or directory

/usr/lib64/python3.8/posixpath.py:379: FileNotFoundError
_____________________________________________________________ WearTest.test_submit_report_resubmission_github ______________________________________________________________

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

    @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)

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.0/tests/api/wear_test.py:143:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:252: in wear
    json_string = self.create_report()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:330: in create_report
    data = self.create_data()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:384: in create_data
    self._data = {'source_files': self.get_coverage()}
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:399: in get_coverage
    workman.load()
/usr/lib64/python3.8/site-packages/coverage/control.py:436: in load
    self._init()
/usr/lib64/python3.8/site-packages/coverage/control.py:282: in _init
    set_relative_directory()
/usr/lib64/python3.8/site-packages/coverage/files.py:28: in set_relative_directory
    RELATIVE_DIR = os.path.normcase(abs_file(os.curdir) + os.sep)
/usr/lib64/python3.8/site-packages/coverage/files.py:149: in abs_file
    path = os.path.realpath(path)
/usr/lib64/python3.8/posixpath.py:392: in realpath
    return abspath(path)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = ''

    def abspath(path):
        """Return an absolute path."""
        path = os.fspath(path)
        if not isabs(path):
            if isinstance(path, bytes):
                cwd = os.getcwdb()
            else:
>               cwd = os.getcwd()
E               FileNotFoundError: [Errno 2] No such file or directory

/usr/lib64/python3.8/posixpath.py:379: FileNotFoundError
_____________________________________________________________________ WearTest.test_merge_invalid_data _____________________________________________________________________

self = <wear_test.WearTest testMethod=test_merge_invalid_data>, mock_logger = <MagicMock name='warning' id='140281439674912'>
_mock_requests = <MagicMock name='requests' id='140281441594816'>

    @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)

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.0/tests/api/wear_test.py:67:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:249: in merge
    self.create_data(extra)
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:384: in create_data
    self._data = {'source_files': self.get_coverage()}
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:399: in get_coverage
    workman.load()
/usr/lib64/python3.8/site-packages/coverage/control.py:436: in load
    self._init()
/usr/lib64/python3.8/site-packages/coverage/control.py:282: in _init
    set_relative_directory()
/usr/lib64/python3.8/site-packages/coverage/files.py:28: in set_relative_directory
    RELATIVE_DIR = os.path.normcase(abs_file(os.curdir) + os.sep)
/usr/lib64/python3.8/site-packages/coverage/files.py:149: in abs_file
    path = os.path.realpath(path)
/usr/lib64/python3.8/posixpath.py:392: in realpath
    return abspath(path)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = ''

    def abspath(path):
        """Return an absolute path."""
        path = os.fspath(path)
        if not isabs(path):
            if isinstance(path, bytes):
                cwd = os.getcwdb()
            else:
>               cwd = os.getcwd()
E               FileNotFoundError: [Errno 2] No such file or directory

/usr/lib64/python3.8/posixpath.py:379: FileNotFoundError
___________________________________________________________________ WearTest.test_coveralls_unavailable ____________________________________________________________________

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

    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()

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.0/tests/api/wear_test.py:97:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:252: in wear
    json_string = self.create_report()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:330: in create_report
    data = self.create_data()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:384: in create_data
    self._data = {'source_files': self.get_coverage()}
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:399: in get_coverage
    workman.load()
/usr/lib64/python3.8/site-packages/coverage/control.py:436: in load
    self._init()
/usr/lib64/python3.8/site-packages/coverage/control.py:282: in _init
    set_relative_directory()
/usr/lib64/python3.8/site-packages/coverage/files.py:28: in set_relative_directory
    RELATIVE_DIR = os.path.normcase(abs_file(os.curdir) + os.sep)
/usr/lib64/python3.8/site-packages/coverage/files.py:149: in abs_file
    path = os.path.realpath(path)
/usr/lib64/python3.8/posixpath.py:392: in realpath
    return abspath(path)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = ''

    def abspath(path):
        """Return an absolute path."""
        path = os.fspath(path)
        if not isabs(path):
            if isinstance(path, bytes):
                cwd = os.getcwdb()
            else:
>               cwd = os.getcwd()
E               FileNotFoundError: [Errno 2] No such file or directory

/usr/lib64/python3.8/posixpath.py:379: FileNotFoundError
_________________________________________________________________ WearTest.test_submit_report_resubmission _________________________________________________________________

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

    @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)

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.0/tests/api/wear_test.py:128:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:252: in wear
    json_string = self.create_report()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:330: in create_report
    data = self.create_data()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:384: in create_data
    self._data = {'source_files': self.get_coverage()}
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:399: in get_coverage
    workman.load()
/usr/lib64/python3.8/site-packages/coverage/control.py:436: in load
    self._init()
/usr/lib64/python3.8/site-packages/coverage/control.py:282: in _init
    set_relative_directory()
/usr/lib64/python3.8/site-packages/coverage/files.py:28: in set_relative_directory
    RELATIVE_DIR = os.path.normcase(abs_file(os.curdir) + os.sep)
/usr/lib64/python3.8/site-packages/coverage/files.py:149: in abs_file
    path = os.path.realpath(path)
/usr/lib64/python3.8/posixpath.py:392: in realpath
    return abspath(path)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = ''

    def abspath(path):
        """Return an absolute path."""
        path = os.fspath(path)
        if not isabs(path):
            if isinstance(path, bytes):
                cwd = os.getcwdb()
            else:
>               cwd = os.getcwd()
E               FileNotFoundError: [Errno 2] No such file or directory

/usr/lib64/python3.8/posixpath.py:379: FileNotFoundError
___________________________________________________________________________ WearTest.test_merge ____________________________________________________________________________

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

    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)

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.0/tests/api/wear_test.py:42:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:249: in merge
    self.create_data(extra)
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:384: in create_data
    self._data = {'source_files': self.get_coverage()}
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:399: in get_coverage
    workman.load()
/usr/lib64/python3.8/site-packages/coverage/control.py:436: in load
    self._init()
/usr/lib64/python3.8/site-packages/coverage/control.py:282: in _init
    set_relative_directory()
/usr/lib64/python3.8/site-packages/coverage/files.py:28: in set_relative_directory
    RELATIVE_DIR = os.path.normcase(abs_file(os.curdir) + os.sep)
/usr/lib64/python3.8/site-packages/coverage/files.py:149: in abs_file
    path = os.path.realpath(path)
/usr/lib64/python3.8/posixpath.py:392: in realpath
    return abspath(path)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = ''

    def abspath(path):
        """Return an absolute path."""
        path = os.fspath(path)
        if not isabs(path):
            if isinstance(path, bytes):
                cwd = os.getcwdb()
            else:
>               cwd = os.getcwd()
E               FileNotFoundError: [Errno 2] No such file or directory

/usr/lib64/python3.8/posixpath.py:379: FileNotFoundError
__________________________________________________________________________ WearTest.test_wet_run ___________________________________________________________________________

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

    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)

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.0/tests/api/wear_test.py:32:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:252: in wear
    json_string = self.create_report()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:330: in create_report
    data = self.create_data()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:384: in create_data
    self._data = {'source_files': self.get_coverage()}
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:399: in get_coverage
    workman.load()
/usr/lib64/python3.8/site-packages/coverage/control.py:436: in load
    self._init()
/usr/lib64/python3.8/site-packages/coverage/control.py:282: in _init
    set_relative_directory()
/usr/lib64/python3.8/site-packages/coverage/files.py:28: in set_relative_directory
    RELATIVE_DIR = os.path.normcase(abs_file(os.curdir) + os.sep)
/usr/lib64/python3.8/site-packages/coverage/files.py:149: in abs_file
    path = os.path.realpath(path)
/usr/lib64/python3.8/posixpath.py:392: in realpath
    return abspath(path)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = ''

    def abspath(path):
        """Return an absolute path."""
        path = os.fspath(path)
        if not isabs(path):
            if isinstance(path, bytes):
                cwd = os.getcwdb()
            else:
>               cwd = os.getcwd()
E               FileNotFoundError: [Errno 2] No such file or directory

/usr/lib64/python3.8/posixpath.py:379: FileNotFoundError
______________________________________________________________________ WearTest.test_merge_empty_data ______________________________________________________________________

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

    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)

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.0/tests/api/wear_test.py:54:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:249: in merge
    self.create_data(extra)
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:384: in create_data
    self._data = {'source_files': self.get_coverage()}
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:399: in get_coverage
    workman.load()
/usr/lib64/python3.8/site-packages/coverage/control.py:436: in load
    self._init()
/usr/lib64/python3.8/site-packages/coverage/control.py:282: in _init
    set_relative_directory()
/usr/lib64/python3.8/site-packages/coverage/files.py:28: in set_relative_directory
    RELATIVE_DIR = os.path.normcase(abs_file(os.curdir) + os.sep)
/usr/lib64/python3.8/site-packages/coverage/files.py:149: in abs_file
    path = os.path.realpath(path)
/usr/lib64/python3.8/posixpath.py:392: in realpath
    return abspath(path)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = ''

    def abspath(path):
        """Return an absolute path."""
        path = os.fspath(path)
        if not isabs(path):
            if isinstance(path, bytes):
                cwd = os.getcwdb()
            else:
>               cwd = os.getcwd()
E               FileNotFoundError: [Errno 2] No such file or directory

/usr/lib64/python3.8/posixpath.py:379: FileNotFoundError
________________________________________________________ WearTest.test_api_call_uses_default_host_if_no_env_var_set ________________________________________________________

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

    @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)

/home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.0/tests/api/wear_test.py:120:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:252: in wear
    json_string = self.create_report()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:330: in create_report
    data = self.create_data()
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:384: in create_data
    self._data = {'source_files': self.get_coverage()}
/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/coveralls/api.py:399: in get_coverage
    workman.load()
/usr/lib64/python3.8/site-packages/coverage/control.py:436: in load
    self._init()
/usr/lib64/python3.8/site-packages/coverage/control.py:282: in _init
    set_relative_directory()
/usr/lib64/python3.8/site-packages/coverage/files.py:28: in set_relative_directory
    RELATIVE_DIR = os.path.normcase(abs_file(os.curdir) + os.sep)
/usr/lib64/python3.8/site-packages/coverage/files.py:149: in abs_file
    path = os.path.realpath(path)
/usr/lib64/python3.8/posixpath.py:392: in realpath
    return abspath(path)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

path = ''

    def abspath(path):
        """Return an absolute path."""
        path = os.fspath(path)
        if not isabs(path):
            if isinstance(path, bytes):
                cwd = os.getcwdb()
            else:
>               cwd = os.getcwd()
E               FileNotFoundError: [Errno 2] No such file or directory

/usr/lib64/python3.8/posixpath.py:379: FileNotFoundError
========================================================================= short test summary info ==========================================================================
SKIPPED [1] tests/api/configuration_test.py:39: requires no PyYAML
FAILED tests/api_test.py::test_output_to_file - FileNotFoundError: [Errno 2] No such file or directory
FAILED ::project - FileNotFoundError: [Errno 2] No such file or directory
FAILED tests/api/wear_test.py::WearTest::test_dry_run - FileNotFoundError: [Errno 2] No such file or directory
FAILED tests/api/wear_test.py::WearTest::test_no_coverage - FileNotFoundError: [Errno 2] No such file or directory
FAILED tests/api/wear_test.py::WearTest::test_coveralls_host_env_var_overrides_api_url - FileNotFoundError: [Errno 2] No such file or directory
FAILED tests/api/wear_test.py::WearTest::test_repo_token_in_not_compromised_verbose - FileNotFoundError: [Errno 2] No such file or directory
FAILED tests/api/wear_test.py::WearTest::test_submit_report_resubmission_github - FileNotFoundError: [Errno 2] No such file or directory
FAILED tests/api/wear_test.py::WearTest::test_merge_invalid_data - FileNotFoundError: [Errno 2] No such file or directory
FAILED tests/api/wear_test.py::WearTest::test_coveralls_unavailable - FileNotFoundError: [Errno 2] No such file or directory
FAILED tests/api/wear_test.py::WearTest::test_submit_report_resubmission - FileNotFoundError: [Errno 2] No such file or directory
FAILED tests/api/wear_test.py::WearTest::test_merge - FileNotFoundError: [Errno 2] No such file or directory
FAILED tests/api/wear_test.py::WearTest::test_wet_run - FileNotFoundError: [Errno 2] No such file or directory
FAILED tests/api/wear_test.py::WearTest::test_merge_empty_data - FileNotFoundError: [Errno 2] No such file or directory
FAILED tests/api/wear_test.py::WearTest::test_api_call_uses_default_host_if_no_env_var_set - FileNotFoundError: [Errno 2] No such file or directory
================================================================= 14 failed, 59 passed, 1 skipped in 4.71s =================================================================

from coveralls-python.

kloczek avatar kloczek commented on June 10, 2024

Amd after add -p no:randomly to pytest params everything is fine.

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-coveralls-3.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra --import-mode=importlib -p no:randomly
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.12, pytest-6.2.5, py-1.10.0, pluggy-0.13.1
rootdir: /home/tkloczko/rpmbuild/BUILD/coveralls-python-3.3.0
plugins: forked-1.3.0, shutil-1.7.0, virtualenv-1.7.0, flake8-1.0.7, xdist-2.3.0, cov-2.12.1, mock-3.6.1, localserver-0.5.0, timeout-2.0.1, flaky-3.7.0, hypothesis-6.14.6, rerunfailures-9.1.1, checkdocs-2.7.1, anyio-3.3.1, tornasync-0.6.0.post2, freezegun-0.4.2
collected 75 items

. .                                                                                                                                                                  [  1%]
tests/api_test.py .                                                                                                                                                  [  2%]
tests/cli_test.py ..............                                                                                                                                     [ 21%]
tests/git_test.py .........                                                                                                                                          [ 33%]
tests/integration_test.py ...                                                                                                                                        [ 37%]
tests/api/configuration_test.py .s.................                                                                                                                  [ 63%]
tests/api/encoding_test.py ..                                                                                                                                        [ 66%]
tests/api/exception_test.py ...                                                                                                                                      [ 70%]
tests/api/reporter_test.py ..........                                                                                                                                [ 83%]
tests/api/wear_test.py ............                                                                                                                                  [100%]

========================================================================= short test summary info ==========================================================================
SKIPPED [1] tests/api/configuration_test.py:39: requires no PyYAML
====================================================================== 73 passed, 1 skipped in 9.08s =======================================================================

To diagnodse that issue you can uses https://github.com/mrbean-bremen/pytest-find-dependencies/

from coveralls-python.

TheKevJames avatar TheKevJames commented on June 10, 2024

@kloczek ah, sorry, to be clear: the fix for these tests is on master but is not currently released. I generally haven't been cutting releases for internal-only changes like this. Are you seeing the issue when building from master? I did indeed use pytest-find-dependencies (thanks for the recommendation on that, by the way!) and was unable to reproduce.

from coveralls-python.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.