Package: python3-attr
Version: 23.2.0-1
Severity: serious
Tags: ftbfs
Justification: ftbfs
X-Debbugs-Cc: ltw...@debian.org

Dear Maintainer,

It seems that python3-attr cannot be built at the present moment.



-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.6.15-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=it_IT.UTF-8, LC_CTYPE=it_IT.UTF-8 (charmap=UTF-8), LANGUAGE=it
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages python3-attr depends on:
ii  python3 [python3-supported-min]  3.11.6-1
ii  python3-importlib-metadata       4.12.0-1

python3-attr recommends no packages.

Versions of packages python3-attr suggests:
pn  python-attr-doc  <none>

-- no debconf information
dpkg-buildpackage
dpkg-buildpackage: info: source package python-attrs
dpkg-buildpackage: info: source version 23.2.0-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Timo Röhling <roehl...@debian.org>
dpkg-buildpackage: info: host architecture amd64
 dpkg-source --before-build .
 debian/rules clean
dh clean --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 dpkg-source -b .
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building python-attrs using existing 
./python-attrs_23.2.0.orig.tar.gz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: building python-attrs in python-attrs_23.2.0-1.debian.tar.xz
dpkg-source: info: building python-attrs in python-attrs_23.2.0-1.dsc
 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.12 with "build" 
module
I: pybuild base:305: python3.12 -m build --skip-dependency-check --no-isolation 
--wheel --outdir /tmp/python-attrs-23.2.0/.pybuild/cpython3_3.12_attr
* Building wheel...
Successfully built attrs-23.2.0-py3-none-any.whl
I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with 
"installer" module
I: pybuild plugin_pyproject:129: Building wheel for python3.11 with "build" 
module
I: pybuild base:305: python3.11 -m build --skip-dependency-check --no-isolation 
--wheel --outdir /tmp/python-attrs-23.2.0/.pybuild/cpython3_3.11_attr
* Building wheel...
Successfully built attrs-23.2.0-py3-none-any.whl
I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.11 with 
"installer" module
   debian/rules execute_after_dh_auto_build
make[1]: Entering directory '/tmp/python-attrs-23.2.0'
PYTHONPATH=/tmp/python-attrs-23.2.0/.pybuild/cpython3_3.11_attr/build \
   http_proxy='127.0.0.1:9' \
   https_proxy='127.0.0.1:9' \
   python3 -m sphinx -N -b html docs/ 
/tmp/python-attrs-23.2.0/.pybuild/docs/html/
Running Sphinx v7.2.6
making output directory... done
myst v2.0.0: MdParserConfig(commonmark_only=False, gfm_only=False, 
enable_extensions={'colon_fence', 'deflist', 'smartquotes'}, disable_syntax=[], 
all_links_external=False, url_schemes=('http', 'https', 'mailto', 'ftp'), 
ref_domains=None, fence_as_directive=set(), number_code_blocks=[], 
title_to_header=False, heading_anchors=0, heading_slug_func=None, html_meta={}, 
footnote_transition=True, words_per_minute=200, substitutions={}, 
linkify_fuzzy_links=True, dmath_allow_labels=True, dmath_allow_space=True, 
dmath_allow_digits=True, dmath_double_inline=False, update_mathjax=True, 
mathjax_classes='tex2jax_process|mathjax_process|math|output_area', 
enable_checkboxes=False, suppress_warnings=[], highlight_code_blocks=True)
loading intersphinx inventory from 
/usr/share/doc/python3-doc/html/objects.inv...
building [mo]: targets for 0 po files that are out of date
writing output...
building [html]: targets for 16 source files that are out of date
updating environment: [new config] 16 added, 0 changed, 0 removed
reading sources... [100%] why
/tmp/python-attrs-23.2.0/docs/changelog.md:5: WARNING: Unknown directive type: 
'towncrier-draft-entries' [myst.directive_unknown]
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
copying assets... copying static files... done
copying extra files... done
done
writing output... [100%] why
generating indices... genindex py-modindex done
writing additional pages... search done
copying images... [100%] _static/attrs_logo.png
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded, 1 warning.

The HTML pages are in .pybuild/docs/html.
make[1]: Leaving directory '/tmp/python-attrs-23.2.0'
   dh_auto_test -O--buildsystem=pybuild
I: pybuild base:305: cd 
/tmp/python-attrs-23.2.0/.pybuild/cpython3_3.12_attr/build; python3.12 -m 
pytest tests
=================================================================================
 test session starts 
