PBR

5.6.0: pytest errors

Bug #1930619 reported by Tomasz Kloczko
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
PBR
New
Undecided
Unassigned

Bug Description

+ /usr/bin/python3 -Bm pytest -ra
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.9, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: /home/tkloczko/rpmbuild/BUILD/pbr-5.6.0
plugins: forked-1.3.0, shutil-1.7.0, virtualenv-1.7.0, expect-1.1.0, cov-2.11.1, httpbin-1.0.0, xdist-2.2.1, flake8-1.0.7, timeout-1.4.2, betamax-0.8.1, pyfakefs-4.4.0, freezegun-0.4.2, cases-3.4.6, case-1.5.3, isort-1.3.0, aspectlib-1.5.2, asyncio-0.15.1, toolbox-0.5, xprocess-0.17.1, flaky-3.7.0, aiohttp-0.3.0, checkdocs-2.7.0, mock-3.6.1, rerunfailures-9.1.1, requests-mock-1.9.3, hypothesis-6.13.7
collected 131 items

. F [ 0%]
pbr/tests/test_commands.py .... [ 3%]
pbr/tests/test_core.py ...... [ 8%]
pbr/tests/test_files.py ....... [ 14%]
pbr/tests/test_hooks.py .. [ 15%]
pbr/tests/test_integration.py ssss [ 18%]
pbr/tests/test_packaging.py .........................F......................F... [ 59%]
pbr/tests/test_pbr_json.py . [ 60%]
pbr/tests/test_setup.py s.FF.FF.. [ 67%]
pbr/tests/test_util.py .F.FF.F. [ 73%]
pbr/tests/test_version.py ............................... [ 97%]
pbr/tests/test_wsgi.py ... [100%]

================================================================================= FAILURES =================================================================================
_______________________________________________________________________________ test session _______________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f7d4576ad30>, 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 0x7f7ede32d1f0>, hook = <_HookCaller 'pytest_runtest_call'>
methods = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from '/usr/lib/python3.8/site-packages/_pytest/runner...=None>>, <HookImpl plugin_name='logging-plugin', plugin=<_pytest.logging.LoggingPlugin object at 0x7f7d456f3cd0>>, ...]
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...=None>>, <HookImpl plugin_name='logging-plugin', plugin=<_pytest.logging.LoggingPlugin object at 0x7f7d456f3cd0>>, ...]
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...=None>>, <HookImpl plugin_name='logging-plugin', plugin=<_pytest.logging.LoggingPlugin object at 0x7f7d456f3cd0>>, ...]
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 0x7f7d44ae1f10>

    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...=None>>, <HookImpl plugin_name='logging-plugin', plugin=<_pytest.logging.LoggingPlugin object at 0x7f7d456f3cd0>>, ...]
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()
        method_name = f"run_{re.sub('[-/]', '_', desc.content_type)}"
> getattr(self, method_name)(desc)
E AttributeError: 'CheckdocsItem' object has no attribute 'run_text_x_rst; charset=UTF_8'

/usr/lib/python3.8/site-packages/pytest_checkdocs/__init__.py:31: AttributeError
__________________________________________________________ ParseRequirementsTestScenarios.test_parse_requirements __________________________________________________________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Empty attachments:
  pythonlogging:''
  pythonlogging:'pbr'

Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/tests/test_packaging.py", line 592, in test_parse_requirements
    req_string = self.url
AttributeError: 'ParseRequirementsTestScenarios' object has no attribute 'url'
_____________________________________________________________ TestRequirementParsing.test_requirement_parsing ______________________________________________________________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Empty attachments:
  pythonlogging:''
  pythonlogging:'pbr'

traceback-1: {{{
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/fixtures/fixture.py", line 197, in setUp
    self._setUp()
  File "/home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/tests/test_packaging.py", line 185, in _setUp
    virtualenv.cli_run([path])
AttributeError: module 'virtualenv' has no attribute 'cli_run'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/fixtures/fixture.py", line 208, in setUp
    raise SetupError(details)
fixtures.fixture.SetupError: {}
}}}

Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/fixtures/fixture.py", line 197, in setUp
    self._setUp()
  File "/home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/tests/test_packaging.py", line 185, in _setUp
    virtualenv.cli_run([path])
AttributeError: module 'virtualenv' has no attribute 'cli_run'
--------------------------------------------------------------------------- Captured stdout call ---------------------------------------------------------------------------
Running git init .
STDOUT:
Initialized empty Git repository in /tmp/tmp_ivspnhh/tmpziscyzfr/test_reqparse/.git/
STDERR:
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
Running git config --global user.email <email address hidden>
STDOUT:

STDERR:

Running git config --global user.name OpenStack Developer
STDOUT:

STDERR:

Running git config --global user.signingkey <email address hidden>
STDOUT:

STDERR:

Running git add .
STDOUT:

STDERR:

