Bug 2374292 - python-hypothesmith: FTBFS in Fedora Rawhide with tests: AttributeError: 'int' object has no attribute '_codegen' + black.parsing.ASTSafetyError: cannot use --safe with this file; failed to parse source file AST: unexpected EOF while parsing [NEEDINFO]
Summary: python-hypothesmith: FTBFS in Fedora Rawhide with tests: AttributeError: 'int...
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: python-hypothesmith
Version: rawhide
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Orphan Owner
QA Contact:
URL: https://koschei.fedoraproject.org/pac...
Whiteboard:
Depends On:
Blocks: PYTHON3.14 F43FTBFS PYC3.14rc3
TreeView+ depends on / blocked
 
Reported: 2025-06-23 10:46 UTC by Karolina Surma
Modified: 2025-10-31 02:16 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
mhroncok: needinfo? (davide)
mhroncok: needinfo? (davide)
mhroncok: needinfo? (davide)
ksurma: needinfo? (davide)


Attachments (Terms of Use)

Description Karolina Surma 2025-06-23 10:46:53 UTC
Description of problem:
Package python-hypothesmith fails to build from source in Fedora Rawhide.

Version-Release number of selected component (if applicable):
0.3.3-8.fc43

Steps to Reproduce:
Switch on the tests bcond
Run a mockbuild


Reproducible: Always