==================================================================================
platform linux -- Python 3.12.2, pytest-8.0.2, pluggy-1.4.0
rootdir: /tmp/python-attrs-23.2.0
configfile: pyproject.toml
plugins: hypothesis-6.98.12
collected 1326 items / 1 skipped

tests/test_abc.py ....                                                          
                                                                                
                 [  0%]
tests/test_annotations.py ...............................................       
                                                                                
                 [  3%]
tests/test_cmp.py 
..............................................................................  
                                                                               
[  9%]
tests/test_compat.py ...                                                        
                                                                                
                 [  9%]
tests/test_config.py ....                                                       
                                                                                
                 [ 10%]
tests/test_converters.py ......................                                 
                                                                                
                 [ 11%]
tests/test_dunders.py 
.................................................................................................
                                                          [ 19%]
tests/test_filters.py .................................                         
                                                                                
                 [ 21%]
tests/test_funcs.py .....................................F..............        
                                                                                
                 [ 25%]
tests/test_functional.py 
.......................................................................................................................................................
 [ 37%]
................................................................................................................................................................................
 [ 50%]
.............................................................................   
                                                                                
                 [ 56%]
tests/test_hooks.py ..........                                                  
                                                                                
                 [ 56%]
tests/test_import.py .                                                          
                                                                                
                 [ 56%]
tests/test_init_subclass.py ....                                                
                                                                                
                 [ 57%]
tests/test_make.py 
.............................................................................................................................................................
 [ 69%]
.............................................................................................s.......
                                                                            [ 
76%]
tests/test_next_gen.py .................................                        
                                                                                
                 [ 79%]
tests/test_packaging.py ......................                                  
                                                                                
                 [ 80%]
tests/test_pattern_matching.py .....                                            
                                                                                
                 [ 81%]
tests/test_pyright.py ss                                                        
                                                                                
                 [ 81%]
tests/test_setattr.py ..................x.................                      
                                                                                
                 [ 84%]
tests/test_slots.py .............s.....................................         
                                                                                
                 [ 87%]
tests/test_utils.py ..                                                          
                                                                                
                 [ 88%]
tests/test_validators.py 
.......................................................................................................................................................
 [ 99%]
.                                                                               
                                                                                
                 [ 99%]
tests/test_version_info.py ......                                               
                                                                                
                 [100%]

=======================================================================================
 FAILURES 
=======================================================================================
________________________________________________________________________________
 TestAssoc.test_unknown 
________________________________________________________________________________

self = <tests.test_funcs.TestAssoc object at 0x7f0bc3a6d010>, C = <class 
'tests.strategies.HypClass'>

    @given(simple_classes())
    def test_unknown(self, C):
        """
        Wanting to change an unknown attribute raises an
        AttrsAttributeNotFoundError.
        """
        # No generated class will have a four letter attribute.
        with pytest.raises(
            AttrsAttributeNotFoundError
        ) as e, pytest.deprecated_call():
>           assoc(C(), aaaa=2)

tests/test_funcs.py:606:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _

inst = HypClass(), changes = {'aaaa': 2}, new = HypClass(), attrs = (), k = 
'aaaa', v = 2, a = NOTHING, msg = "aaaa is not an attrs attribute on <class 
'tests.strategies.HypClass'>."

    def assoc(inst, **changes):
        """
        Copy *inst* and apply *changes*.

        This is different from `evolve` that applies the changes to the 
arguments
        that create the new instance.

        `evolve`'s behavior is preferable, but there are `edge cases`_ where it
        doesn't work. Therefore `assoc` is deprecated, but will not be removed.

        .. _`edge cases`: https://github.com/python-attrs/attrs/issues/251

        :param inst: Instance of a class with *attrs* attributes.
        :param changes: Keyword changes in the new copy.

        :return: A copy of inst with *changes* incorporated.

        :raise attrs.exceptions.AttrsAttributeNotFoundError: If *attr_name*
            couldn't be found on *cls*.
        :raise attrs.exceptions.NotAnAttrsClassError: If *cls* is not an *attrs*
            class.

        ..  deprecated:: 17.1.0
            Use `attrs.evolve` instead if you can.
            This function will not be removed du to the slightly different 
approach
            compared to `attrs.evolve`.
        """
        new = copy.copy(inst)
        attrs = fields(inst.__class__)
        for k, v in changes.items():
            a = getattr(attrs, k, NOTHING)
            if a is NOTHING:
                msg = f"{k} is not an attrs attribute on {new.__class__}."
