Source: pytest-bdd
Version: 5.0.0-1
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20230726 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> dh_auto_install
> I: pybuild base:240: /usr/bin/python3 setup.py install --root 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd 
> running install
> /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: 
> SetuptoolsDeprecationWarning: setup.py install is deprecated.
> !!
> 
>         
> ********************************************************************************
>         Please avoid running ``setup.py`` directly.
>         Instead, use pypa/build, pypa/installer or other
>         standards-based tools.
> 
>         See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html 
> for details.
>         
> ********************************************************************************
> 
> !!
>   self.initialize_options()
> running build
> running build_py
> running egg_info
> writing pytest_bdd.egg-info/PKG-INFO
> writing dependency_links to pytest_bdd.egg-info/dependency_links.txt
> writing entry points to pytest_bdd.egg-info/entry_points.txt
> writing requirements to pytest_bdd.egg-info/requires.txt
> writing top-level names to pytest_bdd.egg-info/top_level.txt
> reading manifest file 'pytest_bdd.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> adding license file 'LICENSE.txt'
> adding license file 'AUTHORS.rst'
> writing manifest file 'pytest_bdd.egg-info/SOURCES.txt'
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:201: _Warning: 
> Package 'pytest_bdd.templates' is absent from the `packages` configuration.
> !!
> 
>         
> ********************************************************************************
>         ############################
>         # Package would be ignored #
>         ############################
>         Python recognizes 'pytest_bdd.templates' as an importable package[^1],
>         but it is absent from setuptools' `packages` configuration.
> 
>         This leads to an ambiguous overall configuration. If you want to 
> distribute this
>         package, please make sure that 'pytest_bdd.templates' is explicitly 
> added
>         to the `packages` configuration field.
> 
>         Alternatively, you can also rely on setuptools' discovery methods
>         (for example by using `find_namespace_packages(...)`/`find_namespace:`
>         instead of `find_packages(...)`/`find:`).
> 
>         You can read more about "package discovery" on setuptools 
> documentation page:
> 
>         - 
> https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
> 
>         If you don't want 'pytest_bdd.templates' to be distributed and are
>         already explicitly excluding 'pytest_bdd.templates' via
>         `find_namespace_packages(...)/find_namespace` or 
> `find_packages(...)/find`,
>         you can try to use `exclude_package_data`, or 
> `include-package-data=False` in
>         combination with a more fine grained `package-data` configuration.
> 
>         You can read more about "package data files" on setuptools 
> documentation page:
> 
>         - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
> 
> 
>         [^1]: For Python, any directory (with suitable naming) can be 
> imported,
>               even if it does not contain any `.py` files.
>               On the other hand, currently there is no concept of package data
>               directory, all directories are treated like packages.
>         
> ********************************************************************************
> 
> !!
>   check.warn(importable)
> running install_lib
> creating /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr
> creating /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib
> creating /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11
> creating 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages
> creating 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd
> copying 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-bdd/build/pytest_bdd/types.py 
> -> 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd
> copying 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-bdd/build/pytest_bdd/reporting.py
>  -> 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd
> copying 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-bdd/build/pytest_bdd/utils.py 
> -> 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd
> copying 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-bdd/build/pytest_bdd/__init__.py
>  -> 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd
> copying 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-bdd/build/pytest_bdd/parsers.py
>  -> 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd
> creating 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd/templates
> copying 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-bdd/build/pytest_bdd/templates/test.py.mak
>  -> 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd/templates
> copying 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-bdd/build/pytest_bdd/exceptions.py
>  -> 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd
> copying 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-bdd/build/pytest_bdd/feature.py
>  -> 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd
> copying 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-bdd/build/pytest_bdd/cucumber_json.py
>  -> 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd
> copying 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-bdd/build/pytest_bdd/parser.py 
> -> 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd
> copying 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-bdd/build/pytest_bdd/scenario.py
>  -> 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd
> copying 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-bdd/build/pytest_bdd/gherkin_terminal_reporter.py
>  -> 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd
> copying 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-bdd/build/pytest_bdd/hooks.py 
> -> 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd
> copying 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-bdd/build/pytest_bdd/scripts.py
>  -> 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd
> copying 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-bdd/build/pytest_bdd/plugin.py 
> -> 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd
> copying 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-bdd/build/pytest_bdd/steps.py 
> -> 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd
> copying 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_pytest-bdd/build/pytest_bdd/generation.py
>  -> 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd/types.py
>  to types.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd/reporting.py
>  to reporting.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd/utils.py
>  to utils.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd/__init__.py
>  to __init__.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd/parsers.py
>  to parsers.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd/exceptions.py
>  to exceptions.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd/feature.py
>  to feature.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd/cucumber_json.py
>  to cucumber_json.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd/parser.py
>  to parser.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd/scenario.py
>  to scenario.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd/gherkin_terminal_reporter.py
>  to gherkin_terminal_reporter.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd/hooks.py
>  to hooks.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd/scripts.py
>  to scripts.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd/plugin.py
>  to plugin.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd/steps.py
>  to steps.cpython-311.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd/generation.py
>  to generation.cpython-311.pyc
> running install_egg_info
> Copying pytest_bdd.egg-info to 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/lib/python3.11/dist-packages/pytest_bdd-5.0.0.egg-info
> Skipping SOURCES.txt
> running install_scripts
> Installing pytest-bdd script to 
> /<<PKGBUILDDIR>>/debian/python3-pytest-bdd/usr/bin
> dh_auto_test -- --system=custom --test-args="{interpreter} -m pytest -k 'not 
> test_generate_with_quotes and not test_unicode_characters'"
> I: pybuild base:240: python3.11 -m pytest -k 'not test_generate_with_quotes 
> and not test_unicode_characters'
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.4, pytest-7.4.0, pluggy-1.2.0
> rootdir: /<<PKGBUILDDIR>>
> configfile: pytest.ini
> testpaths: tests
> plugins: bdd-5.0.0
> collected 115 items / 2 deselected / 113 selected
> 
> tests/test_hooks.py ..                                                   [  
> 1%]
> tests/args/test_arg_fixture_mix.py .                                     [  
> 2%]
> tests/args/cfparse/test_args.py ..                                       [  
> 4%]
> tests/args/parse/test_args.py ..                                         [  
> 6%]
> tests/args/regex/test_args.py ..                                         [  
> 7%]
> tests/feature/test_alias.py .                                            [  
> 8%]
> tests/feature/test_background.py ..                                      [ 
> 10%]
> tests/feature/test_cucumber_json.py .                                    [ 
> 11%]
> tests/feature/test_description.py .                                      [ 
> 12%]
> tests/feature/test_feature_base_dir.py ......                            [ 
> 17%]
> tests/feature/test_gherkin_terminal_reporter.py ............             [ 
> 28%]
> tests/feature/test_multiline.py .....                                    [ 
> 32%]
> tests/feature/test_no_scenario.py .                                      [ 
> 33%]
> tests/feature/test_no_sctrict_gherkin.py ..                              [ 
> 35%]
> tests/feature/test_outline.py ........                                   [ 
> 42%]
> tests/feature/test_outline_empty_values.py ..                            [ 
> 44%]
> tests/feature/test_parametrized.py .                                     [ 
> 45%]
> tests/feature/test_report.py .s                                          [ 
> 46%]
> tests/feature/test_same_function_name.py .                               [ 
> 47%]
> tests/feature/test_scenario.py .............                             [ 
> 59%]
> tests/feature/test_scenarios.py ........                                 [ 
> 66%]
> tests/feature/test_steps.py ........                                     [ 
> 73%]
> tests/feature/test_tags.py ............                                  [ 
> 84%]
> tests/feature/test_wrong.py .                                            [ 
> 84%]
> tests/generation/test_generate_missing.py .FF                            [ 
> 87%]
> tests/library/test_parent.py ....                                        [ 
> 91%]
> tests/scripts/test_generate.py .                                         [ 
> 92%]
> tests/scripts/test_main.py .                                             [ 
> 92%]
> tests/scripts/test_migrate.py .                                          [ 
> 93%]
> tests/steps/test_given.py .                                              [ 
> 94%]
> tests/steps/test_steps.py ....                                           [ 
> 98%]
> tests/steps/test_unicode.py ..                                           
> [100%]
> 
> =================================== FAILURES 
> ===================================
> ____________________________ test_generate_missing 
> _____________________________
> 
> testdir = <Testdir 
> local('/tmp/pytest-of-user42/pytest-0/test_generate_missing0')>
> 
>     def test_generate_missing(testdir):
>         """Test generate missing command."""
>         testdir.makefile(
>             ".feature",
>             generation=textwrap.dedent(
>                 """\
>                 Feature: Missing code generation
>     
>                     Background:
>                         Given I have a foobar
>     
>                     Scenario: Scenario tests which are already bound to the 
> tests stay as is
>                         Given I have a bar
>     
>     
>                     Scenario: Code is generated for scenarios which are not 
> bound to any tests
>                         Given I have a bar
>     
>     
>                     Scenario: Code is generated for scenario steps which are 
> not yet defined(implemented)
>                         Given I have a custom bar
>                 """
>             ),
>         )
>     
>         testdir.makepyfile(
>             textwrap.dedent(
>                 """\
>             import functools
>     
>             from pytest_bdd import scenario, given
>     
>             scenario = functools.partial(scenario, "generation.feature")
>     
>             @given("I have a bar")
>             def i_have_a_bar():
>                 return "bar"
>     
>             @scenario("Scenario tests which are already bound to the tests 
> stay as is")
>             def test_foo():
>                 pass
>     
>             @scenario("Code is generated for scenario steps which are not yet 
> defined(implemented)")
>             def test_missing_steps():
>                 pass
>             """
>             )
>         )
>     
>         result = testdir.runpytest("--generate-missing", "--feature", 
> "generation.feature")
>         assert_outcomes(result, passed=0, failed=0, errors=0)
>         assert not result.stderr.str()
> >       assert result.ret == 0
> E       assert <ExitCode.INTERNAL_ERROR: 3> == 0
> E        +  where <ExitCode.INTERNAL_ERROR: 3> = <RunResult ret=3 
> len(stdout.lines)=14 len(stderr.lines)=0 duration=0.03s>.ret
> 
> /<<PKGBUILDDIR>>/tests/generation/test_generate_missing.py:70: AssertionError
> ----------------------------- Captured stdout call 
> -----------------------------
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.4, pytest-7.4.0, pluggy-1.2.0
> rootdir: /tmp/pytest-of-user42/pytest-0/test_generate_missing0
> plugins: bdd-5.0.0
> INTERNALERROR> Traceback (most recent call last):
> INTERNALERROR>   File "/usr/lib/python3/dist-packages/_pytest/main.py", line 
> 270, in wrap_session
> INTERNALERROR>     session.exitstatus = doit(config, session) or 0
> INTERNALERROR>                          ^^^^^^^^^^^^^^^^^^^^^
> INTERNALERROR>   File "/<<PKGBUILDDIR>>/pytest_bdd/generation.py", line 166, 
> in _show_missing_code_main
> INTERNALERROR>     tw = py.io.TerminalWriter()
> INTERNALERROR>          ^^^^^
> INTERNALERROR> AttributeError: module 'py' has no attribute 'io'
> 
> ============================ no tests ran in 0.00s 
> =============================
> ___________________ test_generate_missing_with_step_parsers 
> ____________________
> 
> testdir = <Testdir 
> local('/tmp/pytest-of-user42/pytest-0/test_generate_missing_with_step_parsers0')>
> 
>     def test_generate_missing_with_step_parsers(testdir):
>         """Test that step parsers are correctly discovered and won't be part 
> of the missing steps."""
>         testdir.makefile(
>             ".feature",
>             generation=textwrap.dedent(
>                 """\
>                 Feature: Missing code generation with step parsers
>     
>                     Scenario: Step parsers are correctly discovered
>                         Given I use the string parser without parameter
>                         And I use parsers.parse with parameter 1
>                         And I use parsers.re with parameter 2
>                         And I use parsers.cfparse with parameter 3
>                 """
>             ),
>         )
>     
>         testdir.makepyfile(
>             textwrap.dedent(
>                 """\
>             import functools
>     
>             from pytest_bdd import scenarios, given, parsers
>     
>             scenarios("generation.feature")
>     
>             @given("I use the string parser without parameter")
>             def i_have_a_bar():
>                 return None
>     
>             @given(parsers.parse("I use parsers.parse with parameter 
> {param}"))
>             def i_have_n_baz(param):
>                 return param
>     
>             @given(parsers.re(r"^I use parsers.re with parameter 
> (?P<param>.*?)$"))
>             def i_have_n_baz(param):
>                 return param
>     
>             @given(parsers.cfparse("I use parsers.cfparse with parameter 
> {param:d}"))
>             def i_have_n_baz(param):
>                 return param
>             """
>             )
>         )
>     
>         result = testdir.runpytest("--generate-missing", "--feature", 
> "generation.feature")
>         assert_outcomes(result, passed=0, failed=0, errors=0)
>         assert not result.stderr.str()
> >       assert result.ret == 0
> E       assert <ExitCode.INTERNAL_ERROR: 3> == 0
> E        +  where <ExitCode.INTERNAL_ERROR: 3> = <RunResult ret=3 
> len(stdout.lines)=14 len(stderr.lines)=0 duration=0.03s>.ret
> 
> /<<PKGBUILDDIR>>/tests/generation/test_generate_missing.py:138: AssertionError
> ----------------------------- Captured stdout call 
> -----------------------------
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.4, pytest-7.4.0, pluggy-1.2.0
> rootdir: 
> /tmp/pytest-of-user42/pytest-0/test_generate_missing_with_step_parsers0
> plugins: bdd-5.0.0
> INTERNALERROR> Traceback (most recent call last):
> INTERNALERROR>   File "/usr/lib/python3/dist-packages/_pytest/main.py", line 
> 270, in wrap_session
> INTERNALERROR>     session.exitstatus = doit(config, session) or 0
> INTERNALERROR>                          ^^^^^^^^^^^^^^^^^^^^^
> INTERNALERROR>   File "/<<PKGBUILDDIR>>/pytest_bdd/generation.py", line 166, 
> in _show_missing_code_main
> INTERNALERROR>     tw = py.io.TerminalWriter()
> INTERNALERROR>          ^^^^^
> INTERNALERROR> AttributeError: module 'py' has no attribute 'io'
> 
> ============================ no tests ran in 0.00s 
> =============================
> =========================== short test summary info 
> ============================
> FAILED tests/generation/test_generate_missing.py::test_generate_missing - 
> ass...
> FAILED 
> tests/generation/test_generate_missing.py::test_generate_missing_with_step_parsers
> =========== 2 failed, 110 passed, 1 skipped, 2 deselected in 14.32s 
> ============
> E: pybuild pybuild:388: test: plugin custom failed with: exit code=1: 
> python3.11 -m pytest -k 'not test_generate_with_quotes and not 
> test_unicode_characters'
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 
> --system=custom "--test-args={interpreter} -m pytest -k 'not 
> test_generate_with_quotes and not test_unicode_characters'" returned exit 
> code 13


The full build log is available from:
http://qa-logs.debian.net/2023/07/26/pytest-bdd_5.0.0-1_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230726;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230726&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

Reply via email to