Actual Results:
_________________________ test_ast_unparse_from_nodes __________________________
  + Exception Group Traceback (most recent call last):
  |   File "/usr/lib/python3.14/site-packages/_pytest/runner.py", line 341, in from_call
  |     result: TResult | None = func()
  |                              ~~~~^^
  |   File "/usr/lib/python3.14/site-packages/_pytest/runner.py", line 242, in <lambda>
  |     lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
  |             ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  |   File "/usr/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__
  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  |            ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/usr/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec
  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  |            ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall
  |     raise exception
  |   File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
  |     teardown.throw(exception)
  |     ~~~~~~~~~~~~~~^^^^^^^^^^^
  |   File "/usr/lib/python3.14/site-packages/_pytest/threadexception.py", line 92, in pytest_runtest_call
  |     yield from thread_exception_runtest_hook()
  |   File "/usr/lib/python3.14/site-packages/_pytest/threadexception.py", line 68, in thread_exception_runtest_hook
  |     yield
  |   File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
  |     teardown.throw(exception)
  |     ~~~~~~~~~~~~~~^^^^^^^^^^^
  |   File "/usr/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 95, in pytest_runtest_call
  |     yield from unraisable_exception_runtest_hook()
  |   File "/usr/lib/python3.14/site-packages/_pytest/unraisableexception.py", line 70, in unraisable_exception_runtest_hook
  |     yield
  |   File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
  |     teardown.throw(exception)
  |     ~~~~~~~~~~~~~~^^^^^^^^^^^
  |   File "/usr/lib/python3.14/site-packages/_pytest/logging.py", line 846, in pytest_runtest_call
  |     yield from self._runtest_for(item, "call")
  |   File "/usr/lib/python3.14/site-packages/_pytest/logging.py", line 829, in _runtest_for
  |     yield
  |   File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
  |     teardown.throw(exception)
  |     ~~~~~~~~~~~~~~^^^^^^^^^^^
  |   File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper
  |     return result.get_result()
  |            ~~~~~~~~~~~~~~~~~^^
  |   File "/usr/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result
  |     raise exc.with_traceback(tb)
  |   File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper
  |     res = yield
  |           ^^^^^
  |   File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
  |     teardown.throw(exception)
  |     ~~~~~~~~~~~~~~^^^^^^^^^^^
  |   File "/usr/lib/python3.14/site-packages/_pytest/capture.py", line 898, in pytest_runtest_call
  |     return (yield)
  |             ^^^^^
  |   File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
  |     teardown.throw(exception)
  |     ~~~~~~~~~~~~~~^^^^^^^^^^^
  |   File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 53, in run_old_style_hookwrapper
  |     return result.get_result()
  |            ~~~~~~~~~~~~~~~~~^^
  |   File "/usr/lib/python3.14/site-packages/pluggy/_result.py", line 103, in get_result
  |     raise exc.with_traceback(tb)
  |   File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 38, in run_old_style_hookwrapper
  |     res = yield
  |           ^^^^^
  |   File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
  |     teardown.throw(exception)
  |     ~~~~~~~~~~~~~~^^^^^^^^^^^
  |   File "/usr/lib/python3.14/site-packages/_pytest/skipping.py", line 257, in pytest_runtest_call
  |     return (yield)
  |             ^^^^^
  |   File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall
  |     res = hook_impl.function(*args)
  |   File "/usr/lib/python3.14/site-packages/_pytest/runner.py", line 174, in pytest_runtest_call
  |     item.runtest()
  |     ~~~~~~~~~~~~^^
  |   File "/usr/lib/python3.14/site-packages/_pytest/python.py", line 1627, in runtest
  |     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
  |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  |   File "/usr/lib/python3.14/site-packages/pluggy/_hooks.py", line 512, in __call__
  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  |            ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/usr/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec
  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  |            ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 167, in _multicall
  |     raise exception
  |   File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 121, in _multicall
  |     res = hook_impl.function(*args)
  |   File "/usr/lib/python3.14/site-packages/_pytest/python.py", line 159, in pytest_pyfunc_call
  |     result = testfunction(**testargs)
  |   File "/builddir/build/BUILD/python-hypothesmith-0.3.3-build/hypothesmith-0.3.3/tests/test_cst.py", line 48, in test_ast_unparse_from_nodes
  |     @given(source_code=hypothesmith.from_node())
  |                    ^^^
  |   File "/usr/lib/python3.14/site-packages/hypothesis/core.py", line 1787, in wrapped_test
  |     raise the_error_hypothesis_found
  | ExceptionGroup: Hypothesis found 3 distinct failures. (3 sub-exceptions)
  | Highest target scores:
  |                4  (label='(hypothesmith from_node) number of unique ast node types')
  |                4  (label='(hypothesmith from_node) total number of ast nodes')
  |               10  (label='(hypothesmith from_node) instructions in bytecode')
  | 
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "/builddir/build/BUILD/python-hypothesmith-0.3.3-build/BUILDROOT/usr/lib/python3.14/site-packages/hypothesmith/cst.py", line 278, in <lambda>
    |     code = st.from_type(node).map(lambda n: libcst.Module([n]).code).filter(compilable)
    |                                             ^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/module.py", line 116, in code
    |     return self.code_for_node(self)
    |            ~~~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/module.py", line 136, in code_for_node
    |     node._codegen(state)
    |     ~~~~~~~~~~~~~^^^^^^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/base.py", line 299, in _codegen
    |     self._codegen_impl(state, **kwargs)
    |     ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/module.py", line 99, in _codegen_impl
    |     stmt._codegen(state)
    |     ~~~~~~~~~~~~~^^^^^^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/base.py", line 299, in _codegen
    |     self._codegen_impl(state, **kwargs)
    |     ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/module.py", line 99, in _codegen_impl
    |     stmt._codegen(state)
    |     ~~~~~~~~~~~~~^^^^^^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/base.py", line 299, in _codegen
    |     self._codegen_impl(state, **kwargs)
    |     ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/statement.py", line 1063, in _codegen_impl
    |     finalbody._codegen(state)
    |     ~~~~~~~~~~~~~~~~~~^^^^^^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/base.py", line 299, in _codegen
    |     self._codegen_impl(state, **kwargs)
    |     ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/statement.py", line 982, in _codegen_impl
    |     self.body._codegen(state)
    |     ~~~~~~~~~~~~~~~~~~^^^^^^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/base.py", line 299, in _codegen
    |     self._codegen_impl(state, **kwargs)
    |     ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/statement.py", line 720, in _codegen_impl
    |     stmt._codegen(state)
    |     ^^^^^^^^^^^^^
    | AttributeError: 'int' object has no attribute '_codegen'
    | while generating 'source_code' from builds_filtering(Module).map(lambda n: libcst.Module([n]).code).filter(compilable).map(record_targets)
    | Explanation:
    |     These lines were always and only run by failing examples:
    |         /usr/lib64/python3.14/site-packages/libcst/_nodes/statement.py:713
    |         /usr/lib64/python3.14/site-packages/libcst/_nodes/statement.py:716
    +---------------- 2 ----------------
    | Traceback (most recent call last):
    |   File "/builddir/build/BUILD/python-hypothesmith-0.3.3-build/BUILDROOT/usr/lib/python3.14/site-packages/hypothesmith/cst.py", line 123, in builds_filtering
    |     return draw(st.builds(t, **kwargs))
    |   File "/usr/lib/python3.14/site-packages/hypothesis/internal/conjecture/data.py", line 2503, in draw
    |     return strategy.do_draw(self)
    |            ~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/strategies/_internal/lazy.py", line 167, in do_draw
    |     return data.draw(self.wrapped_strategy)
    |            ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/internal/conjecture/data.py", line 2503, in draw
    |     return strategy.do_draw(self)
    |            ~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/strategies/_internal/core.py", line 987, in do_draw
    |     kwargs = {k: data.draw(v) for k, v in self.kwargs.items()}
    |                  ~~~~~~~~~^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/internal/conjecture/data.py", line 2503, in draw
    |     return strategy.do_draw(self)
    |            ~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/strategies/_internal/deferred.py", line 87, in do_draw
    |     return data.draw(self.wrapped_strategy)
    |            ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/internal/conjecture/data.py", line 2503, in draw
    |     return strategy.do_draw(self)
    |            ~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/strategies/_internal/strategies.py", line 684, in do_draw
    |     return data.draw(strategy)
    |            ~~~~~~~~~^^^^^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/internal/conjecture/data.py", line 2503, in draw
    |     return strategy.do_draw(self)
    |            ~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/strategies/_internal/lazy.py", line 167, in do_draw
    |     return data.draw(self.wrapped_strategy)
    |            ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/internal/conjecture/data.py", line 2503, in draw
    |     return strategy.do_draw(self)
    |            ~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/strategies/_internal/collections.py", line 196, in do_draw
    |     result.append(data.draw(self.element_strategy))
    |                   ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/internal/conjecture/data.py", line 2503, in draw
    |     return strategy.do_draw(self)
    |            ~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/strategies/_internal/strategies.py", line 684, in do_draw
    |     return data.draw(strategy)
    |            ~~~~~~~~~^^^^^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/internal/conjecture/data.py", line 2503, in draw
    |     return strategy.do_draw(self)
    |            ~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/strategies/_internal/lazy.py", line 167, in do_draw
    |     return data.draw(self.wrapped_strategy)
    |            ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/internal/conjecture/data.py", line 2503, in draw
    |     return strategy.do_draw(self)
    |            ~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/strategies/_internal/core.py", line 1775, in do_draw
    |     return self.definition(data.draw, *self.args, **self.kwargs)
    |            ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/builddir/build/BUILD/python-hypothesmith-0.3.3-build/BUILDROOT/usr/lib/python3.14/site-packages/hypothesmith/cst.py", line 123, in builds_filtering
    |     return draw(st.builds(t, **kwargs))
    |   File "/usr/lib/python3.14/site-packages/hypothesis/internal/conjecture/data.py", line 2503, in draw
    |     return strategy.do_draw(self)
    |            ~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/strategies/_internal/lazy.py", line 167, in do_draw
    |     return data.draw(self.wrapped_strategy)
    |            ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/internal/conjecture/data.py", line 2503, in draw
    |     return strategy.do_draw(self)
    |            ~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/strategies/_internal/core.py", line 987, in do_draw
    |     kwargs = {k: data.draw(v) for k, v in self.kwargs.items()}
    |                  ~~~~~~~~~^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/internal/conjecture/data.py", line 2503, in draw
    |     return strategy.do_draw(self)
    |            ~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/strategies/_internal/deferred.py", line 87, in do_draw
    |     return data.draw(self.wrapped_strategy)
    |            ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/internal/conjecture/data.py", line 2503, in draw
    |     return strategy.do_draw(self)
    |            ~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/strategies/_internal/strategies.py", line 684, in do_draw
    |     return data.draw(strategy)
    |            ~~~~~~~~~^^^^^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/internal/conjecture/data.py", line 2503, in draw
    |     return strategy.do_draw(self)
    |            ~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/strategies/_internal/lazy.py", line 167, in do_draw
    |     return data.draw(self.wrapped_strategy)
    |            ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/internal/conjecture/data.py", line 2503, in draw
    |     return strategy.do_draw(self)
    |            ~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/strategies/_internal/core.py", line 1775, in do_draw
    |     return self.definition(data.draw, *self.args, **self.kwargs)
    |            ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/builddir/build/BUILD/python-hypothesmith-0.3.3-build/BUILDROOT/usr/lib/python3.14/site-packages/hypothesmith/cst.py", line 123, in builds_filtering
    |     return draw(st.builds(t, **kwargs))
    |   File "/usr/lib/python3.14/site-packages/hypothesis/internal/conjecture/data.py", line 2503, in draw
    |     return strategy.do_draw(self)
    |            ~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/strategies/_internal/lazy.py", line 167, in do_draw
    |     return data.draw(self.wrapped_strategy)
    |            ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/internal/conjecture/data.py", line 2503, in draw
    |     return strategy.do_draw(self)
    |            ~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib/python3.14/site-packages/hypothesis/strategies/_internal/core.py", line 989, in do_draw
    |     obj = self.target(*args, **kwargs)
    |   File "<string>", line 6, in __init__
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/base.py", line 117, in __post_init__
    |     self._validate()
    |     ~~~~~~~~~~~~~~^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/statement.py", line 389, in _validate
    |     if small_stmt.semicolon is None:
    |        ^^^^^^^^^^^^^^^^^^^^
    | AttributeError: 'int' object has no attribute 'semicolon'
    | while generating 'source_code' from builds_filtering(Module).map(lambda n: libcst.Module([n]).code).filter(compilable).map(record_targets)
    | Explanation:
    |     These lines were always and only run by failing examples:
    |         /builddir/build/BUILD/python-hypothesmith-0.3.3-build/BUILDROOT/usr/lib/python3.14/site-packages/hypothesmith/cst.py:124
    |         /usr/lib64/python3.14/site-packages/libcst/_nodes/statement.py:389
    +---------------- 3 ----------------
    | Traceback (most recent call last):
    |   File "/builddir/build/BUILD/python-hypothesmith-0.3.3-build/BUILDROOT/usr/lib/python3.14/site-packages/hypothesmith/cst.py", line 278, in <lambda>
    |     code = st.from_type(node).map(lambda n: libcst.Module([n]).code).filter(compilable)
    |                                             ^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/module.py", line 116, in code
    |     return self.code_for_node(self)
    |            ~~~~~~~~~~~~~~~~~~^^^^^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/module.py", line 136, in code_for_node
    |     node._codegen(state)
    |     ~~~~~~~~~~~~~^^^^^^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/base.py", line 299, in _codegen
    |     self._codegen_impl(state, **kwargs)
    |     ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/module.py", line 99, in _codegen_impl
    |     stmt._codegen(state)
    |     ~~~~~~~~~~~~~^^^^^^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/base.py", line 299, in _codegen
    |     self._codegen_impl(state, **kwargs)
    |     ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    |   File "/usr/lib64/python3.14/site-packages/libcst/_nodes/module.py", line 99, in _codegen_impl
    |     stmt._codegen(state)
    |     ^^^^^^^^^^^^^
    | AttributeError: 'int' object has no attribute '_codegen'
    | while generating 'source_code' from builds_filtering(Module).map(lambda n: libcst.Module([n]).code).filter(compilable).map(record_targets)
    +------------------------------------