>               raise AttrsAttributeNotFoundError(msg)
E               attr.exceptions.AttrsAttributeNotFoundError: aaaa is not an 
attrs attribute on <class 'tests.strategies.HypClass'>.

attr/_funcs.py:358: AttrsAttributeNotFoundError

During handling of the above exception, another exception occurred:

self = <tests.test_funcs.TestAssoc object at 0x7f0bc3a6d010>

    @given(simple_classes())
>   def test_unknown(self, C):

tests/test_funcs.py:597:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _

self = <tests.test_funcs.TestAssoc object at 0x7f0bc3a6d010>, C = <class 
'tests.strategies.HypClass'>

    @given(simple_classes())
    def test_unknown(self, C):
        """
        Wanting to change an unknown attribute raises an
        AttrsAttributeNotFoundError.
        """
        # No generated class will have a four letter attribute.
>       with pytest.raises(
            AttrsAttributeNotFoundError
        ) as e, pytest.deprecated_call():
E       Failed: DID NOT WARN. No warnings of type (<class 
'DeprecationWarning'>, <class 'PendingDeprecationWarning'>, <class 
'FutureWarning'>) were emitted.
E        Emitted warnings: [].
E       Falsifying example: test_unknown(
E           self=<tests.test_funcs.TestAssoc object at 0x7f0bc3a6d010>,
E           C=tests.strategies.HypClass,  # or any other generated value
E       )

tests/test_funcs.py:603: Failed
======================================================================================
 XFAILURES 
=======================================================================================
__________________________________________________________________________ 
TestSetAttr.test_slotted_confused 
___________________________________________________________________________

self = <tests.test_setattr.TestSetAttr object at 0x7f0bc3979a00>

    @pytest.mark.xfail(raises=attr.exceptions.FrozenAttributeError)
    def test_slotted_confused(self):
        """
        If we have a in-between non-attrs class, setattr reset detection
        should still work, but currently doesn't.

        It works with dict classes because we can look the finished class and
        patch it.  With slotted classes we have to deduce it ourselves.
        """

        @attr.s(slots=True)
        class A:
            x = attr.ib(on_setattr=setters.frozen)

        class B(A):
            pass

        @attr.s(slots=True)
        class C(B):
            x = attr.ib()

>       C(1).x = 2

tests/test_setattr.py:312:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _
<attrs generated init 
tests.test_setattr.TestSetAttr.test_slotted_confused.<locals>.C>:2: in __init__
    self.x = x
attr/_make.py:1180: in __setattr__
    nval = hook(self, a, val)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _

_ = <[AttributeError("'C' object has no attribute 'x'") raised in repr()] C 
object at 0x7f0bc12c4b10>
__ = Attribute(name='x', default=NOTHING, validator=None, repr=True, eq=True, 
eq_key=None, order=True, order_key=None, hash..., type=None, converter=None, 
kw_only=False, inherited=False, on_setattr=<function frozen at 0x7f0bc54149a0>, 
alias='x')
___ = 1

    def frozen(_, __, ___):
        """
        Prevent an attribute to be modified.

        .. versionadded:: 20.1.0
        """
>       raise FrozenAttributeError()
E       attr.exceptions.FrozenAttributeError

attr/setters.py:36: FrozenAttributeError
=============================================================================== 
short test summary info 
================================================================================
SKIPPED [1] tests/test_3rd_party.py:14: could not import 'cloudpickle': No 
module named 'cloudpickle'
SKIPPED [1] tests/test_make.py:2476: Pre-3.10 only.
SKIPPED [1] tests/test_pyright.py:42: Requires pyright.
SKIPPED [1] tests/test_pyright.py:93: Requires pyright.
SKIPPED [1] tests/test_slots.py:497: slots without weakref_slot should only 
work on PyPy
XFAIL tests/test_setattr.py::TestSetAttr::test_slotted_confused
FAILED tests/test_funcs.py::TestAssoc::test_unknown - Failed: DID NOT WARN. No 
warnings of type (<class 'DeprecationWarning'>, <class 
'PendingDeprecationWarning'>, <class 'FutureWarning'>) were emitted.
================================================================ 1 failed, 1320 
passed, 5 skipped, 1 xfailed in 25.27s 
=================================================================
E: pybuild pybuild:391: test: plugin pyproject failed with: exit code=1: cd 
/tmp/python-attrs-23.2.0/.pybuild/cpython3_3.12_attr/build; python3.12 -m 
pytest tests
I: pybuild base:305: cd 
/tmp/python-attrs-23.2.0/.pybuild/cpython3_3.11_attr/build; python3.11 -m 
pytest tests
=================================================================================
 test session starts 