Running git add /tmp/tmp_ivspnhh/tmpziscyzfr/test_reqparse/4
STDOUT:

STDERR:

Running git commit -m test commit
STDOUT:
[master (root-commit) 8a7eb0b] test commit
 4 files changed, 19 insertions(+)
 create mode 100644 4
 create mode 100644 requirements.txt
 create mode 100644 setup.cfg
 create mode 100644 setup.py
STDERR:

___________________________________________________________________ GitLogsTest.test_write_git_changelog ___________________________________________________________________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Empty attachments:
  pythonlogging:''
  pythonlogging:'pbr'

Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/tests/test_setup.py", line 157, in test_write_git_changelog
    git.write_git_changelog(git_dir=self.git_dir,
  File "/home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/git.py", line 289, in write_git_changelog
    for release, content in changelog:
  File "/home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/git.py", line 176, in _iter_changelog
    for hash, tags, msg in changelog:
  File "/home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/git.py", line 235, in _iter_log_inner
    changelog = _run_git_command(log_cmd, git_dir)
  File "/home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/git.py", line 64, in _run_git_command
    return _run_shell_command(
  File "/home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/git.py", line 46, in _run_shell_command
    output = subprocess.Popen(cmd,
  File "/usr/lib/python3.8/site-packages/fixtures/_fixtures/popen.py", line 118, in __call__
    proc_info = self.get_info(proc_args)
  File "/home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/tests/test_setup.py", line 154, in <lambda>
    "stdout": BytesIO(self.changelog.encode('utf-8'))
AttributeError: 'GitLogsTest' object has no attribute 'changelog'
______________________________________________________________________ BuildSphinxTest.test_build_doc ______________________________________________________________________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Empty attachments:
  pythonlogging:''
  pythonlogging:'pbr'

Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/tests/test_setup.py", line 299, in test_build_doc
    os.path.exists("api/autoindex.rst") == self.has_autodoc)
AttributeError: 'BuildSphinxTest' object has no attribute 'has_autodoc'
________________________________________________________________ BuildSphinxTest.test_cmd_builder_override _________________________________________________________________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Empty attachments:
  pythonlogging:''
  pythonlogging:'pbr'

Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/tests/test_setup.py", line 344, in test_cmd_builder_override
    if self.has_opt:
AttributeError: 'BuildSphinxTest' object has no attribute 'has_opt'
_______________________________________________________ BuildSphinxTest.test_cmd_builder_override_multiple_builders ________________________________________________________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Empty attachments:
  pythonlogging:''
  pythonlogging:'pbr'

Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/tests/test_setup.py", line 364, in test_cmd_builder_override_multiple_builders
    if self.has_opt:
AttributeError: 'BuildSphinxTest' object has no attribute 'has_opt'
__________________________________________________________ TestExtrasRequireParsingScenarios.test_extras_parsing ___________________________________________________________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Empty attachments:
  pythonlogging:''
  pythonlogging:'pbr'

Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/tests/test_util.py", line 185, in test_extras_parsing
    config = config_from_ini(self.config_text)
AttributeError: 'TestExtrasRequireParsingScenarios' object has no attribute 'config_text'
__________________________________________________________ TestMapFieldsParsingScenarios.test_project_url_parsing __________________________________________________________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Empty attachments:
  pythonlogging:''
  pythonlogging:'pbr'

Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/tests/test_util.py", line 233, in test_project_url_parsing
    config = config_from_ini(self.config_text)
AttributeError: 'TestMapFieldsParsingScenarios' object has no attribute 'config_text'
____________________________________________________________ TestKeywordsParsingScenarios.test_keywords_parsing ____________________________________________________________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Empty attachments:
  pythonlogging:''
  pythonlogging:'pbr'

Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/tests/test_util.py", line 263, in test_keywords_parsing
    config = config_from_ini(self.config_text)
AttributeError: 'TestKeywordsParsingScenarios' object has no attribute 'config_text'
______________________________________________________ TestDataFilesParsing.test_handling_of_whitespace_in_data_files ______________________________________________________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Empty attachments:
  pythonlogging:''
  pythonlogging:'pbr'

Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/tests/test_util.py", line 299, in test_handling_of_whitespace_in_data_files
    config = config_from_ini(self.config_text)
AttributeError: 'TestDataFilesParsing' object has no attribute 'config_text'
============================================================================= warnings summary =============================================================================
pbr/tests/test_packaging.py:68
  /home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/tests/test_packaging.py:68: PytestCollectionWarning: cannot collect test class 'TestRepo' because it has a __init__ constructor (from: pbr/tests/test_packaging.py)
    class TestRepo(fixtures.Fixture):

pbr/tests/test_util.py::TestBasics::test_basics
pbr/tests/test_util.py::TestProvidesExtras::test_provides_extras
pbr/tests/test_util.py::TestUTF8DescriptionFile::test_utf8_description_file
  /home/tkloczko/rpmbuild/BUILD/pbr-5.6.0/pbr/tests/test_util.py:35: DeprecationWarning: This method will be removed in future versions. Use 'parser.read_file()' instead.
    parser.readfp(io.StringIO(ini))

-- Docs: https://docs.pytest.org/en/stable/warnings.html
========================================================================= short test summary info ==========================================================================
SKIPPED [1] pbr/tests/test_integration.py:73: integration tests not enabled
SKIPPED [1] pbr/tests/test_integration.py:156: integration tests not enabled
SKIPPED [1] pbr/tests/test_integration.py:224: integration tests not enabled
SKIPPED [1] pbr/tests/test_integration.py:275: integration tests not enabled
SKIPPED [1] pbr/tests/test_setup.py:90: /tmp/tmp3idf8u5_/tmpz2ahqkeb/testpackage/.git is missing; skipping git-related checks
FAILED ::project - AttributeError: 'CheckdocsItem' object has no attribute 'run_text_x_rst; charset=UTF_8'
FAILED pbr/tests/test_packaging.py::ParseRequirementsTestScenarios::test_parse_requirements
FAILED pbr/tests/test_packaging.py::TestRequirementParsing::test_requirement_parsing
FAILED pbr/tests/test_setup.py::GitLogsTest::test_write_git_changelog
FAILED pbr/tests/test_setup.py::BuildSphinxTest::test_build_doc
FAILED pbr/tests/test_setup.py::BuildSphinxTest::test_cmd_builder_override
FAILED pbr/tests/test_setup.py::BuildSphinxTest::test_cmd_builder_override_multiple_builders
FAILED pbr/tests/test_util.py::TestExtrasRequireParsingScenarios::test_extras_parsing
FAILED pbr/tests/test_util.py::TestMapFieldsParsingScenarios::test_project_url_parsing
FAILED pbr/tests/test_util.py::TestKeywordsParsingScenarios::test_keywords_parsing
FAILED pbr/tests/test_util.py::TestDataFilesParsing::test_handling_of_whitespace_in_data_files
===================================================== 11 failed, 112 passed, 5 skipped, 4 warnings in 81.44s (0:01:21) =====================================================

Revision history for this message
Tomasz Kloczko (kloczek) wrote :
Download full text (114.1 KiB)

Any update?
Just tested 5.8.1 and looks like issue still is not resolved. Additionally pytest shows many warnings

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-pbr-5.8.1-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-pbr-5.8.1-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.13, pytest-7.1.1, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/pbr-5.8.1
collected 129 items

pbr/tests/test_commands.py .... [ 3%]
pbr/tests/test_core.py F..... [ 7%]
pbr/tests/test_files.py ....... [ 13%]
pbr/tests/test_hooks.py s. [ 14%]
pbr/tests/test_integration.py ssss [ 17%]
pbr/tests/test_packaging.py .....F.F..FFF....F........F......................FF... [ 59%]
pbr/tests/test_pbr_json.py . [ 60%]
pbr/tests/test_setup.py s.FF.FF.. [ 67%]
pbr/tests/test_util.py .F.FF.F. [ 73%]
pbr/tests/test_version.py ............................... [ 97%]
pbr/tests/test_wsgi.py FFF [100%]

================================================================================= FAILURES =================================================================================
___________________________________________________________________ TestCore.test_console_script_develop ___________________________________________________________________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Empty attachments:
  pythonlogging:''
  pythonlogging:'pbr'

Traceback (most recent call last):
 ...

Revision history for this message
Tomasz Kloczko (kloczek) wrote :
Download full text (27.8 KiB)

Looks like I had no installed python heade files.
After that number of failing unis droped by half but still there are 11 failing units

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-pbr-5.8.1-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-pbr-5.8.1-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.13, pytest-7.1.1, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/pbr-5.8.1
collected 129 items

pbr/tests/test_commands.py .... [ 3%]
pbr/tests/test_core.py ...... [ 7%]
pbr/tests/test_files.py ....... [ 13%]
pbr/tests/test_hooks.py s. [ 14%]
pbr/tests/test_integration.py ssss [ 17%]
pbr/tests/test_packaging.py ..........................F......................FF... [ 59%]
pbr/tests/test_pbr_json.py . [ 60%]
pbr/tests/test_setup.py s.FF.FF.. [ 67%]
pbr/tests/test_util.py .F.FF.F. [ 73%]
pbr/tests/test_version.py ............................... [ 97%]
pbr/tests/test_wsgi.py ... [100%]

================================================================================= FAILURES =================================================================================
__________________________________________________________ ParseRequirementsTestScenarios.test_parse_requirements __________________________________________________________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Empty attachments:
  pythonlogging:''
  pythonlogging:'pbr'

Traceback (mos...

Revision history for this message
Tomasz Kloczko (kloczek) wrote :

Ping .. any update?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.