Package: src:pytest-bdd Version: 7.1.2-2 Severity: serious Tags: ftbfs forky sid
Dear maintainer: During a rebuild of all packages in unstable, your package failed to build. Below you will find how the build ends (probably the most relevant part, but not necessarily). If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/202509/ About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages. If you could not reproduce the bug please contact me privately, as I am willing to provide ssh access to a virtual machine where the bug is fully reproducible. If this is really a bug in one of the build-depends, please use reassign and add an affects on src:pytest-bdd, so that this is still visible in the BTS web page for this package. Thanks. -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild dh_auto_build -O--buildsystem=pybuild I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build" module I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pytest-bdd * Building wheel... [... snipped ...] def pytest_generate_tests(metafunc): print('\npytest_generate_tests hook') """ ) ) subdir.joinpath("test_foo.py").write_text( textwrap.dedent( r""" from pytest_bdd import scenario @scenario('foo.feature', 'Some scenario') def test_foo(): pass """ ) ) subdir.joinpath("foo.feature").write_text( textwrap.dedent( r""" Feature: The feature Scenario: Some scenario """ ) ) result = pytester.runpytest("-s") > assert result.stdout.lines.count("pytest_pyfunc_call hook") == 1 E AssertionError: assert 0 == 1 E + where 0 = <built-in method count of list object at 0x7f888ab73080>('pytest_pyfunc_call hook') E + where <built-in method count of list object at 0x7f888ab73080> = ['============================= test session starts ==============================', 'platform linux -- Python 3.13.7,.../test_conftest_module_evaluated_twice0', 'plugins: bdd-7.1.2, typeguard-4.4.4', 'collected 0 items / 1 error', '', ...].count E + where ['============================= test session starts ==============================', 'platform linux -- Python 3.13.7,.../test_conftest_module_evaluated_twice0', 'plugins: bdd-7.1.2, typeguard-4.4.4', 'collected 0 items / 1 error', '', ...] = <_pytest.pytester.LineMatcher object at 0x7f888ad6d850>.lines E + where <_pytest.pytester.LineMatcher object at 0x7f888ad6d850> = <RunResult ret=2 len(stdout.lines)=56 len(stderr.lines)=0 duration=0.16s>.stdout /<<PKGBUILDDIR>>/tests/test_hooks.py:46: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.13.7, pytest-8.4.1, pluggy-1.6.0 rootdir: /tmp/pytest-of-sbuild/pytest-0/test_conftest_module_evaluated_twice0 plugins: bdd-7.1.2, typeguard-4.4.4 collected 0 items / 1 error ==================================== ERRORS ==================================== _____________________ ERROR collecting subdir/test_foo.py ______________________ /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/pluggy/_manager.py:475: in traced_hookexec return outcome.get_result() ^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/pluggy/_manager.py:472: in <lambda> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/python.py:240: in pytest_pycollect_makeitem return list(collector._genfunctions(name, obj)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/python.py:448: in _genfunctions definition = FunctionDefinition.from_parent(self, name=name, callobj=funcobj) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/python.py:1625: in from_parent return super().from_parent(parent=parent, **kw) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/nodes.py:233: in from_parent return cls._create(parent=parent, **kw) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/nodes.py:110: in _create return super().__call__(*k, **kw) # type: ignore[no-any-return,misc] ^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/python.py:1616: in __init__ fixtureinfo = fm.getfixtureinfo(self, self.obj, self.cls) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/fixtures.py:1569: in getfixtureinfo initialnames = deduplicate_names(autousenames, usefixturesnames, argnames) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/fixtures.py:1496: in deduplicate_names return tuple(dict.fromkeys(name for seq in seqs for name in seq)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/fixtures.py:1496: in <genexpr> return tuple(dict.fromkeys(name for seq in seqs for name in seq)) ^^^ /usr/lib/python3/dist-packages/_pytest/fixtures.py:1616: in _getusefixturesnames marker_node.warn( /usr/lib/python3/dist-packages/_pytest/nodes.py:271: in warn warnings.warn_explicit( E pytest.PytestWarning: usefixtures() in subdir/test_foo.py::test_foo without arguments has no effect =========================== short test summary info ============================ ERROR subdir/test_foo.py - pytest.PytestWarning: usefixtures() in subdir/test... !!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!! =============================== 1 error in 0.14s =============================== _____________ test_pytest_bdd_after_scenario_called_after_scenario _____________ pytester = <Pytester PosixPath('/tmp/pytest-of-sbuild/pytest-0/test_pytest_bdd_after_scenario_called_after_scenario0')> def test_pytest_bdd_after_scenario_called_after_scenario(pytester): """Regression test for https://github.com/pytest-dev/pytest-bdd/pull/577""" pytester.makefile( ".feature", foo=textwrap.dedent( """\ Feature: A feature Scenario: Scenario 1 Given foo When bar Then baz Scenario: Scenario 2 When bar Then baz """ ), ) pytester.makepyfile( """ import pytest from pytest_bdd import given, when, then, scenarios scenarios("foo.feature") @given("foo") @when("bar") @then("baz") def _(): pass """ ) pytester.makeconftest( """ from pytest_bdd.utils import dump_obj def pytest_bdd_after_scenario(request, feature, scenario): dump_obj([feature, scenario]) """ ) result = pytester.runpytest("-s") > result.assert_outcomes(passed=2) E AssertionError: assert {'errors': 1,...pped': 0, ...} == {'errors': 0,...pped': 0, ...} E E Omitting 4 identical items, use -vv to show E Differing items: E {'errors': 1} != {'errors': 0} E {'passed': 0} != {'passed': 2} E Use -v to get more diff /<<PKGBUILDDIR>>/tests/test_hooks.py:129: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.13.7, pytest-8.4.1, pluggy-1.6.0 rootdir: /tmp/pytest-of-sbuild/pytest-0/test_pytest_bdd_after_scenario_called_after_scenario0 plugins: bdd-7.1.2, typeguard-4.4.4 collected 0 items / 1 error ==================================== ERRORS ==================================== ___ ERROR collecting test_pytest_bdd_after_scenario_called_after_scenario.py ___ /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/pluggy/_manager.py:475: in traced_hookexec return outcome.get_result() ^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/pluggy/_manager.py:472: in <lambda> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/python.py:240: in pytest_pycollect_makeitem return list(collector._genfunctions(name, obj)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/python.py:448: in _genfunctions definition = FunctionDefinition.from_parent(self, name=name, callobj=funcobj) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/python.py:1625: in from_parent return super().from_parent(parent=parent, **kw) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/nodes.py:233: in from_parent return cls._create(parent=parent, **kw) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/nodes.py:110: in _create return super().__call__(*k, **kw) # type: ignore[no-any-return,misc] ^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/python.py:1616: in __init__ fixtureinfo = fm.getfixtureinfo(self, self.obj, self.cls) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/fixtures.py:1569: in getfixtureinfo initialnames = deduplicate_names(autousenames, usefixturesnames, argnames) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/fixtures.py:1496: in deduplicate_names return tuple(dict.fromkeys(name for seq in seqs for name in seq)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/fixtures.py:1496: in <genexpr> return tuple(dict.fromkeys(name for seq in seqs for name in seq)) ^^^ /usr/lib/python3/dist-packages/_pytest/fixtures.py:1616: in _getusefixturesnames marker_node.warn( /usr/lib/python3/dist-packages/_pytest/nodes.py:271: in warn warnings.warn_explicit( E pytest.PytestWarning: usefixtures() in test_pytest_bdd_after_scenario_called_after_scenario.py::test_scenario_1 without arguments has no effect =========================== short test summary info ============================ ERROR test_pytest_bdd_after_scenario_called_after_scenario.py - pytest.Pytest... !!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!! =============================== 1 error in 0.12s =============================== =========================== short test summary info ============================ FAILED tests/args/cfparse/test_args.py::test_every_step_takes_param_with_the_same_name FAILED tests/args/cfparse/test_args.py::test_argument_in_when - AssertionErro... FAILED tests/args/parse/test_args.py::test_every_steps_takes_param_with_the_same_name FAILED tests/args/parse/test_args.py::test_argument_in_when_step_1 - Assertio... FAILED tests/args/regex/test_args.py::test_every_steps_takes_param_with_the_same_name FAILED tests/args/regex/test_args.py::test_exact_match - AssertionError: asse... FAILED tests/args/regex/test_args.py::test_argument_in_when - AssertionError:... FAILED tests/args/test_common.py::test_reuse_same_step_different_converters FAILED tests/args/test_common.py::test_string_steps_dont_take_precedence - As... FAILED tests/feature/test_alias.py::test_step_alias - AssertionError: assert ... FAILED tests/feature/test_background.py::test_background_basic - AssertionErr... FAILED tests/feature/test_background.py::test_background_check_order - Assert... FAILED tests/feature/test_cucumber_json.py::test_step_trace - AssertionError:... FAILED tests/feature/test_description.py::test_description - AssertionError: ... FAILED tests/feature/test_gherkin_terminal_reporter.py::test_default_output_should_be_the_same_as_regular_terminal_reporter FAILED tests/feature/test_gherkin_terminal_reporter.py::test_verbose_mode_should_display_feature_and_scenario_names_instead_of_test_names_in_a_single_line FAILED tests/feature/test_gherkin_terminal_reporter.py::test_double_verbose_mode_should_display_full_scenario_description FAILED tests/feature/test_gherkin_terminal_reporter.py::test_error_message_for_missing_steps[] FAILED tests/feature/test_gherkin_terminal_reporter.py::test_error_message_for_missing_steps[-v] FAILED tests/feature/test_gherkin_terminal_reporter.py::test_error_message_for_missing_steps[-vv] FAILED tests/feature/test_gherkin_terminal_reporter.py::test_error_message_should_be_displayed[] FAILED tests/feature/test_gherkin_terminal_reporter.py::test_error_message_should_be_displayed[-v] FAILED tests/feature/test_gherkin_terminal_reporter.py::test_error_message_should_be_displayed[-vv] FAILED tests/feature/test_gherkin_terminal_reporter.py::test_local_variables_should_be_displayed_when_showlocals_option_is_used FAILED tests/feature/test_gherkin_terminal_reporter.py::test_step_parameters_should_be_replaced_by_their_values FAILED tests/feature/test_no_sctrict_gherkin.py::test_background_no_strict_gherkin FAILED tests/feature/test_no_sctrict_gherkin.py::test_scenario_no_strict_gherkin FAILED tests/feature/test_outline_empty_values.py::test_scenario_with_empty_example_values FAILED tests/feature/test_report.py::test_step_trace - ValueError: could not ... FAILED tests/feature/test_same_function_name.py::test_when_function_name_same_as_step_name FAILED tests/feature/test_scenario.py::test_scenario_comments - AssertionErro... FAILED tests/feature/test_scenario.py::test_angular_brakets_are_not_parsed - ... FAILED tests/feature/test_steps.py::test_steps - AssertionError: assert {'err... FAILED tests/feature/test_steps.py::test_step_function_can_be_decorated_multiple_times FAILED tests/feature/test_steps.py::test_all_steps_can_provide_fixtures - Ass... FAILED tests/feature/test_steps.py::test_when_first - AssertionError: assert ... FAILED tests/feature/test_steps.py::test_then_after_given - AssertionError: a... FAILED tests/feature/test_steps.py::test_conftest - AssertionError: assert {'... FAILED tests/feature/test_steps.py::test_multiple_given - AssertionError: ass... FAILED tests/feature/test_steps.py::test_step_hooks - IndexError: list index ... FAILED tests/feature/test_steps.py::test_step_trace - AssertionError: assert ... FAILED tests/feature/test_steps.py::test_steps_with_yield - AssertionError: a... FAILED tests/feature/test_tags.py::test_tags_selector - KeyError: 'passed' FAILED tests/feature/test_tags.py::test_tags_after_background_issue_160 - Key... FAILED tests/feature/test_tags.py::test_apply_tag_hook - Failed: nomatch: 'SK... FAILED tests/feature/test_tags.py::test_tag_with_spaces - Failed: nomatch: '*... FAILED tests/feature/test_tags.py::test_at_in_scenario - Failed: nomatch: '*=... FAILED tests/generation/test_generate_missing.py::test_generate_missing - Ass... FAILED tests/generation/test_generate_missing.py::test_generate_missing_with_step_parsers FAILED tests/library/test_parent.py::test_global_when_step - AssertionError: ... FAILED tests/library/test_parent.py::test_uses_correct_step_in_the_hierarchy FAILED tests/steps/test_common.py::test_step_function_multiple_target_fixtures FAILED tests/steps/test_common.py::test_step_functions_same_parser - Assertio... FAILED tests/steps/test_common.py::test_user_implements_a_step_generator - As... FAILED tests/steps/test_common.py::test_step_catches_all - AssertionError: as... FAILED tests/steps/test_given.py::test_given_injection - AssertionError: asse... FAILED tests/steps/test_unicode.py::test_steps_in_feature_file_have_unicode FAILED tests/steps/test_unicode.py::test_steps_in_py_file_have_unicode - Asse... FAILED tests/test_hooks.py::test_conftest_module_evaluated_twice - AssertionE... FAILED tests/test_hooks.py::test_pytest_bdd_after_scenario_called_after_scenario =========== 60 failed, 59 passed, 1 skipped, 2 deselected in 14.27s ============ E: pybuild pybuild:389: test: plugin custom failed with: exit code=1: python3.13 -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.13 --system=custom "--test-args={interpreter} -m pytest -k 'not test_generate_with_quotes and not test_unicode_characters'" returned exit code 13 make[1]: *** [debian/rules:11: override_dh_auto_test] Error 25 make[1]: Leaving directory '/<<PKGBUILDDIR>>' make: *** [debian/rules:6: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------