==================================================================================
platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0
rootdir: /tmp/python-attrs-23.2.0
configfile: pyproject.toml
plugins: hypothesis-6.98.12
collected 1326 items / 1 skipped

tests/test_abc.py ....                                                          
                                                                                
                 [  0%]
tests/test_annotations.py ...............................................       
                                                                                
                 [  3%]
tests/test_cmp.py 
..............................................................................  
                                                                               
[  9%]
tests/test_compat.py ...                                                        
                                                                                
                 [  9%]
tests/test_config.py ....                                                       
                                                                                
                 [ 10%]
tests/test_converters.py ......................                                 
                                                                                
                 [ 11%]
tests/test_dunders.py 
.................................................................................................
                                                          [ 19%]
tests/test_filters.py .................................                         
                                                                                
                 [ 21%]
tests/test_funcs.py .....................................F..............        
                                                                                
                 [ 25%]
tests/test_functional.py 
.......................................................................................................................................................
 [ 37%]
................................................................................................................................................................................
 [ 50%]
.............................................................................   
                                                                                
                 [ 56%]
tests/test_hooks.py ..........                                                  
                                                                                
                 [ 56%]
tests/test_import.py .                                                          
                                                                                
                 [ 56%]
tests/test_init_subclass.py ....                                                
                                                                                
                 [ 57%]
tests/test_make.py 
.............................................................................................................................................................
 [ 69%]
.............................................................................................s.......
                                                                            [ 
76%]
tests/test_next_gen.py .................................                        
                                                                                
                 [ 79%]
tests/test_packaging.py ......................                                  
                                                                                
                 [ 80%]
tests/test_pattern_matching.py .....                                            
                                                                                
                 [ 81%]
tests/test_pyright.py ss                                                        
                                                                                
                 [ 81%]
tests/test_setattr.py ..................x.................                      
                                                                                
                 [ 84%]
tests/test_slots.py .............s.....................................         
                                                                                
                 [ 87%]
tests/test_utils.py ..                                                          
                                                                                
                 [ 88%]
tests/test_validators.py 
.......................................................................................................................................................
 [ 99%]
.                                                                               
                                                                                
                 [ 99%]
tests/test_version_info.py ......                                               
                                                                                
                 [100%]

=======================================================================================
 FAILURES 
=======================================================================================
________________________________________________________________________________
 TestAssoc.test_unknown 
________________________________________________________________________________

self = <tests.test_funcs.TestAssoc object at 0x7faa60dc0390>, C = <class 
'tests.strategies.HypClass'>

    @given(simple_classes())
    def test_unknown(self, C):
        """
        Wanting to change an unknown attribute raises an
        AttrsAttributeNotFoundError.
        """
        # No generated class will have a four letter attribute.
        with pytest.raises(
            AttrsAttributeNotFoundError
        ) as e, pytest.deprecated_call():
>           assoc(C(), aaaa=2)

tests/test_funcs.py:606:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _

inst = HypClass(), changes = {'aaaa': 2}, new = HypClass(), attrs = (), k = 
'aaaa', v = 2, a = NOTHING, msg = "aaaa is not an attrs attribute on <class 
'tests.strategies.HypClass'>."

    def assoc(inst, **changes):
        """
        Copy *inst* and apply *changes*.

        This is different from `evolve` that applies the changes to the 
arguments
        that create the new instance.

        `evolve`'s behavior is preferable, but there are `edge cases`_ where it
        doesn't work. Therefore `assoc` is deprecated, but will not be removed.

        .. _`edge cases`: https://github.com/python-attrs/attrs/issues/251

        :param inst: Instance of a class with *attrs* attributes.
        :param changes: Keyword changes in the new copy.

        :return: A copy of inst with *changes* incorporated.

        :raise attrs.exceptions.AttrsAttributeNotFoundError: If *attr_name*
            couldn't be found on *cls*.
        :raise attrs.exceptions.NotAnAttrsClassError: If *cls* is not an *attrs*
            class.

        ..  deprecated:: 17.1.0
            Use `attrs.evolve` instead if you can.
            This function will not be removed du to the slightly different 
approach
            compared to `attrs.evolve`.
        """
        new = copy.copy(inst)
        attrs = fields(inst.__class__)
        for k, v in changes.items():
            a = getattr(attrs, k, NOTHING)
            if a is NOTHING:
                msg = f"{k} is not an attrs attribute on {new.__class__}."
