Your message dated Wed, 17 Dec 2025 23:51:09 +0000
with message-id <[email protected]>
and subject line Bug#1123449: fixed in python-inline-snapshot 0.31.0-2
has caused the Debian Bug report #1123449,
regarding python-inline-snapshot: FTBFS: E   ModuleNotFoundError: No module 
named 'attrs'
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1123449: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1123449
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:python-inline-snapshot
Version: 0.31.0-1
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202512/

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 cannot 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:python-inline-snapshot, 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
   debian/rules override_dh_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
rm -rf html .mypy_cache .pytest_cache
dh_clean
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
 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
   debian/rules override_dh_auto_build

[... snipped ...]

    ) -> Example:
        """Run pytest with the given args and environment variables in a 
separate
        process.
    
        It can be used to test the interaction between your code and pytest, 
but it is a bit slower than `run_inline`.
    
        Parameters:
            args: pytest arguments like "--inline-snapshot=fix"
            env: dict of environment variables
            changed_files: snapshot of files changed by this run.
            report: snapshot of the report at the end of the pytest run.
            stderr: pytest stderr output
            returncode: snapshot of the pytest return code.
    
        Returns:
            A new Example instance containing the changed files.
        """
        self.dump_files()
    
        with TemporaryDirectory() as dir:
            tmp_path = Path(dir)
    
            self._write_files(tmp_path)
    
            cmd = [sys.executable, "-m", "pytest", *args]
    
            command_env = dict(os.environ)
            command_env["TERM"] = "unknown"
            command_env["COLUMNS"] = str(
                term_columns + 1 if platform.system() == "Windows" else 
term_columns
            )
            command_env.pop("CI", None)
            command_env.pop("GITHUB_ACTIONS", None)
            command_env.pop("PYTEST_XDIST_WORKER", None)
    
            if stdin:
                # makes Console.is_terminal == True
                command_env["FORCE_COLOR"] = "true"
    
            command_env.update(env)
    
            with change_file(
                tmp_path / "conftest.py", lambda text: text + conftest_footer
            ):
                result = sp.run(
                    cmd, cwd=tmp_path, capture_output=True, env=command_env, 
input=stdin
                )
    
            result_stdout = result.stdout.decode("utf-8")
            result_stderr = result.stderr.decode("utf-8")
    
            result_returncode = result.returncode
    
            print("run>", *cmd)
            print("stdout:")
            print(result_stdout)
            print("stderr:")
            print(result_stderr)
    