____________________ test_black_autoformatter_from_grammar _____________________
/usr/lib/python3.14/site-packages/black/__init__.py:1517: in assert_equivalent
    src_ast = parse_ast(src)
/usr/lib/python3.14/site-packages/black/parsing.py:156: in parse_ast
    raise SyntaxError(first_error)
E   SyntaxError: unexpected EOF while parsing (<unknown>, line 1)

The above exception was the direct cause of the following exception:
tests/test_syntactic.py:64: in test_black_autoformatter_from_grammar
    @example("A#\r#", black.Mode())
/usr/lib/python3.14/site-packages/hypothesis/core.py:1431: in _raise_to_user
    raise the_error_hypothesis_found
tests/test_syntactic.py:76: in test_black_autoformatter_from_grammar
    result = black.format_file_contents(source_code, fast=False, mode=mode)
/usr/lib/python3.14/site-packages/black/__init__.py:1085: in format_file_contents
    check_stability_and_equivalence(
/usr/lib/python3.14/site-packages/black/__init__.py:1059: in check_stability_and_equivalence
    assert_equivalent(src_contents, dst_contents)
/usr/lib/python3.14/site-packages/black/__init__.py:1519: in assert_equivalent
    raise ASTSafetyError(
E   black.parsing.ASTSafetyError: cannot use --safe with this file; failed to parse source file AST: unexpected EOF while parsing (<unknown>, line 1)
E   This could be caused by running Black with an older Python version that does not support new syntax used in your source file.
E   Falsifying explicit example: test_black_autoformatter_from_grammar(
E       source_code='\\',
E       mode=Mode(target_versions=set(),
E        line_length=88,
E        string_normalization=True,
E        is_pyi=False,
E        is_ipynb=False,
E        skip_source_first_line=False,
E        magic_trailing_comma=True,
E        python_cell_magics=set(),
E        preview=False,
E        unstable=False,
E        enabled_features=set()),
E   )


=========================== short test summary info ============================
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[AnnAssign]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Arg] - Attri...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Assert] - At...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Assign] - At...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[AssignTarget]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Attribute]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[AugAssign]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Await] - Exc...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[BinaryOperation]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[BooleanOperation]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Call] - Exce...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[ClassDef] - ...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[CompFor] - E...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[CompIf] - Ex...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Comparison]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[ComparisonTarget]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[ConcatenatedString]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Decorator]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Del] - Excep...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Dict] - Attr...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[DictComp] - ...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[DictElement]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Element] - E...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Else] - Exce...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[ExceptHandler]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[ExceptStarHandler]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Expr] - Attr...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Finally] - E...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[For] - Attri...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[FormattedString]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[FormattedStringExpression]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[From] - Exce...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[FunctionDef]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[GeneratorExp]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[If] - Except...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[IfExp] - Att...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[ImportFrom]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[IndentedBlock]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Index] - Exc...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Lambda] - Ex...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[List] - Exce...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[ListComp] - ...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Match] - Exc...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[MatchCase]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[MatchClass]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[MatchKeywordElement]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[MatchList]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[MatchMappingElement]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[MatchOr] - A...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[MatchOrElement]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[MatchSequenceElement]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[MatchTuple]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[MatchValue]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Module] - At...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[NamedExpr]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[SetComp] - A...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[SimpleStatementLine]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[SimpleStatementSuite]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Slice] - Exc...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[StarredDictElement]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[StarredElement]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Subscript]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[SubscriptElement]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Try] - Attri...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[TryStar] - A...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[Tuple] - Exc...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[TypeAlias]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[UnaryOperation]
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[While] - Exc...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[With] - Exce...
FAILED tests/test_cst.py::test_source_code_from_libcst_node_type[WithItem] - ...
FAILED tests/test_cst.py::test_ast_unparse_from_nodes - ExceptionGroup: Hypot...
FAILED tests/test_cst.py::test_from_node_always_compilable - AttributeError: ...
FAILED tests/test_syntactic.py::test_black_autoformatter_from_grammar - black...
= 74 failed, 100 passed, 2 skipped, 4 xfailed, 1 xpassed in 1941.26s (0:32:21) =