>               raise AttrsAttributeNotFoundError(msg)
E               attr.exceptions.AttrsAttributeNotFoundError: aaaa is not an 
attrs attribute on <class 'tests.strategies.HypClass'>.

attr/_funcs.py:358: AttrsAttributeNotFoundError

During handling of the above exception, another exception occurred:

self = <tests.test_funcs.TestAssoc object at 0x7faa60dc0390>

    @given(simple_classes())
>   def test_unknown(self, C):

tests/test_funcs.py:597:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _

self = <tests.test_funcs.TestAssoc object at 0x7faa60dc0390>, C = <class 
'tests.strategies.HypClass'>

    @given(simple_classes())
    def test_unknown(self, C):
        """
        Wanting to change an unknown attribute raises an
        AttrsAttributeNotFoundError.
        """
        # No generated class will have a four letter attribute.
>       with pytest.raises(
            AttrsAttributeNotFoundError
        ) as e, pytest.deprecated_call():
E       Failed: DID NOT WARN. No warnings of type (<class 
'DeprecationWarning'>, <class 'PendingDeprecationWarning'>, <class 
'FutureWarning'>) were emitted.
E        Emitted warnings: [].
E       Falsifying example: test_unknown(
E           self=<tests.test_funcs.TestAssoc object at 0x7faa60dc0390>,
E           C=tests.strategies.HypClass,  # or any other generated value
E       )

tests/test_funcs.py:603: Failed
======================================================================================
 XFAILURES 
=======================================================================================
__________________________________________________________________________ 
TestSetAttr.test_slotted_confused 
___________________________________________________________________________

self = <tests.test_setattr.TestSetAttr object at 0x7faa6018a610>

    @pytest.mark.xfail(raises=attr.exceptions.FrozenAttributeError)
    def test_slotted_confused(self):
        """
        If we have a in-between non-attrs class, setattr reset detection
        should still work, but currently doesn't.

        It works with dict classes because we can look the finished class and
        patch it.  With slotted classes we have to deduce it ourselves.
        """

        @attr.s(slots=True)
        class A:
            x = attr.ib(on_setattr=setters.frozen)

        class B(A):
            pass

        @attr.s(slots=True)
        class C(B):
            x = attr.ib()

>       C(1).x = 2

tests/test_setattr.py:312:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _
<attrs generated init 
tests.test_setattr.TestSetAttr.test_slotted_confused.<locals>.C>:2: in __init__
    self.x = x
attr/_make.py:1180: in __setattr__
    nval = hook(self, a, val)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _

_ = <[AttributeError("'C' object has no attribute 'x'") raised in repr()] C 
object at 0x7faa60092010>
__ = Attribute(name='x', default=NOTHING, validator=None, repr=True, eq=True, 
eq_key=None, order=True, order_key=None, hash..., type=None, converter=None, 
kw_only=False, inherited=False, on_setattr=<function frozen at 0x7faa62770900>, 
alias='x')
___ = 1

    def frozen(_, __, ___):
        """
        Prevent an attribute to be modified.

        .. versionadded:: 20.1.0
        """
>       raise FrozenAttributeError()
E       attr.exceptions.FrozenAttributeError

attr/setters.py:36: FrozenAttributeError
=============================================================================== 
short test summary info 
================================================================================
SKIPPED [1] tests/test_3rd_party.py:14: could not import 'cloudpickle': No 
module named 'cloudpickle'
SKIPPED [1] tests/test_make.py:2476: Pre-3.10 only.
SKIPPED [1] tests/test_pyright.py:42: Requires pyright.
SKIPPED [1] tests/test_pyright.py:93: Requires pyright.
SKIPPED [1] tests/test_slots.py:497: slots without weakref_slot should only 
work on PyPy
XFAIL tests/test_setattr.py::TestSetAttr::test_slotted_confused
FAILED tests/test_funcs.py::TestAssoc::test_unknown - Failed: DID NOT WARN. No 
warnings of type (<class 'DeprecationWarning'>, <class 
'PendingDeprecationWarning'>, <class 'FutureWarning'>) were emitted.
================================================================ 1 failed, 1320 
passed, 5 skipped, 1 xfailed in 20.27s 
=================================================================
E: pybuild pybuild:391: test: plugin pyproject failed with: exit code=1: cd 
/tmp/python-attrs-23.2.0/.pybuild/cpython3_3.11_attr/build; python3.11 -m 
pytest tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 
3.11" returned exit code 13
make: *** [debian/rules:6: binary] Error 255
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

Reply via email to