>           assert result.returncode == returncode
E           assert 2 == 1
E            +  where 2 = CompletedProcess(args=['/usr/bin/python3.13', '-m', 
'pytest', '--inline-snapshot=create'], returncode=2, stdout=b"====... 
!!!!!!!!!!!!!!!!!!!!\n=============================== 1 error in 0.12s 
===============================\n", stderr=b'').returncode

inline_snapshot/testing/_example.py:490: AssertionError
----------------------------- Captured stdout call -----------------------------
╭──────────────────────────
 tests/test_something.py 
───────────────────────────╮
│ from inline_snapshot import snapshot                                        
 │
│ import attrs                                                                
 │
│                                                                             
 │
│ @attrs.define                                                               
 │
│ class container:                                                            
 │
│     a: int                                                                  
 │
│     b: int = attrs.field(default=5,repr=False)                              
 │
│                                                                             
 │
│ def test():                                                                 
 │
│     assert container(a=1,b=5) == snapshot()                                 
 │
│                                                                             
 │
╰──────────────────────────────────────────────────────────────────────────────╯
run> /usr/bin/python3.13 -m pytest --inline-snapshot=create
stdout:
============================= test session starts ==============================
platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0
rootdir: /tmp/tmpyd0wf8hl
plugins: inline-snapshot-0.31.0, time-machine-2.19.0, hypothesis-6.148.2, 
mock-3.15.1, pytest_freezer-0.4.9
collected 0 items / 1 error

==================================== ERRORS ====================================
___________________ ERROR collecting tests/test_something.py ___________________
ImportError while importing test module 
'/tmp/tmpyd0wf8hl/tests/test_something.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests/test_something.py:2: in <module>
    import attrs
E   ModuleNotFoundError: No module named 'attrs'
=========================== short test summary info ============================
ERROR tests/test_something.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
=============================== 1 error in 0.12s ===============================

stderr:

_____________________________ test_attrs_unmanaged _____________________________

    def test_attrs_unmanaged():
        Example(
            """\
    import datetime as dt
    import uuid
    
    import attrs
    
    from dirty_equals import IsDatetime
    from inline_snapshot import Is, snapshot
    
    
    @attrs.define
    class Attrs:
        ts: dt.datetime
        id: uuid.UUID
    
    def test():
        id = uuid.uuid4()
    
        assert snapshot(Attrs(ts=IsDatetime(), id=Is(id))) == Attrs(
            dt.datetime.now(), id
        )
    """
>       ).run_pytest(
            ["--inline-snapshot=create,fix"],
            changed_files=snapshot({}),
        ).run_pytest()

tests/adapter/test_dataclass.py:322: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <inline_snapshot.testing._example.Example object at 0x7f24f95b1770>
args = ['--inline-snapshot=create,fix']

    def run_pytest(
        self,
        args: list[str] = [],
        *,
        term_columns=80,
        env: dict[str, str] = {},
        changed_files: Snapshot[dict[str, str]] | None = None,
        report: Snapshot[str] | None = None,
        error: Snapshot[str] | None = None,
        stderr: Snapshot[str] | None = None,
        returncode: Snapshot[int] = 0,
        stdin: bytes = b"",
        outcomes: Snapshot[dict[str, int]] | None = None,
    ) -> Example:
        """Run pytest with the given args and environment variables in a 
separate
        process.
    
        It can be used to test the interaction between your code and pytest, 
but it is a bit slower than `run_inline`.
    
        Parameters:
            args: pytest arguments like "--inline-snapshot=fix"
            env: dict of environment variables
            changed_files: snapshot of files changed by this run.
            report: snapshot of the report at the end of the pytest run.
            stderr: pytest stderr output
            returncode: snapshot of the pytest return code.
    
        Returns:
            A new Example instance containing the changed files.
        """
        self.dump_files()
    
        with TemporaryDirectory() as dir:
            tmp_path = Path(dir)
    
            self._write_files(tmp_path)
    
            cmd = [sys.executable, "-m", "pytest", *args]
    
            command_env = dict(os.environ)
            command_env["TERM"] = "unknown"
            command_env["COLUMNS"] = str(
                term_columns + 1 if platform.system() == "Windows" else 
term_columns
            )
            command_env.pop("CI", None)
            command_env.pop("GITHUB_ACTIONS", None)
            command_env.pop("PYTEST_XDIST_WORKER", None)
    
            if stdin:
                # makes Console.is_terminal == True
                command_env["FORCE_COLOR"] = "true"
    
            command_env.update(env)
    
            with change_file(
                tmp_path / "conftest.py", lambda text: text + conftest_footer
            ):
                result = sp.run(
                    cmd, cwd=tmp_path, capture_output=True, env=command_env, 
input=stdin
                )
    
            result_stdout = result.stdout.decode("utf-8")
            result_stderr = result.stderr.decode("utf-8")
    
            result_returncode = result.returncode
    
            print("run>", *cmd)
            print("stdout:")
            print(result_stdout)
            print("stderr:")
            print(result_stderr)
    
>           assert result.returncode == returncode
E           assert 2 == 0
E            +  where 2 = CompletedProcess(args=['/usr/bin/python3.13', '-m', 
'pytest', '--inline-snapshot=create,fix'], returncode=2, stdout=b"... 
!!!!!!!!!!!!!!!!!!!!\n=============================== 1 error in 0.12s 
===============================\n", stderr=b'').returncode

inline_snapshot/testing/_example.py:490: AssertionError
----------------------------- Captured stdout call -----------------------------
╭──────────────────────────
 tests/test_something.py 
───────────────────────────╮
│ import datetime as dt                                                       
 │
│ import uuid                                                                 
 │
│                                                                             
 │
│ import attrs                                                                
 │
│                                                                             
 │
│ from dirty_equals import IsDatetime                                         
 │
│ from inline_snapshot import Is, snapshot                                    
 │
│                                                                             
 │
│                                                                             
 │
│ @attrs.define                                                               
 │
│ class Attrs:                                                                
 │
│     ts: dt.datetime                                                         
 │
│     id: uuid.UUID                                                           
 │
│                                                                             
 │
│ def test():                                                                 
 │
│     id = uuid.uuid4()                                                       
 │
│                                                                             
 │
│     assert snapshot(Attrs(ts=IsDatetime(), id=Is(id))) == Attrs(            
 │
│         dt.datetime.now(), id                                               
 │
│     )                                                                       
 │
│                                                                             
 │
╰──────────────────────────────────────────────────────────────────────────────╯
run> /usr/bin/python3.13 -m pytest --inline-snapshot=create,fix
stdout:
============================= test session starts ==============================
platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0
rootdir: /tmp/tmp_ikkmlxp
plugins: inline-snapshot-0.31.0, time-machine-2.19.0, hypothesis-6.148.2, 
mock-3.15.1, pytest_freezer-0.4.9
collected 0 items / 1 error

==================================== ERRORS ====================================
___________________ ERROR collecting tests/test_something.py ___________________
ImportError while importing test module 
'/tmp/tmp_ikkmlxp/tests/test_something.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.13/importlib/__init__.py:88: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tests/test_something.py:4: in <module>
    import attrs
E   ModuleNotFoundError: No module named 'attrs'
=========================== short test summary info ============================
ERROR tests/test_something.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
=============================== 1 error in 0.12s ===============================

stderr:

=========================== short test summary info ============================
FAILED tests/adapter/test_dataclass.py::test_attrs_default_value - assert 2 == 1
FAILED tests/adapter/test_dataclass.py::test_attrs_fix_default_value - assert...
FAILED tests/adapter/test_dataclass.py::test_attrs_field_repr - assert 2 == 1
FAILED tests/adapter/test_dataclass.py::test_attrs_unmanaged - assert 2 == 0
===== 4 failed, 244 passed, 1 skipped, 11 deselected, 1 xfailed in 53.40s ======
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_inline-snapshot/build; python3.13 -m 
pytest --ignore tests/test_file.py --ignore tests/test_get_snapshot_value.py 
--ignore tests/test_inline_snapshot.py --ignore tests/test_pytest_plugin.py -k 
'not test_diskstorage and not test_empty_sub_snapshot and not 
test_format_command_fail and not test_outsource and not test_sub_snapshot and 
not test_typing and not test_xdist and not test_xdist_and_disable and not 
test_xdist_disabled '
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 
3.13" returned exit code 13
make: *** [debian/rules:24: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

--- End Message ---
--- Begin Message ---
Source: python-inline-snapshot
Source-Version: 0.31.0-2
Done: Colin Watson <[email protected]>

We believe that the bug you reported is fixed in the latest version of
python-inline-snapshot, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Colin Watson <[email protected]> (supplier of updated python-inline-snapshot 
package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Wed, 17 Dec 2025 23:23:38 +0000
Source: python-inline-snapshot
Architecture: source
Version: 0.31.0-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <[email protected]>
Changed-By: Colin Watson <[email protected]>
Closes: 1123449
Changes:
 python-inline-snapshot (0.31.0-2) unstable; urgency=medium
 .
   * Team upload.
   * Build-depend on python3-attr (closes: #1123449).
Checksums-Sha1:
 74948269b856ccf0174221b92bcd97e8ac573314 3554 
python-inline-snapshot_0.31.0-2.dsc
 26403e2c6c428f091d6635da21f38a5b6a9f3190 8708 
python-inline-snapshot_0.31.0-2.debian.tar.xz
 4844e27dea52cfc615811a42dccc4f19893e391e 2437800 
python-inline-snapshot_0.31.0-2.git.tar.xz
 22186d258793caebe437f79c5610bbda6e54010f 17199 
python-inline-snapshot_0.31.0-2_source.buildinfo
Checksums-Sha256:
 9e186031a67a6f6dd405ef9ecd4b71b44d1db7a022d1440db28e60b078dd1229 3554 
python-inline-snapshot_0.31.0-2.dsc
 92f401cff200fdf74bd61f46118e5efa319156fa4200579a8d559cf1230f9c23 8708 
python-inline-snapshot_0.31.0-2.debian.tar.xz
 68185c1c44e620430ba87e0d2dd3438a4cddea20cfa509cb05fd09a348ebed2b 2437800 
python-inline-snapshot_0.31.0-2.git.tar.xz
 be74a4bfa7e5953cf4ab9f1f7b808ee5a8e597aed04bd082ca7610cd42d502da 17199 
python-inline-snapshot_0.31.0-2_source.buildinfo
Files:
 14b4f9357711810a6ced9a190bcc8502 3554 python optional 
python-inline-snapshot_0.31.0-2.dsc
 870671270fa9da5c9103b9cf9a1fe1f8 8708 python optional 
python-inline-snapshot_0.31.0-2.debian.tar.xz
 96c4d99553d240579b4937e931e64960 2437800 python optional 
python-inline-snapshot_0.31.0-2.git.tar.xz
 b5f11d0937e0c03eebae384bba1b591b 17199 python optional 
python-inline-snapshot_0.31.0-2_source.buildinfo
Git-Tag-Info: tag=eaf038d492729174f72e5a07f2c1acbdabfb0cbd 
fp=ac0a4ff12611b6fccf01c111393587d97d86500b
Git-Tag-Tagger: Colin Watson <[email protected]>

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEN02M5NuW6cvUwJcqYG0ITkaDwHkFAmlDO/gACgkQYG0ITkaD
wHknaxAAtyoRkNiL3X2s9ol3qY+QrdlhDUN8BgaP7/SzIBlY88G2O9S2v4y3mUwT
sCW+/Fa3Gw23r0+AsQezx1sByUFF5gSOgbbJNJ2AYdzvaDYSxTrnnN0p1WwL2GxS
9q2kmRJB1bdjLC3BZ92b0G+C6q9yFIaG2XCvkN6LiKK7SPdhFvVM38Rub9wBZUmE
Cw59qH5KBk5GGU6mQ0bYWrEPSNuqGIGjL62bKMrttSndQDL6DgyBSkQBadYcEnso
uPLvGgBCi95AVrtYQh+gftbfxSebdZV95Kg8sX6wjh9T/AmNuElQeIwfdB7h0AlK
bhYsRjOPDvI47MI7Y2wp3xmvVrOdO8TTdw2JoT8W4jQR64X4+TCUw1CKp6ADxON7
3YyRiCIkpO3A+8GHWhTnl/TMOfRKK+QrFQCuRXo8noNvgmSNleU4tyhZsxCMPIIc
0W4Q9LZoWZK0drRJYsKLhCCgArM/+t5nNvw/bB1OjOdxU0VgrCRNPZfBY83yDDV7
L2/fzpBzS97QdKvW3o1pwLmNftmPQtpu/Z92Ct/u3hynTx30MOyBqlrmRUAuzXxU
88XkWrQfUtt635r9xnFCC0/frfjxUIHAYB8zVhIQxiVf86cKwb9leY+GfrjBjQ/U
xC3B2EC1DAMBoKj3E0lQjPdpKUgrfBjf7Syo/RNzljNJLExrVD0=
=Ayz/
-----END PGP SIGNATURE-----

Attachment: pgpLqXyL6GRKs.pgp
Description: PGP signature


--- End Message ---

Reply via email to