Comment 1 Miro Hrončok 2025-08-26 11:08:43 UTC
Hello. This is a bulk comment.

This package still needs to be rebuilt and/or shipped with Python 3.14.0rc2+ bytecode in Fedora 43.

The Beta Freeze of Fedora 43 is scheduled to start today. Please prioritize this bugzilla accordingly.

Thanks.

Comment 2 Miro Hrončok 2025-09-23 18:55:58 UTC
Hello. This is a bulk comment.

This package still needs to be rebuilt and/or shipped with Python 3.14.0rc3+ bytecode in Fedora 43.

The Final Freeze of Fedora 43 is scheduled to start on 2025-10-07. Please prioritize this bugzilla accordingly.

Thanks.

Comment 3 Karolina Surma 2025-09-29 14:21:09 UTC
Hello. This is a bulk comment.

This package still needs to be rebuilt and/or shipped with Python 3.14.0rc3+ bytecode in Fedora 43.

The Final Freeze of Fedora 43 is scheduled to start next week. Please prioritize this bugzilla accordingly.

Thanks.

Comment 4 Fedora Admin user for bugzilla script actions 2025-10-31 02:16:21 UTC
This package has changed maintainer in Fedora. Reassigning to the new maintainer of this component.


Note You need to log in before you can comment on or make changes to this bug.