<86>Aug 24 08:17:27 userdel[1227015]: delete user 'rooter' <86>Aug 24 08:17:27 userdel[1227015]: removed group 'rooter' owned by 'rooter' <86>Aug 24 08:17:27 userdel[1227015]: removed shadow group 'rooter' owned by 'rooter' <86>Aug 24 08:17:27 groupadd[1227048]: group added to /etc/group: name=rooter, GID=1787 <86>Aug 24 08:17:27 groupadd[1227048]: group added to /etc/gshadow: name=rooter <86>Aug 24 08:17:27 groupadd[1227048]: new group: name=rooter, GID=1787 <86>Aug 24 08:17:27 useradd[1227076]: new user: name=rooter, UID=1787, GID=1787, home=/root, shell=/bin/bash, from=none <86>Aug 24 08:17:27 userdel[1227112]: delete user 'builder' <86>Aug 24 08:17:27 userdel[1227112]: removed group 'builder' owned by 'builder' <86>Aug 24 08:17:27 userdel[1227112]: removed shadow group 'builder' owned by 'builder' <86>Aug 24 08:17:27 groupadd[1227143]: group added to /etc/group: name=builder, GID=1788 <86>Aug 24 08:17:27 groupadd[1227143]: group added to /etc/gshadow: name=builder <86>Aug 24 08:17:27 groupadd[1227143]: new group: name=builder, GID=1788 <86>Aug 24 08:17:27 useradd[1227177]: new user: name=builder, UID=1788, GID=1788, home=/usr/src, shell=/bin/bash, from=none <13>Aug 24 08:17:30 rpmi: libmpdec3-2.5.1-alt3 sisyphus+314490.500.5.1 1675432033 installed <13>Aug 24 08:17:30 rpmi: libgdbm-1.8.3-alt10 sisyphus+346222.200.3.2 1716468406 installed <13>Aug 24 08:17:30 rpmi: libexpat-2.5.0-alt1 sisyphus+346180.200.2.1 1716349845 installed <13>Aug 24 08:17:30 rpmi: libb2-0.98.1-alt1_1 sisyphus+291614.100.1.1 1638962878 installed <13>Aug 24 08:17:30 rpmi: libp11-kit-1:0.25.5-alt1 sisyphus+352553.100.1.1 1720622586 installed <13>Aug 24 08:17:30 rpmi: libtasn1-4.19.0-alt3 sisyphus+327816.100.1.1 1692802618 installed <13>Aug 24 08:17:30 rpmi: rpm-macros-alternatives-0.5.2-alt2 sisyphus+315270.200.2.1 1676457367 installed <13>Aug 24 08:17:30 rpmi: alternatives-0.5.2-alt2 sisyphus+315270.200.2.1 1676457367 installed <13>Aug 24 08:17:30 rpmi: ca-certificates-2024.07.01-alt1 sisyphus+351897.100.1.1 1719826350 installed <13>Aug 24 08:17:31 rpmi: ca-trust-0.2.0-alt1 sisyphus+344843.100.1.1 1712743326 installed <13>Aug 24 08:17:31 rpmi: p11-kit-trust-1:0.25.5-alt1 sisyphus+352553.100.1.1 1720622586 installed <13>Aug 24 08:17:31 rpmi: libcrypto3-3.1.6-alt1 sisyphus+350419.100.1.1 1717605920 installed <13>Aug 24 08:17:31 rpmi: libssl3-3.1.6-alt1 sisyphus+350419.100.1.1 1717605920 installed <13>Aug 24 08:17:31 rpmi: python3-3.12.5-alt1 sisyphus+355289.200.2.1 1723833941 installed <13>Aug 24 08:17:31 rpmi: python3-base-3.12.5-alt1 sisyphus+355289.200.2.1 1723833941 installed <13>Aug 24 08:17:31 rpmi: python3-module-py3dephell-0.1.0-alt2 sisyphus+328191.600.5.1 1693609196 installed <13>Aug 24 08:17:31 rpmi: tests-for-installed-python3-pkgs-0.1.25-alt1 sisyphus+344685.100.1.1 1712595070 installed <13>Aug 24 08:17:31 rpmi: rpm-build-python3-0.1.25-alt1 sisyphus+344685.100.1.1 1712595070 installed <13>Aug 24 08:17:35 rpmi: python3-module-packaging-24.1-alt1 sisyphus+350717.100.2.1 1718268656 installed <13>Aug 24 08:17:35 rpmi: python3-module-attrs-24.2.0-alt2 sisyphus+355603.200.1.1 1724160494 installed <13>Aug 24 08:17:35 rpmi: libpng16-1.6.42-alt2 sisyphus+339555.100.1.1 1706781690 installed <13>Aug 24 08:17:35 rpmi: python3-module-pkg_resources-1:70.3.0-alt1 sisyphus+352532.100.2.1 1720689196 installed <13>Aug 24 08:17:35 rpmi: libjpeg-2:3.0.2-alt2.1 sisyphus+340135.100.1.1 1707449053 installed <13>Aug 24 08:17:35 rpmi: python3-module-system-seed-wheels-0.0.1-alt1 sisyphus+270533.400.6.1 1619683380 installed <13>Aug 24 08:17:35 rpmi: python3-module-zope.interface-7.0.1-alt1 sisyphus+355516.100.1.1 1724059810 installed <13>Aug 24 08:17:35 rpmi: python3-module-idna-3.7-alt1 sisyphus+345659.100.1.1 1713798399 installed <13>Aug 24 08:17:35 rpmi: python3-module-platformdirs-4.2.2-alt1 sisyphus+348107.100.1.1 1715765810 installed <13>Aug 24 08:17:35 rpmi: python3-module-six-1.16.0-alt2 sisyphus+324249.100.1.1 1688484676 installed <13>Aug 24 08:17:35 rpmi: libtcl-8.6.13-alt1 sisyphus+310696.100.1.1 1669548256 installed <13>Aug 24 08:17:35 rpmi: libidn2-2.3.7-alt1 sisyphus+339505.100.1.2 1706718975 installed <13>Aug 24 08:17:35 rpmi: libnettle8-3.9.1-alt1 sisyphus+322548.100.1.2 1686176897 installed <13>Aug 24 08:17:35 rpmi: python3-module-lark-1.1.9-alt1 sisyphus+341080.100.1.1 1708359651 installed <13>Aug 24 08:17:35 rpmi: python3-module-fastjsonschema-2.20.0-alt1 sisyphus+351090.100.1.1 1718638477 installed <13>Aug 24 08:17:35 rpmi: python3-module-crashtest-0.4.1-alt1 sisyphus+309874.100.1.1 1668207042 installed <13>Aug 24 08:17:35 rpmi: python3-module-pyproject_hooks-1.1.0-alt2 sisyphus+352023.500.4.2 1720458740 installed <13>Aug 24 08:17:35 rpmi: python3-module-pathspec-0.12.1-alt1 sisyphus+341971.100.1.1 1709553025 installed <13>Aug 24 08:17:35 rpmi: python3-module-urllib3-2:2.2.2-alt1 sisyphus+351112.100.1.1 1718703196 installed <13>Aug 24 08:17:35 rpmi: python3-module-multidict-6.0.5-alt1 sisyphus+344299.100.1.1 1712158380 installed <13>Aug 24 08:17:35 rpmi: python3-module-click-8.1.7-alt1 sisyphus+327424.100.2.1 1695395098 installed <13>Aug 24 08:17:35 rpmi: python3-module-sortedcontainers-2.4.0-alt1 sisyphus+272042.100.1.1 1621262424 installed <13>Aug 24 08:17:35 rpmi: python3-module-frozenlist-1.4.1-alt1 sisyphus+347618.100.1.1 1715074878 installed <13>Aug 24 08:17:35 rpmi: python3-module-psutil-5.9.8-alt1 sisyphus+341001.100.1.1 1708284056 installed <13>Aug 24 08:17:35 rpmi: python3-module-pluggy-1.5.0-alt1 sisyphus+345632.100.2.1 1713864244 installed <13>Aug 24 08:17:35 rpmi: python3-module-iniconfig-2.0.0-alt1 sisyphus+314076.200.3.1 1674737275 installed <13>Aug 24 08:17:35 rpmi: python3-module-pytest-8.3.2-alt1 sisyphus+353657.100.2.1 1722243941 installed <13>Aug 24 08:17:35 rpmi: python3-module-traitlets-5.14.3-alt1 sisyphus+345559.100.1.1 1713606266 installed <13>Aug 24 08:17:35 rpmi: libopenblas-0.3.27-alt1 sisyphus+348275.100.2.1 1716195843 installed <13>Aug 24 08:17:35 rpmi: libcares-1.33.0-alt1 sisyphus+355800.100.1.1 1724341157 installed <13>Aug 24 08:17:35 rpmi: libICE-1.1.1-alt1 sisyphus+311428.500.1.1 1670577559 installed <13>Aug 24 08:17:35 rpmi: libwebp7-1.4.0-alt1 sisyphus+345159.200.1.1 1713168690 installed <13>Aug 24 08:17:35 rpmi: liblz4-1:1.9.4-alt1 sisyphus+309416.100.1.1 1667413000 installed <13>Aug 24 08:17:35 rpmi: libsystemd-1:255.10-alt2 sisyphus+354545.200.2.1 1723017046 installed <13>Aug 24 08:17:35 rpmi: libdbus-1.14.10-alt1 sisyphus+327286.5700.14.1 1711487513 installed <13>Aug 24 08:17:35 rpmi: libavahi-0.8-alt4 sisyphus+344258.100.1.1 1712133862 installed <13>Aug 24 08:17:35 rpmi: libSM-1.2.4-alt1 sisyphus+312057.200.1.1 1671526918 installed <13>Aug 24 08:17:35 rpmi: python3-module-jupyter_core-5.7.2-alt1 sisyphus+342603.200.2.1 1710317793 installed <13>Aug 24 08:17:35 rpmi: python3-module-aiosignal-1.3.1-alt1 sisyphus+314057.100.1.1 1674561191 installed <13>Aug 24 08:17:35 rpmi: python3-module-incremental-22.10.0-alt1 sisyphus+312706.100.1.1 1672404273 installed <13>Aug 24 08:17:35 rpmi: python3-module-yarl-1.9.4-alt1 sisyphus+342624.100.1.1 1710327187 installed <13>Aug 24 08:17:35 rpmi: python3-module-build-1.2.1-alt3 sisyphus+348465.100.1.1 1716150139 installed <13>Aug 24 08:17:35 rpmi: libhogweed6-3.9.1-alt1 sisyphus+322548.100.1.2 1686176897 installed <13>Aug 24 08:17:35 rpmi: libgnutls30-3.8.4-alt1 sisyphus+343729.100.2.1 1711570650 installed <13>Aug 24 08:17:36 rpmi: libngtcp2.16-1.6.0-alt1 sisyphus+351909.200.1.1 1719836986 installed <13>Aug 24 08:17:36 rpmi: libngtcp2_crypto_gnutls8-1.6.0-alt1 sisyphus+351909.200.1.1 1719836986 installed <13>Aug 24 08:17:36 rpmi: tcl-8.6.13-alt1 sisyphus+310696.100.1.1 1669548256 installed <13>Aug 24 08:17:36 rpmi: python3-module-dateutil-2.8.3-alt0.git0586f4a sisyphus+338928.600.2.1 1706746480 installed <13>Aug 24 08:17:36 rpmi: python3-module-hyperlink-21.0.0-alt1.1 sisyphus+304836.100.1.1 1659710964 installed <13>Aug 24 08:17:36 rpmi: python3-module-pip-wheel-24.2-alt1 sisyphus+353896.100.1.1 1722253382 installed <13>Aug 24 08:17:36 rpmi: python3-module-setuptools-wheel-1:70.3.0-alt1 sisyphus+352532.100.2.1 1720689196 installed <13>Aug 24 08:17:36 rpmi: python3-module-wheel-wheel-0.44.0-alt1 sisyphus+355530.100.1.1 1724069902 installed <13>Aug 24 08:17:36 rpmi: python3-module-system-seed-wheels-wheels-0.0.1-alt1 sisyphus+270533.400.6.1 1619683380 installed <13>Aug 24 08:17:36 rpmi: python3-module-altgraph-0.17.4-alt1 sisyphus+330281.100.1.1 1695639920 installed <13>Aug 24 08:17:36 rpmi: python3-module-outcome-1.3.0-alt1 sisyphus+332382.100.1.1 1697882349 installed <13>Aug 24 08:17:36 rpmi: python3-module-tomlkit-0.13.0-alt1 sisyphus+352716.100.1.1 1720787216 installed <13>Aug 24 08:17:36 rpmi: python3-module-shellingham-1.5.4-alt1 sisyphus+332574.100.1.1 1698135363 installed <13>Aug 24 08:17:36 rpmi: python3-module-tomli-2.0.1-alt2 sisyphus+305000.3300.2.1 1660575675 installed <13>Aug 24 08:17:36 rpmi: python3-module-poetry-alt-namespace-0.0.1-alt1 sisyphus+306728.100.1.1 1663083685 installed <13>Aug 24 08:17:36 rpmi: python3-module-poetry-core-1.9.0-alt1 sisyphus+341080.200.1.1 1708359689 installed <13>Aug 24 08:17:36 rpmi: python3-module-pkginfo-1.10.0-alt1 sisyphus+347656.300.1.1 1715099667 installed <13>Aug 24 08:17:36 rpmi: python3-module-ptyprocess-0.7.0-alt1 sisyphus+283469.100.1.1 1629400504 installed <13>Aug 24 08:17:36 rpmi: python3-module-pexpect-4.9.0-alt1 sisyphus+341927.40.2.1 1709544794 installed <13>Aug 24 08:17:36 rpmi: python3-module-installer-0.7.0-alt1 sisyphus+318881.100.2.1 1681988183 installed <13>Aug 24 08:17:36 rpmi: python3-module-pytz-1:2024.1-alt1 sisyphus+353671.100.1.2 1722000143 installed <13>Aug 24 08:17:36 rpmi: python3-module-trove-classifiers-2024.7.2-alt1 sisyphus+352024.100.1.1 1719938199 installed <13>Aug 24 08:17:36 rpmi: python3-module-hatchling-1.25.0-alt1 sisyphus+351431.100.1.1 1719228961 installed <13>Aug 24 08:17:36 rpmi: python3-module-filelock-3.15.4-alt1 sisyphus+351430.100.1.1 1719228643 installed <13>Aug 24 08:17:36 rpmi: python3-module-fastimport-0.9.14-alt2 sisyphus+318148.100.1.1 1680797712 installed <13>Aug 24 08:17:36 rpmi: python3-module-sqlparse-0.5.1-alt1 sisyphus+352953.100.1.1 1721123626 installed <13>Aug 24 08:17:36 rpmi: python3-module-markupsafe-1:2.1.5-alt1 sisyphus+339663.100.1.1 1706899589 installed <13>Aug 24 08:17:36 rpmi: python3-module-jinja2-3.1.4-alt1 sisyphus+348267.100.1.1 1715939549 installed <13>Aug 24 08:17:36 rpmi: python3-module-distlib-0.3.8-alt1 sisyphus+336560.100.2.1 1702987353 installed <13>Aug 24 08:17:36 rpmi: python3-module-virtualenv-20.26.3-alt1 sisyphus+351438.100.2.1 1719248082 installed <13>Aug 24 08:17:36 rpmi: python3-module-cpuinfo-9.0.0-alt2 sisyphus+335302.100.2.1 1701248416 installed <13>Aug 24 08:17:36 rpmi: python3-module-msgpack-1.0.7-alt1 sisyphus+340996.100.2.1 1708285631 installed <13>Aug 24 08:17:36 rpmi: python3-module-mypy_extensions-1.0.0-alt1 sisyphus+316350.100.2.1 1678357948 installed <13>Aug 24 08:17:36 rpmi: python3-module-asgiref-3.7.2-alt1 sisyphus+328419.100.1.1 1693492242 installed <13>Aug 24 08:17:36 rpmi: python3-module-charset-normalizer-3.2.0-alt1 sisyphus+347396.200.2.1 1714733144 installed <13>Aug 24 08:17:36 rpmi: python3-module-requests-2.32.3-alt1 sisyphus+349946.100.1.1 1717059877 installed <13>Aug 24 08:17:36 rpmi: python3-module-cachecontrol-0.14.0-alt1 sisyphus+339611.100.1.1 1706868856 installed <13>Aug 24 08:17:36 rpmi: python3-module-priority-2.0.0-alt3 sisyphus+338701.100.1.2 1705988383 installed <13>Aug 24 08:17:36 rpmi: python3-module-hpack-4.0.0-alt1 sisyphus+270376.200.1.1 1618956626 installed <13>Aug 24 08:17:36 rpmi: python3-module-hyperframe-6.0.1-alt1 sisyphus+270376.300.2.1 1618957001 installed <13>Aug 24 08:17:36 rpmi: python3-module-h2-4.1.0-alt1 sisyphus+325714.100.2.2 1690478873 installed <13>Aug 24 08:17:36 rpmi: python3-module-constantly-15.1.0-alt7 sisyphus+338906.100.1.1 1706107088 installed <13>Aug 24 08:17:36 rpmi: python3-module-typing_extensions-4.12.2-alt1 sisyphus+351501.100.1.2 1719296652 installed <13>Aug 24 08:17:36 rpmi: python3-module-zombie-imp-0.0.2-alt1 sisyphus+339293.100.1.1 1706537230 installed <13>Aug 24 08:17:36 rpmi: python3-module-appdirs-1.4.4-alt1 sisyphus+267613.300.2.1 1620039159 installed <13>Aug 24 08:17:36 rpmi: python3-module-certifi-2023.5.7-alt1 sisyphus+322622.100.1.1 1686217855 installed <13>Aug 24 08:17:36 rpmi: python3-module-openid-3.2.0-alt1 sisyphus+278049.100.2.1 1625998936 installed <13>Aug 24 08:17:36 rpmi: python3-module-z3c-3.0.0-alt4 sisyphus+284857.200.1.1 1631109149 installed <13>Aug 24 08:17:36 rpmi: python3-module-zc-1.0.0-alt7 sisyphus+284857.100.1.1 1631109117 installed <13>Aug 24 08:17:36 rpmi: python3-module-zope-3.3.0-alt9 sisyphus+281937.200.4.1 1628175910 installed <13>Aug 24 08:17:36 rpmi: python3-module-zope.event-5.0-alt1.1 sisyphus+325755.140.2.1 1690991538 installed <13>Aug 24 08:17:36 rpmi: python3-module-objgraph-3.6.1-alt1 sisyphus+344386.100.1.1 1712226667 installed <13>Aug 24 08:17:36 rpmi: python3-module-greenlet-3.0.3-alt1 sisyphus+350328.100.1.1 1717519056 installed <13>Aug 24 08:17:36 rpmi: python3-module-sniffio-1.3.1-alt1 sisyphus+341424.100.1.1 1708941879 installed <13>Aug 24 08:17:36 rpmi: python3-module-astor-0.8.1-alt1.1 sisyphus+315877.100.1.1 1677481862 installed <13>Aug 24 08:17:36 rpmi: python3-module-Cheetah-3.3.3-alt1 sisyphus+333513.10500.71.1 1704540354 installed <13>Aug 24 08:17:36 rpmi: python3-module-paste-3.7.1-alt1 sisyphus+332187.100.1.1 1697730831 installed <13>Aug 24 08:17:36 rpmi: python3-module-PasteDeploy-1:3.1-alt1 sisyphus+343658.100.1.1 1711471990 installed <13>Aug 24 08:17:36 rpmi: python3-module-PasteScript-1:2.0.2-alt2 sisyphus+272468.100.1.1 1621939313 installed <13>Aug 24 08:17:36 rpmi: python3-module-apipkg-3.0.2-alt1 sisyphus+350203.100.1.1 1717353225 installed <13>Aug 24 08:17:36 rpmi: python3-module-py-1.11.0-alt1 sisyphus+295927.100.2.1 1646050822 installed <13>Aug 24 08:17:36 rpmi: python3-module-pyusb-1.2.1-alt1 sisyphus+277784.100.1.1 1625801993 installed <13>Aug 24 08:17:36 rpmi: python3-module-pycparser-2.21-alt1.1 sisyphus+309935.7300.4.1 1668527005 installed <13>Aug 24 08:17:36 rpmi: python3-module-cffi-1.16.0-alt1 sisyphus+333513.10400.71.1 1704540321 installed <13>Aug 24 08:17:37 rpmi: python3-module-cryptography-43.0.0-alt1 sisyphus+353417.100.1.1 1721731017 installed <13>Aug 24 08:17:37 rpmi: python3-module-openssl-24.2.1-alt1 sisyphus+353417.200.1.1 1721731036 installed <13>Aug 24 08:17:37 rpmi: python3-module-requests_toolbelt-1.0.0-alt3 sisyphus+338996.100.1.1 1706201427 installed <13>Aug 24 08:17:37 rpmi: python3-module-redis-py-4.5.5-alt1.1 sisyphus+332415.100.1.1 1697904078 installed <13>Aug 24 08:17:37 rpmi: mercurial-6.6.3-alt1 sisyphus+353835.100.1.1 1722176769 installed <13>Aug 24 08:17:37 rpmi: python3-module-trio-0.26.2-alt1 sisyphus+355675.100.1.1 1724233726 installed <13>Aug 24 08:17:37 rpmi: python3-module-dns-1:2.6.1-alt1 sisyphus+341811.20.3.1 1709382170 installed <13>Aug 24 08:17:37 rpmi: python3-module-pycares-4.4.0-alt1 sisyphus+347421.100.1.1 1714743573 installed <13>Aug 24 08:17:37 rpmi: libyaml2-0.2.5-alt1 sisyphus+278391.100.1.1 1626094932 installed <13>Aug 24 08:17:37 rpmi: python3-module-yaml-6.0.1-alt1.1 sisyphus+333513.45640.73.1 1704640302 installed <13>Aug 24 08:17:38 rpmi: python3-module-libcst-1.4.0-alt1 sisyphus+349734.100.2.1 1716919198 installed <13>Aug 24 08:17:38 rpmi: libuv-1.48.0-alt1 sisyphus+340945.100.1.1 1708265067 installed <13>Aug 24 08:17:38 rpmi: libpython3-3.12.5-alt1 sisyphus+355289.200.2.1 1723833941 installed <13>Aug 24 08:17:38 rpmi: libncurses6-6.3.20220618-alt4 sisyphus+327286.4600.14.1 1711486782 installed <13>Aug 24 08:17:38 rpmi: libtinfo-devel-6.3.20220618-alt4 sisyphus+327286.4600.14.1 1711486782 installed <13>Aug 24 08:17:38 rpmi: libncurses-devel-6.3.20220618-alt4 sisyphus+327286.4600.14.1 1711486782 installed <13>Aug 24 08:17:39 rpmi: python3-dev-3.12.5-alt1 sisyphus+355289.200.2.1 1723833941 installed <13>Aug 24 08:17:39 rpmi: python3-module-setuptools-1:70.3.0-alt1 sisyphus+352532.100.2.1 1720689196 installed <13>Aug 24 08:17:39 rpmi: libmaxminddb-1.11.0-alt1 sisyphus+355820.100.1.1 1724384611 installed <13>Aug 24 08:17:39 rpmi: python3-module-MaxMindDB-2.6.2-alt1 sisyphus+351880.100.1.1 1719817162 installed <13>Aug 24 08:17:39 rpmi: libxblas-1.0.248-alt2 sisyphus+285045.40.2.1 1631388462 installed <13>Aug 24 08:17:39 rpmi: libusb-1.0.27-alt1 sisyphus+347412.100.1.1 1714739652 installed <13>Aug 24 08:17:39 rpmi: libhidapi-0.12.0-alt1_1 sisyphus+303213.100.1.1 1657034193 installed <13>Aug 24 08:17:39 rpmi: python3-module-cython-hidapi-0.14.0-alt1.1 sisyphus+333513.54340.73.1 1704649757 installed <13>Aug 24 08:17:39 rpmi: python3-module-serial-3.5-alt2 sisyphus+281995.100.1.1 1628172783 installed <13>Aug 24 08:17:39 rpmi: libltdl7-2.4.7-alt5 sisyphus+341963.200.3.1 1711659248 installed <13>Aug 24 08:17:39 rpmi: libgts-0.7.6-alt2.drc20130205.1 sisyphus+346279.200.2.1 1716435911 installed <13>Aug 24 08:17:39 rpmi: libpaper2-2:2.1.3-alt1 sisyphus+340967.100.1.1 1708276734 installed <13>Aug 24 08:17:39 rpmi: libopenjpeg2.0-2.5.2-alt1 sisyphus+341637.100.1.1 1709150019 installed <13>Aug 24 08:17:39 rpmi: libgtk+2-locales-2.24.33-alt1 sisyphus+278555.100.1.2 1626252653 installed <13>Aug 24 08:17:39 rpmi: libquadmath0-13.2.1-alt4 sisyphus+354645.100.1.1 1723060825 installed <13>Aug 24 08:17:39 rpmi: libgfortran5-13.2.1-alt4 sisyphus+354645.100.1.1 1723060825 installed <13>Aug 24 08:17:39 rpmi: liblapack-1:3.8.0-alt7 sisyphus+340675.300.1.1 1707908362 installed <13>Aug 24 08:17:40 rpmi: python3-module-numpy-1:1.26.5-alt1 sisyphus+352832.100.1.1 1720965123 installed <13>Aug 24 08:17:40 rpmi: libnuma-2.0.14-alt2 sisyphus+278485.100.1.1 1626104243 installed <13>Aug 24 08:17:40 rpmi: libx265-199-3.5-alt1.1 sisyphus+277560.100.1.1 1625696944 installed <13>Aug 24 08:17:40 rpmi: libfribidi-1.0.15-alt1 sisyphus+350522.100.1.1 1717745769 installed <13>Aug 24 08:17:40 rpmi: libev4-4.33-alt3 sisyphus+334335.340.4.1 1699912675 installed <13>Aug 24 08:17:40 rpmi: python3-module-gevent-23.9.1-alt1 sisyphus+340984.100.2.2 1708285338 installed <13>Aug 24 08:17:40 rpmi: python3-module-dulwich-0.22.1-alt1 sisyphus+347759.400.2.1 1715287814 installed <13>Aug 24 08:17:40 rpmi: libdouble-conversion3-3.3.0-alt1 sisyphus+333410.100.1.1 1698928792 installed <13>Aug 24 08:17:40 rpmi: libde265-1.0.15-alt1 sisyphus+337190.100.1.1 1703502097 installed <13>Aug 24 08:17:40 rpmi: libdav1d_7-1.4.3-alt1 sisyphus+351889.100.1.1 1719823611 installed <13>Aug 24 08:17:40 rpmi: libdatrie-0.2.13-alt1_7 sisyphus+328221.100.1.1 1693336967 installed <13>Aug 24 08:17:40 rpmi: libthai-0.1.29-alt1_6 sisyphus+328230.100.1.2 1693348044 installed <13>Aug 24 08:17:40 rpmi: libpixman-3:0.43.4-alt2 sisyphus+344164.100.1.1 1711987947 installed <13>Aug 24 08:17:40 rpmi: libatk-2.52.0-alt1 sisyphus+342903.100.1.1 1710606495 installed <13>Aug 24 08:17:40 rpmi: libaom3-3.9.1-alt2 sisyphus+354446.100.1.1 1722877569 installed <13>Aug 24 08:17:40 rpmi: libgraphite2-1.3.14-alt2.1 sisyphus+279571.100.1.2 1626605157 installed <13>Aug 24 08:17:40 rpmi: libXdmcp-1.1.5-alt1 sisyphus+343583.700.1.1 1711441073 installed <13>Aug 24 08:17:40 rpmi: libXau-1.0.11-alt1 sisyphus+311428.100.1.1 1670577440 installed <13>Aug 24 08:17:40 rpmi: libxcb-1.17.0-alt1 sisyphus+345308.200.1.1 1713342009 installed <13>Aug 24 08:17:40 rpmi: libX11-locales-3:1.8.10-alt1 sisyphus+353866.100.1.1 1722240771 installed <13>Aug 24 08:17:40 rpmi: libX11-3:1.8.10-alt1 sisyphus+353866.100.1.1 1722240774 installed <13>Aug 24 08:17:40 rpmi: libXrender-0.9.11-alt1 sisyphus+308841.100.1.1 1666436131 installed <13>Aug 24 08:17:40 rpmi: libXext-1.3.6-alt1 sisyphus+343583.1000.1.1 1711441114 installed <13>Aug 24 08:17:40 rpmi: libXfixes-6.0.1-alt1 sisyphus+331490.300.1.1 1697023235 installed <13>Aug 24 08:17:40 rpmi: libXcursor-1.2.2-alt1 sisyphus+343583.600.1.1 1711441036 installed <13>Aug 24 08:17:40 rpmi: libXi-1.8-alt1 sisyphus+285490.200.1.1 1632124180 installed <13>Aug 24 08:17:40 rpmi: libXinerama-1.1.5-alt1 sisyphus+309287.100.1.1 1667213209 installed <13>Aug 24 08:17:40 rpmi: libXrandr-1.5.4-alt1 sisyphus+330992.100.1.1 1696485401 installed <13>Aug 24 08:17:40 rpmi: libXcomposite-0.4.6-alt1 sisyphus+311188.200.1.1 1670233684 installed <13>Aug 24 08:17:40 rpmi: libXdamage-1.1.6-alt1 sisyphus+311188.300.1.1 1670233713 installed <13>Aug 24 08:17:40 rpmi: libXt-1.3.0-alt1 sisyphus+331490.500.1.1 1697023316 installed <13>Aug 24 08:17:40 rpmi: libXpm-3.5.17-alt1 sisyphus+330921.100.1.1 1696400258 installed <13>Aug 24 08:17:40 rpmi: icon-theme-hicolor-0.18-alt1 sisyphus+349610.100.1.1 1716831669 installed <13>Aug 24 08:17:40 rpmi: libdeflate-1.21-alt1 sisyphus+354654.100.1.1 1723064477 installed <13>Aug 24 08:17:40 rpmi: libtiff5-4.4.0-alt4 sisyphus+322581.100.1.2 1686180093 installed <13>Aug 24 08:17:40 rpmi: desktop-file-utils-0.26-alt6 sisyphus+331944.100.1.3 1697550035 installed <13>Aug 24 08:17:40 rpmi: shared-mime-info-2.4-alt1 sisyphus+334259.100.1.1 1699787317 installed <13>Aug 24 08:17:40 rpmi: libgdk-pixbuf-locales-2.42.12-alt1 sisyphus+348142.100.1.1 1715791856 installed <13>Aug 24 08:17:40 rpmi: gsettings-desktop-schemas-data-46.1-alt1 sisyphus+352917.100.1.1 1721056486 installed <13>Aug 24 08:17:40 rpmi: libgio-2.80.4-alt1.1 sisyphus+355708.300.3.1 1724257775 installed <13>Aug 24 08:17:40 rpmi: gsettings-desktop-schemas-46.1-alt1 sisyphus+352917.100.1.1 1721056487 installed <13>Aug 24 08:17:40 rpmi: libgdk-pixbuf-2.42.12-alt1 sisyphus+348142.100.1.1 1715791858 installed <13>Aug 24 08:17:40 rpmi: gtk4-update-icon-cache-4.14.5-alt1 sisyphus+355301.100.1.1 1723846508 installed <13>Aug 24 08:17:40 rpmi: libheif-1.17.6-alt1 sisyphus+337190.200.1.1 1703502143 installed <13>Aug 24 08:17:40 rpmi: libssh2-1.11.0-alt2 sisyphus+339356.100.1.1 1706593140 installed <13>Aug 24 08:17:40 rpmi: publicsuffix-list-dafsa-20240701-alt1 sisyphus+352081.100.1.1 1720015477 installed <13>Aug 24 08:17:40 rpmi: libpsl-0.21.5-alt1 sisyphus+338474.100.1.1 1705684771 installed <13>Aug 24 08:17:40 rpmi: libnghttp3.9-1.4.0-alt1 sisyphus+351909.100.1.1 1719836925 installed <13>Aug 24 08:17:40 rpmi: libnghttp2-1.62.1-alt1 sisyphus+347555.100.1.1 1716185764 installed <13>Aug 24 08:17:40 rpmi: openldap-common-2.6.8-alt1 sisyphus+351621.100.1.1 1719420449 installed <13>Aug 24 08:17:40 rpmi: libntlm-1.5-alt1 sisyphus+278100.3300.1.1 1626059663 installed <13>Aug 24 08:17:40 rpmi: libidn-1.37-alt2 sisyphus+300849.100.1.1 1653769693 installed <13>Aug 24 08:17:40 rpmi: libbrotlicommon-1.1.0-alt1 sisyphus+328501.100.1.1 1693598420 installed <13>Aug 24 08:17:40 rpmi: libbrotlidec-1.1.0-alt1 sisyphus+328501.100.1.1 1693598420 installed <13>Aug 24 08:17:40 rpmi: libharfbuzz-9.0.0-alt1 sisyphus+351755.100.1.1 1719584143 installed <13>Aug 24 08:17:40 rpmi: libfreetype-2.13.3-alt1 sisyphus+355656.100.1.1 1724221065 installed <13>Aug 24 08:17:40 rpmi: libfontconfig1-2.15.0-alt1 sisyphus+355771.100.2.3 1724337302 installed <13>Aug 24 08:17:41 rpmi: libcairo-1:1.18.0-alt1 sisyphus+330227.100.1.1 1695539082 installed <13>Aug 24 08:17:41 rpmi: libXft-2.3.8-alt1 sisyphus+331490.400.1.1 1697023273 installed <13>Aug 24 08:17:41 rpmi: libpango-1.54.0-alt1 sisyphus+350796.200.1.1 1718041404 installed <13>Aug 24 08:17:41 rpmi: libtk-8.6.13-alt1 sisyphus+310696.200.1.1 1669548528 installed <13>Aug 24 08:17:41 rpmi: tk-8.6.13-alt1 sisyphus+310696.200.1.1 1669548528 installed <13>Aug 24 08:17:41 rpmi: tcl-tix-8.4.3-alt4 sisyphus+277292.300.2.1 1625442551 installed <13>Aug 24 08:17:41 rpmi: python3-modules-tkinter-3.12.5-alt1 sisyphus+355289.200.2.1 1723833941 installed <13>Aug 24 08:17:41 rpmi: python3-module-automat-24.8.1-alt1 sisyphus+355768.100.2.1 1724411664 installed <13>Aug 24 08:17:41 rpmi: python3-module-twisted-logger-22.10.0-alt3 sisyphus+341870.100.1.1 1709406646 installed <13>Aug 24 08:17:41 rpmi: python3-module-twisted-web-22.10.0-alt3 sisyphus+341870.100.1.1 1709406646 installed <13>Aug 24 08:17:41 rpmi: python3-module-twisted-words-22.10.0-alt3 sisyphus+341870.100.1.1 1709406646 installed <13>Aug 24 08:17:41 rpmi: python3-module-twisted-core-22.10.0-alt3 sisyphus+341870.100.1.1 1709406646 installed <13>Aug 24 08:17:41 rpmi: python3-module-twisted-names-22.10.0-alt3 sisyphus+341870.100.1.1 1709406646 installed <13>Aug 24 08:17:41 rpmi: python3-module-tornado-6.4.1-alt1 sisyphus+352243.100.1.1 1720177914 installed <13>Aug 24 08:17:41 rpmi: liblasi-1.1.3-alt3 sisyphus+286812.100.2.1 1633968134 installed <13>Aug 24 08:17:41 rpmi: libcairo-gobject-1:1.18.0-alt1 sisyphus+330227.100.1.1 1695539082 installed <13>Aug 24 08:17:42 rpmi: librsvg-1:2.58.91-alt1 sisyphus+345985.100.1.1 1714236707 installed <13>Aug 24 08:17:42 rpmi: libgd3-2.3.3-alt2 sisyphus+346221.200.2.1 1716402081 installed <13>Aug 24 08:17:42 rpmi: libxxhash-0.8.2-alt1 sisyphus+336514.200.7.1 1702672120 installed <13>Aug 24 08:17:42 rpmi: rsync-3.2.7-alt1 sisyphus+325006.2000.1.1 1689498390 installed <13>Aug 24 08:17:42 rpmi: openssh-common-9.6p1-alt2 sisyphus+351911.100.1.1 1719838551 installed <13>Aug 24 08:17:42 rpmi: libverto-0.3.2-alt1_1 sisyphus+321176.2200.10.2 1684806164 installed <13>Aug 24 08:17:42 rpmi: liblmdb-0.9.32-alt1 sisyphus+342426.100.1.1 1710124284 installed <13>Aug 24 08:17:42 rpmi: libkeyutils-1.6.3-alt1 sisyphus+346336.200.2.2 1716472658 installed <13>Aug 24 08:17:42 rpmi: libcom_err-1.46.4.0.5.4cda-alt1 sisyphus+283826.100.1.1 1629975361 installed <86>Aug 24 08:17:42 groupadd[1300087]: group added to /etc/group: name=_keytab, GID=999 <86>Aug 24 08:17:42 groupadd[1300087]: group added to /etc/gshadow: name=_keytab <86>Aug 24 08:17:42 groupadd[1300087]: new group: name=_keytab, GID=999 <13>Aug 24 08:17:42 rpmi: libkrb5-1.21.3-alt2 sisyphus+351857.100.1.1 1719735219 installed <13>Aug 24 08:17:42 rpmi: libcups-2.4.10-alt2 sisyphus+354418.100.2.1 1722957606 installed <13>Aug 24 08:17:42 rpmi: libgtk+2-2.24.33-alt1 sisyphus+278555.100.1.2 1626252537 installed <13>Aug 24 08:17:43 rpmi: libgs-10.01.1-alt2 sisyphus+346236.200.2.1 1716410957 installed <13>Aug 24 08:17:43 rpmi: libgraphviz-11.0.0-alt2 sisyphus+347657.100.1.1 1715096097 installed <13>Aug 24 08:17:43 rpmi: python3-module-pygraphviz-1.11-alt1 sisyphus+333513.20000.72.1 1704585888 installed <13>Aug 24 08:17:43 rpmi: pyinstaller-6.1.0-alt1 sisyphus+333513.7040.71.1 1704539677 installed <13>Aug 24 08:17:43 rpmi: python3-module-pyinstaller-hooks-contrib-2023.3-alt1 sisyphus+323295.100.1.1 1687161934 installed <13>Aug 24 08:17:43 rpmi: python3-module-rapidfuzz-3.9.6-alt1 sisyphus+354616.100.1.1 1723024551 installed <13>Aug 24 08:17:43 rpmi: python3-module-cleo-2.1.0-alt1 sisyphus+334276.200.1.1 1699816477 installed <13>Aug 24 08:17:43 rpmi: python3-module-poetry_plugin_export-1.8.0-alt1 sisyphus+348028.100.1.1 1715669346 installed <13>Aug 24 08:17:44 rpmi: python3-module-poetry-1.8.3-alt1 sisyphus+347489.100.1.1 1714808125 installed <13>Aug 24 08:17:44 rpmi: libgsasl-2.2.0-alt1 sisyphus+333173.100.1.1 1698696961 installed <86>Aug 24 08:17:44 groupadd[1306795]: group added to /etc/group: name=sasl, GID=998 <86>Aug 24 08:17:44 groupadd[1306795]: group added to /etc/gshadow: name=sasl <86>Aug 24 08:17:44 groupadd[1306795]: new group: name=sasl, GID=998 <13>Aug 24 08:17:44 rpmi: libsasl2-3-2.1.28-alt2 sisyphus+343335.100.1.1 1711112524 installed <13>Aug 24 08:17:44 rpmi: libldap2-2.6.8-alt1 sisyphus+351621.100.1.1 1719420471 installed <13>Aug 24 08:17:44 rpmi: libcurl-8.9.1-alt1 sisyphus+353987.100.1.1 1722417702 installed <13>Aug 24 08:17:44 rpmi: libpq5-16.4-alt1 sisyphus+354694.100.1.1 1723171526 installed <13>Aug 24 08:17:44 rpmi: python3-module-psycopg2-2.9.9-alt1 sisyphus+349097.100.1.1 1716569485 installed <13>Aug 24 08:17:44 rpmi: python3-module-eventlet-0.36.1-alt1 sisyphus+345098.100.1.1 1713004847 installed <13>Aug 24 08:17:44 rpmi: python3-module-gunicorn-20.1.0-alt2 sisyphus+338616.200.2.1 1705909828 installed <13>Aug 24 08:17:44 rpmi: python3-module-aiohttp-3.9.5-alt1 sisyphus+347306.100.1.1 1714654429 installed <13>Aug 24 08:17:44 rpmi: python3-module-GeoIP2-4.8.0-alt1 sisyphus+337372.100.1.1 1703703792 installed <13>Aug 24 08:17:45 rpmi: python3-module-django-5.0.7-alt1 sisyphus+352905.100.11.1 1722004405 installed <13>Aug 24 08:17:45 rpmi: python3-module-django-dbbackend-postgresql-5.0.7-alt1 sisyphus+352905.100.11.1 1722004405 installed <13>Aug 24 08:17:45 rpmi: python3-module-black-24.4.2-alt1 sisyphus+345863.100.1.1 1714122166 installed <13>Aug 24 08:17:45 rpmi: libedit3-3.1.20230828-alt1 sisyphus+330914.200.3.1 1696922745 installed <86>Aug 24 08:17:45 groupadd[1309180]: group added to /etc/group: name=sshagent, GID=997 <86>Aug 24 08:17:45 groupadd[1309180]: group added to /etc/gshadow: name=sshagent <86>Aug 24 08:17:45 groupadd[1309180]: new group: name=sshagent, GID=997 <13>Aug 24 08:17:45 rpmi: openssh-clients-9.6p1-alt2 sisyphus+351911.100.1.1 1719838551 installed <13>Aug 24 08:17:45 rpmi: less-633-alt1 sisyphus+328181.300.2.1 1693321749 installed <13>Aug 24 08:17:45 rpmi: diffstat-1.64-alt1 sisyphus+346132.200.3.2 1716466240 installed <13>Aug 24 08:17:45 rpmi: git-core-2.42.2-alt1 sisyphus+348068.100.1.1 1715721643 installed <13>Aug 24 08:17:45 rpmi: python3-module-setuptools_scm-8.1.0-alt1 sisyphus+347617.100.2.1 1715079551 installed <13>Aug 24 08:17:45 rpmi: python3-module-hatch-vcs-0.4.0-alt1 sisyphus+333758.100.1.1 1699348238 installed <13>Aug 24 08:17:45 rpmi: python3-module-hypothesis-6.110.0-alt1 sisyphus+354698.100.1.1 1723129717 installed <13>Aug 24 08:17:45 rpmi: python3-module-ujson-5.10.0-alt1 sisyphus+348195.100.1.1 1715860694 installed <13>Aug 24 08:17:45 rpmi: python3-module-pytest-benchmark-4.0.0-alt2 sisyphus+326832.100.2.1 1691598075 installed <13>Aug 24 08:17:45 rpmi: python3-module-orjson-3.10.6-alt1 sisyphus+352222.100.1.1 1720171248 installed <13>Aug 24 08:17:45 rpmi: python3-module-immutables-0.20-alt1 sisyphus+333513.74200.74.1 1704727699 installed <13>Aug 24 08:17:45 rpmi: python3-module-cbor2-5.4.6-alt1 sisyphus+333513.50700.73.1 1704645571 installed <13>Aug 24 08:17:45 rpmi: python3-module-bson-4.8.0-alt1 sisyphus+352488.100.1.1 1720527954 installed Building target platforms: i586 Building for target i586 Wrote: /usr/src/in/nosrpm/python3-module-cattrs-23.2.3-alt1.nosrc.rpm (w1.gzdio) <13>Aug 24 08:17:48 rpmi: python3-module-tox-3.27.1-alt4 sisyphus+345209.200.2.1 1713349545 installed <13>Aug 24 08:17:48 rpmi: python3-module-tox-console-scripts-0.3.2-alt2 sisyphus+340507.100.1.1 1707747510 installed <13>Aug 24 08:17:48 rpmi: python3-module-tox-no-deps-0.2.0-alt3 sisyphus+340514.100.1.1 1707748768 installed <13>Aug 24 08:17:48 rpmi: python3-module-pyproject-installer-0.5.4-alt1 sisyphus+352023.140.3.1 1720195943 installed Installing python3-module-cattrs-23.2.3-alt1.src.rpm Building target platforms: i586 Building for target i586 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.99833 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf python3-module-cattrs-23.2.3 + echo 'Source #0 (python3-module-cattrs-23.2.3.tar):' Source #0 (python3-module-cattrs-23.2.3.tar): + /bin/tar -xf /usr/src/RPM/SOURCES/python3-module-cattrs-23.2.3.tar + cd python3-module-cattrs-23.2.3 + /bin/chmod -c -Rf u+rwX,go-w . + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.68685 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-cattrs-23.2.3 + export SETUPTOOLS_SCM_PRETEND_VERSION=23.2.3 + SETUPTOOLS_SCM_PRETEND_VERSION=23.2.3 + export 'CFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export 'CXXFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export 'FFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + /usr/bin/python3 -m pyproject_installer -v build INFO : pyproject_installer.build_cmd._build : Building wheel INFO : pyproject_installer.build_cmd._build : Source tree: /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3 INFO : pyproject_installer.build_cmd._build : Output dir: /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/dist DEBUG : pyproject_installer.lib.build_backend : Validating source path DEBUG : pyproject_installer.lib.build_backend : Checking for PEP517 spec DEBUG : pyproject_installer.lib.build_backend : Parsing configuration file: /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/pyproject.toml INFO : backend_caller.py : Calling hook build_wheel in subprocess INFO : backend_caller.py : Build backend: hatchling.build INFO : backend_caller.py : Hook args: ['/usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/dist'] INFO : backend_caller.py : Hook kwargs: {'config_settings': None} INFO : pyproject_installer.build_cmd._build : Built wheel: cattrs-23.2.3-py3-none-any.whl + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.68685 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/python3-module-cattrs-buildroot + : + /bin/rm -rf -- /usr/src/tmp/python3-module-cattrs-buildroot + PATH=/usr/libexec/rpm-build:/usr/src/bin:/usr/bin:/bin:/usr/local/bin:/usr/games + cd python3-module-cattrs-23.2.3 + export SETUPTOOLS_SCM_PRETEND_VERSION=23.2.3 + SETUPTOOLS_SCM_PRETEND_VERSION=23.2.3 + /usr/bin/python3 -m pyproject_installer -v install --destdir=/usr/src/tmp/python3-module-cattrs-buildroot INFO : pyproject_installer.install_cmd._install : Installing wheel INFO : pyproject_installer.install_cmd._install : Wheel directory: /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/dist INFO : pyproject_installer.install_cmd._install : Wheel filename: cattrs-23.2.3-py3-none-any.whl INFO : pyproject_installer.install_cmd._install : Destination: /usr/src/tmp/python3-module-cattrs-buildroot DEBUG : pyproject_installer.lib.wheel : Parsing wheel filename DEBUG : pyproject_installer.lib.wheel : Validating wheel file DEBUG : pyproject_installer.lib.wheel : Validating wheel spec version DEBUG : pyproject_installer.lib.wheel : Parsing wheel spec metadata DEBUG : pyproject_installer.lib.wheel : Validating RECORD INFO : pyproject_installer.install_cmd._install : Wheel installation root: /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages INFO : pyproject_installer.install_cmd._install : Extracting wheel DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: cattrs-23.2.3.dist-info/WHEEL DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: cattrs-23.2.3.dist-info/licenses/LICENSE DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: cattrs-23.2.3.dist-info/RECORD INFO : pyproject_installer.install_cmd._install : Wheel was installed + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/python3-module-cattrs-buildroot (auto) Verifying and fixing files in /usr/src/tmp/python3-module-cattrs-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig) Checking contents of files in /usr/src/tmp/python3-module-cattrs-buildroot/ (default) Compressing files in /usr/src/tmp/python3-module-cattrs-buildroot (auto) Adjusting library links in /usr/src/tmp/python3-module-cattrs-buildroot ./usr/lib: (from :0) Verifying ELF objects in /usr/src/tmp/python3-module-cattrs-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) Splitting links to aliased files under /{,s}bin in /usr/src/tmp/python3-module-cattrs-buildroot Bytecompiling python3 modules in /usr/src/tmp/python3-module-cattrs-buildroot using /usr/bin/python3 compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/__init__.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/bson.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/json.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/msgpack.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/orjson.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/pyyaml.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/tomlkit.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/ujson.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/__init__.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/converters.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/disambiguators.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/dispatch.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/errors.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/gen.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/gen/__init__.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/gen/_consts.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/gen/_generics.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/gen/_lc.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/gen/_shared.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/gen/typeddicts.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/__init__.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/bson.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/cbor2.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/json.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/msgpack.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/orjson.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/pyyaml.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/tomlkit.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/ujson.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/strategies/__init__.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/strategies/_class_methods.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/strategies/_subclasses.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/strategies/_unions.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/__init__.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/_compat.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/_generics.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/converters.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/disambiguators.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/dispatch.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/errors.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/fns.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/v.py Bytecompiling python3 modules with optimization in /usr/src/tmp/python3-module-cattrs-buildroot using /usr/bin/python3 -O compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/__init__.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/bson.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/json.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/msgpack.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/orjson.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/pyyaml.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/tomlkit.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/ujson.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/__init__.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/converters.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/disambiguators.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/dispatch.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/errors.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/gen.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/gen/__init__.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/gen/_consts.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/gen/_generics.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/gen/_lc.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/gen/_shared.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/gen/typeddicts.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/__init__.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/bson.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/cbor2.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/json.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/msgpack.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/orjson.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/pyyaml.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/tomlkit.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/ujson.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/strategies/__init__.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/strategies/_class_methods.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/strategies/_subclasses.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/strategies/_unions.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/__init__.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/_compat.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/_generics.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/converters.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/disambiguators.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/dispatch.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/errors.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/fns.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/v.py Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python3-module-cattrs-buildroot using /usr/bin/python3 -OO compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/__init__.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/bson.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/json.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/msgpack.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/orjson.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/pyyaml.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/tomlkit.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/preconf/ujson.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/__init__.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/converters.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/disambiguators.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/dispatch.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/errors.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattr/gen.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/gen/__init__.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/gen/_consts.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/gen/_generics.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/gen/_lc.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/gen/_shared.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/gen/typeddicts.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/__init__.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/bson.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/cbor2.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/json.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/msgpack.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/orjson.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/pyyaml.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/tomlkit.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/preconf/ujson.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/strategies/__init__.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/strategies/_class_methods.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/strategies/_subclasses.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/strategies/_unions.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/__init__.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/_compat.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/_generics.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/converters.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/disambiguators.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/dispatch.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/errors.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/fns.py compile /usr/src/tmp/python3-module-cattrs-buildroot/usr/lib/python3/site-packages/cattrs/v.py Hardlinking identical .pyc and .opt-?.pyc files './usr/lib/python3/site-packages/cattr/__pycache__/__init__.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattr/__pycache__/__init__.cpython-312.pyc' './usr/lib/python3/site-packages/cattr/__pycache__/__init__.cpython-312.opt-2.pyc' => './usr/lib/python3/site-packages/cattr/__pycache__/__init__.cpython-312.opt-1.pyc' './usr/lib/python3/site-packages/cattr/__pycache__/converters.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattr/__pycache__/converters.cpython-312.pyc' './usr/lib/python3/site-packages/cattr/__pycache__/converters.cpython-312.opt-2.pyc' => './usr/lib/python3/site-packages/cattr/__pycache__/converters.cpython-312.opt-1.pyc' './usr/lib/python3/site-packages/cattr/__pycache__/disambiguators.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattr/__pycache__/disambiguators.cpython-312.pyc' './usr/lib/python3/site-packages/cattr/__pycache__/disambiguators.cpython-312.opt-2.pyc' => './usr/lib/python3/site-packages/cattr/__pycache__/disambiguators.cpython-312.opt-1.pyc' './usr/lib/python3/site-packages/cattr/__pycache__/dispatch.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattr/__pycache__/dispatch.cpython-312.pyc' './usr/lib/python3/site-packages/cattr/__pycache__/dispatch.cpython-312.opt-2.pyc' => './usr/lib/python3/site-packages/cattr/__pycache__/dispatch.cpython-312.opt-1.pyc' './usr/lib/python3/site-packages/cattr/__pycache__/errors.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattr/__pycache__/errors.cpython-312.pyc' './usr/lib/python3/site-packages/cattr/__pycache__/errors.cpython-312.opt-2.pyc' => './usr/lib/python3/site-packages/cattr/__pycache__/errors.cpython-312.opt-1.pyc' './usr/lib/python3/site-packages/cattr/__pycache__/gen.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattr/__pycache__/gen.cpython-312.pyc' './usr/lib/python3/site-packages/cattr/__pycache__/gen.cpython-312.opt-2.pyc' => './usr/lib/python3/site-packages/cattr/__pycache__/gen.cpython-312.opt-1.pyc' './usr/lib/python3/site-packages/cattr/preconf/__pycache__/__init__.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattr/preconf/__pycache__/__init__.cpython-312.pyc' './usr/lib/python3/site-packages/cattr/preconf/__pycache__/__init__.cpython-312.opt-2.pyc' => './usr/lib/python3/site-packages/cattr/preconf/__pycache__/__init__.cpython-312.opt-1.pyc' './usr/lib/python3/site-packages/cattr/preconf/__pycache__/bson.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattr/preconf/__pycache__/bson.cpython-312.pyc' './usr/lib/python3/site-packages/cattr/preconf/__pycache__/json.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattr/preconf/__pycache__/json.cpython-312.pyc' './usr/lib/python3/site-packages/cattr/preconf/__pycache__/msgpack.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattr/preconf/__pycache__/msgpack.cpython-312.pyc' './usr/lib/python3/site-packages/cattr/preconf/__pycache__/orjson.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattr/preconf/__pycache__/orjson.cpython-312.pyc' './usr/lib/python3/site-packages/cattr/preconf/__pycache__/pyyaml.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattr/preconf/__pycache__/pyyaml.cpython-312.pyc' './usr/lib/python3/site-packages/cattr/preconf/__pycache__/tomlkit.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattr/preconf/__pycache__/tomlkit.cpython-312.pyc' './usr/lib/python3/site-packages/cattr/preconf/__pycache__/ujson.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattr/preconf/__pycache__/ujson.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/__pycache__/__init__.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/__pycache__/__init__.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/__pycache__/__init__.cpython-312.opt-2.pyc' => './usr/lib/python3/site-packages/cattrs/__pycache__/__init__.cpython-312.opt-1.pyc' './usr/lib/python3/site-packages/cattrs/__pycache__/_generics.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/__pycache__/_generics.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/__pycache__/_generics.cpython-312.opt-2.pyc' => './usr/lib/python3/site-packages/cattrs/__pycache__/_generics.cpython-312.opt-1.pyc' './usr/lib/python3/site-packages/cattrs/__pycache__/converters.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/__pycache__/converters.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/__pycache__/disambiguators.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/__pycache__/disambiguators.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/__pycache__/dispatch.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/__pycache__/dispatch.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/__pycache__/errors.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/__pycache__/errors.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/__pycache__/fns.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/__pycache__/fns.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/__pycache__/v.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/__pycache__/v.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/gen/__pycache__/__init__.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/gen/__pycache__/__init__.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/gen/__pycache__/_consts.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/gen/__pycache__/_consts.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/gen/__pycache__/_consts.cpython-312.opt-2.pyc' => './usr/lib/python3/site-packages/cattrs/gen/__pycache__/_consts.cpython-312.opt-1.pyc' './usr/lib/python3/site-packages/cattrs/gen/__pycache__/_generics.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/gen/__pycache__/_generics.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/gen/__pycache__/_generics.cpython-312.opt-2.pyc' => './usr/lib/python3/site-packages/cattrs/gen/__pycache__/_generics.cpython-312.opt-1.pyc' './usr/lib/python3/site-packages/cattrs/gen/__pycache__/_lc.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/gen/__pycache__/_lc.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/gen/__pycache__/_shared.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/gen/__pycache__/_shared.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/gen/__pycache__/typeddicts.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/gen/__pycache__/typeddicts.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/__init__.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/__init__.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/__init__.cpython-312.opt-2.pyc' => './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/__init__.cpython-312.opt-1.pyc' './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/bson.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/bson.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/cbor2.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/cbor2.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/json.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/json.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/msgpack.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/msgpack.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/orjson.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/orjson.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/pyyaml.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/pyyaml.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/tomlkit.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/tomlkit.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/ujson.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/preconf/__pycache__/ujson.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/strategies/__pycache__/__init__.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/strategies/__pycache__/__init__.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/strategies/__pycache__/_class_methods.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/strategies/__pycache__/_class_methods.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/strategies/__pycache__/_subclasses.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/strategies/__pycache__/_subclasses.cpython-312.pyc' './usr/lib/python3/site-packages/cattrs/strategies/__pycache__/_unions.cpython-312.opt-1.pyc' => './usr/lib/python3/site-packages/cattrs/strategies/__pycache__/_unions.cpython-312.pyc' Executing(%check): /bin/sh -e /usr/src/tmp/rpm-tmp.87760 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-cattrs-23.2.3 + cat ++ cat ./dist/.wheeltracker + _tox_wheel=cattrs-23.2.3-py3-none-any.whl + export NO_INTERNET=YES + NO_INTERNET=YES + export PIP_NO_BUILD_ISOLATION=NO + PIP_NO_BUILD_ISOLATION=NO + export PIP_NO_INDEX=YES + PIP_NO_INDEX=YES + export TOXENV=py3 + TOXENV=py3 + export TOX_TESTENV_PASSENV=NO_INTERNET + TOX_TESTENV_PASSENV=NO_INTERNET + /usr/bin/tox.py3 --sitepackages -vvr -s false --no-deps --console-scripts --installpkg=./dist/cattrs-23.2.3-py3-none-any.whl using tox.ini: /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/tox.ini (pid 1327668) using tox-3.27.1 from /usr/lib/python3/site-packages/tox/__init__.py (pid 1327668) using package '/usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/dist/cattrs-23.2.3-py3-none-any.whl', skipping 'sdist' activity package .tox/.tmp/package/1/cattrs-23.2.3-py3-none-any.whl links to dist/cattrs-23.2.3-py3-none-any.whl (/usr/src/RPM/BUILD/python3-module-cattrs-23.2.3) py3 uses /usr/bin/python3 py3 start: getenv /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3 py3 cannot reuse: -r flag py3 create: /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3 setting PATH=/usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin:/usr/src/bin:/usr/bin:/bin:/usr/local/bin:/usr/games [1328265] /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox$ /usr/bin/python3 -m virtualenv --system-site-packages --no-download --python /usr/bin/python3 py3 created virtual environment CPython3.12.5.final.0-32 in 190ms creator CPython3Posix(dest=/usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3, clear=False, no_vcs_ignore=False, global=True) seeder FromAppData(download=False, pip=bundle, via=copy, app_data_dir=/usr/src/.local/share/virtualenv) added seed packages: pip==24.2 activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator setting PATH=/usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin:/usr/src/bin:/usr/bin:/bin:/usr/local/bin:/usr/games [1329928] /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3$ /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin/python /usr/lib/python3/site-packages/tox_console_scripts/helper/console_scripts.py Generating script tox into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script tox-quickstart into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script py.test-benchmark into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script pytest-benchmark into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script hypothesis into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script black into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script blackd into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script django-admin into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script gunicorn into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script poetry into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script pyi-archive_viewer into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script pyi-bindepend into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script pyi-grab_version into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script pyi-makespec into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script pyi-set_version into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script pyinstaller into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script cftp into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script ckeygen into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script conch into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script mailmail into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script pyhtmlizer into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script tkconch into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script trial into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script twist into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script twistd into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script automat-visualize into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script dulwich into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script f2py into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script pyserial-miniterm into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script pyserial-ports into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script paster into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script doesitcache into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script normalizer into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script cpuinfo into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script virtualenv into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script sqlformat into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script hatchling into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script pkginfo into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script pyproject-build into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script jupyter into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script jupyter-migrate into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script jupyter-troubleshoot into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script py.test into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script pytest into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script py3prov into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin Generating script py3req into /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin py3 finish: getenv /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3 after 0.46 seconds py3 start: installpkg /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/.tmp/package/1/cattrs-23.2.3-py3-none-any.whl py3 inst: /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/.tmp/package/1/cattrs-23.2.3-py3-none-any.whl write config to /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/.tox-config1 as '32ef8bc6189db89756f2c5bb4037ef3d79199c482145bc6314b83a90dcc97ad1 /usr/bin/python3\n3.27.1 1 0 0' setting PATH=/usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin:/usr/src/bin:/usr/bin:/bin:/usr/local/bin:/usr/games [1330848] /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3$ /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin/python -m pip install --exists-action w .tox/.tmp/package/1/cattrs-23.2.3-py3-none-any.whl Processing ./.tox/.tmp/package/1/cattrs-23.2.3-py3-none-any.whl Requirement already satisfied: attrs>=23.1.0 in /usr/lib/python3/site-packages (from cattrs==23.2.3) (24.2.0) Installing collected packages: cattrs Successfully installed cattrs-23.2.3 py3 finish: installpkg /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/.tmp/package/1/cattrs-23.2.3-py3-none-any.whl after 1.04 seconds py3 start: envreport setting PATH=/usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin:/usr/src/bin:/usr/bin:/bin:/usr/local/bin:/usr/games [1334165] /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3$ /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin/python -m pip freeze >.tox/py3/log/py3-0.log py3 finish: envreport after 0.33 seconds py3 installed: aiohttp==3.9.5,aiosignal==1.3.1,altgraph==0.17.4,apipkg==3.0.2,appdirs==1.4.4,asgiref==3.7.2,astor==0.8.1,attrs==24.2.0,Automat==24.8.1,black==24.4.2,build==1.2.1,CacheControl==0.14.0,cattrs @ file:///usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/.tmp/package/1/cattrs-23.2.3-py3-none-any.whl#sha256=e165c2c927897c6f467d5f067c394f1d64197f90fc19cea04c2fea674a82cdf8,cbor2==5.4.6,certifi==2023.5.7,cffi==1.16.0,charset-normalizer==3.2.0,cleo==2.1.0,click==8.1.7,constantly==15.1.0,crashtest==0.4.1,cryptography==43.0.0,CT3==3.3.3,distlib==0.3.8,Django==5.0.7,dnspython==2.6.1,dulwich==0.22.1,eventlet==0.36.1,fastimport==0.9.14,fastjsonschema==2.20.0,filelock==3.15.4,frozenlist==1.4.1,geoip2==4.8.0,gevent==23.9.1,greenlet==3.0.3,gunicorn==20.1.0,h2==4.1.0,hatch-vcs==0.4.0,hatchling==1.25.0,hidapi==0.14.0,hpack==4.0.0,hyperframe==6.0.1,hyperlink==21.0.0,hypothesis==6.110.0,idna==3.7,immutables==0.20,incremental==22.10.0,iniconfig==2.0.0,installer==0.7.0,Jinja2==3.1.4,jupyter_core==5.7.2,lark==1.1.9,libcst==1.4.0,MarkupSafe==2.1.5,maxminddb==2.6.2,mercurial==6.6.3,msgpack==1.0.7,multidict==6.0.5,mypy-extensions==1.0.0,numpy==1.26.5,objgraph==3.6.1,orjson==3.10.6,outcome==1.3.0,packaging==24.1,Paste==3.7.1,PasteDeploy==3.1.0,PasteScript==2.0.2,pathspec==0.12.1,pexpect==4.9.0,pkginfo==1.10.0,platformdirs==4.2.2,pluggy==1.5.0,poetry==1.8.3,poetry-core==1.9.0,poetry-plugin-export==1.8.0,priority==2.0.0,psutil==5.9.8,psycopg2==2.9.9,ptyprocess==0.7.0,py==1.11.0,py-cpuinfo==9.0.0,py3dephell==0.1.0,pycares==4.4.0,pycparser==2.21,pygraphviz==1.11,pyinstaller==6.1.0,pyinstaller-hooks-contrib==2023.3,pyOpenSSL==24.2.1,pyproject-installer==0.5.4,pyproject_hooks==1.1.0,pyserial==3.5,pytest==8.3.2,pytest-benchmark==4.0.0,python-dateutil==2.8.3,python3-openid==3.2.0,pytz==2024.1,pyusb==1.2.1,PyYAML==6.0.1,rapidfuzz==3.9.6,redis==4.5.5,requests==2.32.3,requests-toolbelt==1.0.0,setuptools==70.3.0,setuptools-scm==8.1.0,shellingham==1.5.4,six==1.16.0,sniffio==1.3.1,sortedcontainers==2.4.0,sqlparse==0.5.1,tomli==2.0.1,tomlkit==0.13.0,tornado==6.4.1,tox==3.27.1,tox-console-scripts==0.3.2,tox-no-deps==0.2.0,traitlets==5.14.3,trio==0.26.2,trove-classifiers==2024.7.2,Twisted==22.10.0,typing_extensions==4.12.2,ujson==5.10.0,urllib3==2.2.2,virtualenv==20.26.3,yarl==1.9.4,zombie-imp==0.0.2,zope.event==5.0,zope.interface==7.0.1 py3 start: run-test-pre py3 run-test-pre: PYTHONHASHSEED='4035089805' py3 finish: run-test-pre after 0.00 seconds py3 start: run-test py3 run-test: commands[0] | pytest -vra setting PATH=/usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin:/usr/src/bin:/usr/bin:/bin:/usr/local/bin:/usr/games [1335166] /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3$ /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin/pytest -vra ============================= test session starts ============================== platform linux -- Python 3.12.5, pytest-8.3.2, pluggy-1.5.0 -- /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin/python cachedir: .tox/py3/.pytest_cache benchmark: 4.0.0 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=True warmup_iterations=5) hypothesis profile 'tests' -> deadline=None, suppress_health_check=[HealthCheck.too_slow], database=DirectoryBasedExampleDatabase(PosixPath('/usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.hypothesis/examples')) rootdir: /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3 configfile: pyproject.toml plugins: benchmark-4.0.0, hypothesis-6.110.0 collecting ... collected 661 items bench/test_attrs_collections.py::test_unstructure_attrs_lists[UnstructureStrategy.AS_DICT-BaseConverter] PASSED [ 0%] bench/test_attrs_collections.py::test_unstructure_attrs_lists[UnstructureStrategy.AS_DICT-Converter] PASSED [ 0%] bench/test_attrs_collections.py::test_unstructure_attrs_lists[UnstructureStrategy.AS_TUPLE-BaseConverter] PASSED [ 0%] bench/test_attrs_collections.py::test_unstructure_attrs_lists[UnstructureStrategy.AS_TUPLE-Converter] PASSED [ 0%] bench/test_attrs_collections.py::test_unstructure_attrs_mappings[UnstructureStrategy.AS_DICT-BaseConverter] PASSED [ 0%] bench/test_attrs_collections.py::test_unstructure_attrs_mappings[UnstructureStrategy.AS_DICT-Converter] PASSED [ 0%] bench/test_attrs_collections.py::test_unstructure_attrs_mappings[UnstructureStrategy.AS_TUPLE-BaseConverter] PASSED [ 1%] bench/test_attrs_collections.py::test_unstructure_attrs_mappings[UnstructureStrategy.AS_TUPLE-Converter] PASSED [ 1%] bench/test_attrs_collections.py::test_structure_attrs_mappings[BaseConverter] PASSED [ 1%] bench/test_attrs_collections.py::test_structure_attrs_mappings[Converter] PASSED [ 1%] bench/test_attrs_nested.py::test_unstructure_attrs_nested[UnstructureStrategy.AS_DICT-BaseConverter] PASSED [ 1%] bench/test_attrs_nested.py::test_unstructure_attrs_nested[UnstructureStrategy.AS_DICT-Converter] PASSED [ 1%] bench/test_attrs_nested.py::test_unstructure_attrs_nested[UnstructureStrategy.AS_TUPLE-BaseConverter] PASSED [ 1%] bench/test_attrs_nested.py::test_unstructure_attrs_nested[UnstructureStrategy.AS_TUPLE-Converter] PASSED [ 2%] bench/test_attrs_nested.py::test_unstruct_attrs_deep_nest[UnstructureStrategy.AS_DICT-BaseConverter] PASSED [ 2%] bench/test_attrs_nested.py::test_unstruct_attrs_deep_nest[UnstructureStrategy.AS_DICT-Converter] PASSED [ 2%] bench/test_attrs_nested.py::test_unstruct_attrs_deep_nest[UnstructureStrategy.AS_TUPLE-BaseConverter] PASSED [ 2%] bench/test_attrs_nested.py::test_unstruct_attrs_deep_nest[UnstructureStrategy.AS_TUPLE-Converter] PASSED [ 2%] bench/test_attrs_primitives.py::test_unstructure_attrs_primitives[UnstructureStrategy.AS_DICT-BaseConverter] PASSED [ 2%] bench/test_attrs_primitives.py::test_unstructure_attrs_primitives[UnstructureStrategy.AS_DICT-Converter] PASSED [ 3%] bench/test_attrs_primitives.py::test_unstructure_attrs_primitives[UnstructureStrategy.AS_TUPLE-BaseConverter] PASSED [ 3%] bench/test_attrs_primitives.py::test_unstructure_attrs_primitives[UnstructureStrategy.AS_TUPLE-Converter] PASSED [ 3%] bench/test_attrs_primitives.py::test_structure_attrs_primitives[UnstructureStrategy.AS_DICT-BaseConverter] PASSED [ 3%] bench/test_attrs_primitives.py::test_structure_attrs_primitives[UnstructureStrategy.AS_DICT-Converter] PASSED [ 3%] bench/test_attrs_primitives.py::test_structure_attrs_primitives[UnstructureStrategy.AS_TUPLE-BaseConverter] PASSED [ 3%] bench/test_attrs_primitives.py::test_structure_attrs_primitives[UnstructureStrategy.AS_TUPLE-Converter] PASSED [ 3%] bench/test_primitives.py::test_unstructure_int[BaseConverter] PASSED [ 4%] bench/test_primitives.py::test_unstructure_int[Converter] PASSED [ 4%] bench/test_primitives.py::test_unstructure_float[BaseConverter] PASSED [ 4%] bench/test_primitives.py::test_unstructure_float[Converter] PASSED [ 4%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-_unstructure] PASSED [ 4%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-_undefined] PASSED [ 4%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-None] PASSED [ 4%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-_unstructure] PASSED [ 5%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-_undefined] PASSED [ 5%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-None] PASSED [ 5%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-_unstructure] PASSED [ 5%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-_undefined] PASSED [ 5%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-None] PASSED [ 5%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-_unstructure] PASSED [ 6%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-_undefined] PASSED [ 6%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-None] PASSED [ 6%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-_unstructure] PASSED [ 6%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-_undefined] PASSED [ 6%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-None] PASSED [ 6%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-_unstructure] PASSED [ 6%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-_undefined] PASSED [ 7%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-None] PASSED [ 7%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-_unstructure] PASSED [ 7%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-_undefined] PASSED [ 7%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-None] PASSED [ 7%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-_unstructure] PASSED [ 7%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-_undefined] PASSED [ 8%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-None] PASSED [ 8%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-_unstructure] PASSED [ 8%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-_undefined] PASSED [ 8%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-None] PASSED [ 8%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-_unstructure] PASSED [ 8%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-_undefined] PASSED [ 8%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-None] PASSED [ 9%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-_unstructure] PASSED [ 9%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-_undefined] PASSED [ 9%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-None] PASSED [ 9%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-_unstructure] PASSED [ 9%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-_undefined] PASSED [ 9%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-None] PASSED [ 9%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-_unstructure] PASSED [ 10%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-_undefined] PASSED [ 10%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-None] PASSED [ 10%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-_unstructure] PASSED [ 10%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-_undefined] PASSED [ 10%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-None] PASSED [ 10%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-_unstructure] PASSED [ 11%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-_undefined] PASSED [ 11%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-None] PASSED [ 11%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-_unstructure] PASSED [ 11%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-_undefined] PASSED [ 11%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-None] PASSED [ 11%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-_unstructure] PASSED [ 11%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-_undefined] PASSED [ 12%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-None] PASSED [ 12%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-_unstructure] PASSED [ 12%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-_undefined] PASSED [ 12%] tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-None] PASSED [ 12%] tests/strategies/test_native_unions.py::test_only_primitives[BaseConverter-True] PASSED [ 12%] tests/strategies/test_native_unions.py::test_only_primitives[BaseConverter-False] PASSED [ 13%] tests/strategies/test_native_unions.py::test_literals[BaseConverter-True] PASSED [ 13%] tests/strategies/test_native_unions.py::test_literals[BaseConverter-False] PASSED [ 13%] tests/strategies/test_native_unions.py::test_spillover[BaseConverter-True] PASSED [ 13%] tests/strategies/test_native_unions.py::test_spillover[BaseConverter-False] PASSED [ 13%] tests/strategies/test_native_unions.py::test_multiple_spillover[BaseConverter-True] PASSED [ 13%] tests/strategies/test_native_unions.py::test_multiple_spillover[BaseConverter-False] PASSED [ 13%] tests/strategies/test_tagged_unions.py::test_defaults[BaseConverter-True] PASSED [ 14%] tests/strategies/test_tagged_unions.py::test_defaults[BaseConverter-False] PASSED [ 14%] tests/strategies/test_tagged_unions.py::test_tag_name[BaseConverter-True] PASSED [ 14%] tests/strategies/test_tagged_unions.py::test_tag_name[BaseConverter-False] PASSED [ 14%] tests/strategies/test_tagged_unions.py::test_tag_generator[BaseConverter-True] PASSED [ 14%] tests/strategies/test_tagged_unions.py::test_tag_generator[BaseConverter-False] PASSED [ 14%] tests/strategies/test_tagged_unions.py::test_tag_generator_dict[BaseConverter-True] PASSED [ 14%] tests/strategies/test_tagged_unions.py::test_tag_generator_dict[BaseConverter-False] PASSED [ 15%] tests/strategies/test_tagged_unions.py::test_default_member[BaseConverter-True] PASSED [ 15%] tests/strategies/test_tagged_unions.py::test_default_member[BaseConverter-False] PASSED [ 15%] tests/strategies/test_tagged_unions.py::test_default_member_validation[BaseConverter-True] PASSED [ 15%] tests/strategies/test_tagged_unions.py::test_default_member_validation[BaseConverter-False] PASSED [ 15%] tests/test_any.py::test_unstructuring_dict_of_any[BaseConverter-True] PASSED [ 15%] tests/test_any.py::test_unstructuring_dict_of_any[BaseConverter-False] PASSED [ 16%] tests/test_converter.py::test_unstructure_fallbacks[BaseConverter] PASSED [ 16%] tests/test_converter.py::test_structure_fallbacks[BaseConverter] PASSED [ 16%] tests/test_converter.py::test_fallback_chaining[BaseConverter] PASSED [ 16%] tests/test_converter_inheritance.py::test_inheritance[BaseConverter-True] PASSED [ 16%] tests/test_converter_inheritance.py::test_inheritance[BaseConverter-False] PASSED [ 16%] tests/test_converter_inheritance.py::test_gen_hook_priority[BaseConverter-True] PASSED [ 16%] tests/test_converter_inheritance.py::test_gen_hook_priority[BaseConverter-False] PASSED [ 17%] tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Hashable] PASSED [ 17%] tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Iterable] PASSED [ 17%] tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Reversible] PASSED [ 17%] tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Hashable] PASSED [ 17%] tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Iterable] PASSED [ 17%] tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Reversible] PASSED [ 18%] tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Hashable] PASSED [ 18%] tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Iterable] PASSED [ 18%] tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Reversible] PASSED [ 18%] tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Hashable] PASSED [ 18%] tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Iterable] PASSED [ 18%] tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Reversible] PASSED [ 18%] tests/test_copy.py::test_deepcopy[BaseConverter] PASSED [ 19%] tests/test_copy.py::test_copy[BaseConverter] PASSED [ 19%] tests/test_copy.py::test_copy_hooks[BaseConverter] PASSED [ 19%] tests/test_copy.py::test_copy_func_hooks[BaseConverter] PASSED [ 19%] tests/test_dataclasses.py::test_dataclasses_in_attrs[BaseConverter-True] PASSED [ 19%] tests/test_dataclasses.py::test_dataclasses_in_attrs[BaseConverter-False] PASSED [ 19%] tests/test_dataclasses.py::test_dataclasses_in_container[BaseConverter-True] PASSED [ 19%] tests/test_dataclasses.py::test_dataclasses_in_container[BaseConverter-False] PASSED [ 20%] tests/test_dataclasses.py::test_dataclasses[BaseConverter-True] PASSED [ 20%] tests/test_dataclasses.py::test_dataclasses[BaseConverter-False] PASSED [ 20%] tests/test_disambiguators.py::test_converter_no_literals[BaseConverter-True] PASSED [ 20%] tests/test_disambiguators.py::test_converter_no_literals[BaseConverter-False] PASSED [ 20%] tests/test_factory_hooks.py::test_snake_to_camel[BaseConverter] PASSED [ 20%] tests/test_gen_dict.py::test_omitting[BaseConverter-True] PASSED [ 21%] tests/test_gen_dict.py::test_omitting[BaseConverter-False] PASSED [ 21%] tests/test_gen_dict.py::test_omitting_none[BaseConverter-True] PASSED [ 21%] tests/test_gen_dict.py::test_omitting_none[BaseConverter-False] PASSED [ 21%] tests/test_gen_dict.py::test_overriding_struct_hook[BaseConverter-True] PASSED [ 21%] tests/test_gen_dict.py::test_overriding_struct_hook[BaseConverter-False] PASSED [ 21%] tests/test_gen_dict.py::test_overriding_unstruct_hook[BaseConverter-True] PASSED [ 21%] tests/test_gen_dict.py::test_overriding_unstruct_hook[BaseConverter-False] PASSED [ 22%] tests/test_gen_dict.py::test_alias_keys[BaseConverter-True] PASSED [ 22%] tests/test_gen_dict.py::test_alias_keys[BaseConverter-False] PASSED [ 22%] tests/test_gen_dict.py::test_init_false[BaseConverter-True] PASSED [ 22%] tests/test_gen_dict.py::test_init_false[BaseConverter-False] PASSED [ 22%] tests/test_gen_dict.py::test_init_false_overridden[BaseConverter-True] PASSED [ 22%] tests/test_gen_dict.py::test_init_false_overridden[BaseConverter-False] PASSED [ 22%] tests/test_gen_dict.py::test_init_false_field_override[BaseConverter-True] PASSED [ 23%] tests/test_gen_dict.py::test_init_false_field_override[BaseConverter-False] PASSED [ 23%] tests/test_gen_dict.py::test_detailed_validation_from_converter[BaseConverter-True] PASSED [ 23%] tests/test_gen_dict.py::test_detailed_validation_from_converter[BaseConverter-False] PASSED [ 23%] tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-int-str-result0] PASSED [ 23%] tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-str-str-result1] PASSED [ 23%] tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-List-str-result2] PASSED [ 24%] tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-int-str-result0] PASSED [ 24%] tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-str-str-result1] PASSED [ 24%] tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-List-str-result2] PASSED [ 24%] tests/test_generics.py::test_structure_nested_generics[BaseConverter-True-TClass-str-result0] PASSED [ 24%] tests/test_generics.py::test_structure_nested_generics[BaseConverter-True-List-str-result1] PASSED [ 24%] tests/test_generics.py::test_structure_nested_generics[BaseConverter-False-TClass-str-result0] PASSED [ 24%] tests/test_generics.py::test_structure_nested_generics[BaseConverter-False-List-str-result1] PASSED [ 25%] tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[BaseConverter-True] PASSED [ 25%] tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[BaseConverter-False] PASSED [ 25%] tests/test_generics.py::test_structure_unions_of_generics[BaseConverter-True] PASSED [ 25%] tests/test_generics.py::test_structure_unions_of_generics[BaseConverter-False] PASSED [ 25%] tests/test_generics.py::test_structure_list_of_generic_unions[BaseConverter-True] PASSED [ 25%] tests/test_generics.py::test_structure_list_of_generic_unions[BaseConverter-False] PASSED [ 26%] tests/test_generics.py::test_structure_deque_of_generic_unions[BaseConverter-True] PASSED [ 26%] tests/test_generics.py::test_structure_deque_of_generic_unions[BaseConverter-False] PASSED [ 26%] tests/test_generics.py::test_raises_if_no_generic_params_supplied[BaseConverter-True] PASSED [ 26%] tests/test_generics.py::test_raises_if_no_generic_params_supplied[BaseConverter-False] PASSED [ 26%] tests/test_generics.py::test_nongeneric_protocols[BaseConverter-True] PASSED [ 26%] tests/test_generics.py::test_nongeneric_protocols[BaseConverter-False] PASSED [ 26%] tests/test_optionals.py::test_optional_any[BaseConverter-True] PASSED [ 27%] tests/test_optionals.py::test_optional_any[BaseConverter-False] PASSED [ 27%] tests/test_typeddicts.py::test_detailed_validation_from_converter[BaseConverter-True] PASSED [ 27%] tests/test_typeddicts.py::test_detailed_validation_from_converter[BaseConverter-False] PASSED [ 27%] tests/test_unstructure.py::test_unstructure_hook_func[BaseConverter-True] PASSED [ 27%] tests/test_unstructure.py::test_unstructure_hook_func[BaseConverter-False] PASSED [ 27%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-_unstructure] PASSED [ 27%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-_undefined] PASSED [ 28%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-None] PASSED [ 28%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-_unstructure] PASSED [ 28%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-_undefined] PASSED [ 28%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-None] PASSED [ 28%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-_unstructure] PASSED [ 28%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-_undefined] PASSED [ 29%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-None] PASSED [ 29%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-_unstructure] PASSED [ 29%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-_undefined] PASSED [ 29%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-None] PASSED [ 29%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-_unstructure] PASSED [ 29%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-_undefined] PASSED [ 29%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-None] PASSED [ 30%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-_unstructure] PASSED [ 30%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-_undefined] PASSED [ 30%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-None] PASSED [ 30%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-_unstructure] PASSED [ 30%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-_undefined] PASSED [ 30%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-None] PASSED [ 31%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-_unstructure] PASSED [ 31%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-_undefined] PASSED [ 31%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-None] PASSED [ 31%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-_unstructure] PASSED [ 31%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-_undefined] PASSED [ 31%] tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-None] PASSED [ 31%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-_unstructure] PASSED [ 32%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-_undefined] PASSED [ 32%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-None] PASSED [ 32%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-_unstructure] PASSED [ 32%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-_undefined] PASSED [ 32%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-None] PASSED [ 32%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-_unstructure] PASSED [ 32%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-_undefined] PASSED [ 33%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-None] PASSED [ 33%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-_unstructure] PASSED [ 33%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-_undefined] PASSED [ 33%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-None] PASSED [ 33%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-_unstructure] PASSED [ 33%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-_undefined] PASSED [ 34%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-None] PASSED [ 34%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-_unstructure] PASSED [ 34%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-_undefined] PASSED [ 34%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-None] PASSED [ 34%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-_unstructure] PASSED [ 34%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-_undefined] PASSED [ 34%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-None] PASSED [ 35%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-_unstructure] PASSED [ 35%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-_undefined] PASSED [ 35%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-None] PASSED [ 35%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-_unstructure] PASSED [ 35%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-_undefined] PASSED [ 35%] tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-None] PASSED [ 36%] tests/strategies/test_native_unions.py::test_only_primitives[Converter-True] PASSED [ 36%] tests/strategies/test_native_unions.py::test_only_primitives[Converter-False] PASSED [ 36%] tests/strategies/test_native_unions.py::test_literals[Converter-True] PASSED [ 36%] tests/strategies/test_native_unions.py::test_literals[Converter-False] PASSED [ 36%] tests/strategies/test_native_unions.py::test_spillover[Converter-True] PASSED [ 36%] tests/strategies/test_native_unions.py::test_spillover[Converter-False] PASSED [ 36%] tests/strategies/test_native_unions.py::test_multiple_spillover[Converter-True] PASSED [ 37%] tests/strategies/test_native_unions.py::test_multiple_spillover[Converter-False] PASSED [ 37%] tests/strategies/test_tagged_unions.py::test_defaults[Converter-True] PASSED [ 37%] tests/strategies/test_tagged_unions.py::test_defaults[Converter-False] PASSED [ 37%] tests/strategies/test_tagged_unions.py::test_tag_name[Converter-True] PASSED [ 37%] tests/strategies/test_tagged_unions.py::test_tag_name[Converter-False] PASSED [ 37%] tests/strategies/test_tagged_unions.py::test_tag_generator[Converter-True] PASSED [ 37%] tests/strategies/test_tagged_unions.py::test_tag_generator[Converter-False] PASSED [ 38%] tests/strategies/test_tagged_unions.py::test_tag_generator_dict[Converter-True] PASSED [ 38%] tests/strategies/test_tagged_unions.py::test_tag_generator_dict[Converter-False] PASSED [ 38%] tests/strategies/test_tagged_unions.py::test_default_member[Converter-True] PASSED [ 38%] tests/strategies/test_tagged_unions.py::test_default_member[Converter-False] PASSED [ 38%] tests/strategies/test_tagged_unions.py::test_default_member_validation[Converter-True] PASSED [ 38%] tests/strategies/test_tagged_unions.py::test_default_member_validation[Converter-False] PASSED [ 39%] tests/test_any.py::test_unstructuring_dict_of_any[Converter-True] PASSED [ 39%] tests/test_any.py::test_unstructuring_dict_of_any[Converter-False] PASSED [ 39%] tests/test_converter.py::test_unstructure_fallbacks[Converter] PASSED [ 39%] tests/test_converter.py::test_structure_fallbacks[Converter] PASSED [ 39%] tests/test_converter.py::test_fallback_chaining[Converter] PASSED [ 39%] tests/test_converter_inheritance.py::test_inheritance[Converter-True] PASSED [ 39%] tests/test_converter_inheritance.py::test_inheritance[Converter-False] PASSED [ 40%] tests/test_converter_inheritance.py::test_gen_hook_priority[Converter-True] PASSED [ 40%] tests/test_converter_inheritance.py::test_gen_hook_priority[Converter-False] PASSED [ 40%] tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Hashable] PASSED [ 40%] tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Iterable] PASSED [ 40%] tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Reversible] PASSED [ 40%] tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Hashable] PASSED [ 40%] tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Iterable] PASSED [ 41%] tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Reversible] PASSED [ 41%] tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Hashable] PASSED [ 41%] tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Iterable] PASSED [ 41%] tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Reversible] PASSED [ 41%] tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Hashable] PASSED [ 41%] tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Iterable] PASSED [ 42%] tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Reversible] PASSED [ 42%] tests/test_copy.py::test_deepcopy[Converter] PASSED [ 42%] tests/test_copy.py::test_copy[Converter] PASSED [ 42%] tests/test_copy.py::test_copy_hooks[Converter] PASSED [ 42%] tests/test_copy.py::test_copy_func_hooks[Converter] PASSED [ 42%] tests/test_dataclasses.py::test_dataclasses_in_attrs[Converter-True] PASSED [ 42%] tests/test_dataclasses.py::test_dataclasses_in_attrs[Converter-False] PASSED [ 43%] tests/test_dataclasses.py::test_dataclasses_in_container[Converter-True] PASSED [ 43%] tests/test_dataclasses.py::test_dataclasses_in_container[Converter-False] PASSED [ 43%] tests/test_dataclasses.py::test_dataclasses[Converter-True] PASSED [ 43%] tests/test_dataclasses.py::test_dataclasses[Converter-False] PASSED [ 43%] tests/test_disambiguators.py::test_converter_no_literals[Converter-True] PASSED [ 43%] tests/test_disambiguators.py::test_converter_no_literals[Converter-False] PASSED [ 44%] tests/test_factory_hooks.py::test_snake_to_camel[Converter] PASSED [ 44%] tests/test_gen_dict.py::test_omitting[Converter-True] PASSED [ 44%] tests/test_gen_dict.py::test_omitting[Converter-False] PASSED [ 44%] tests/test_gen_dict.py::test_omitting_none[Converter-True] PASSED [ 44%] tests/test_gen_dict.py::test_omitting_none[Converter-False] PASSED [ 44%] tests/test_gen_dict.py::test_overriding_struct_hook[Converter-True] PASSED [ 44%] tests/test_gen_dict.py::test_overriding_struct_hook[Converter-False] PASSED [ 45%] tests/test_gen_dict.py::test_overriding_unstruct_hook[Converter-True] PASSED [ 45%] tests/test_gen_dict.py::test_overriding_unstruct_hook[Converter-False] PASSED [ 45%] tests/test_gen_dict.py::test_alias_keys[Converter-True] PASSED [ 45%] tests/test_gen_dict.py::test_alias_keys[Converter-False] PASSED [ 45%] tests/test_gen_dict.py::test_init_false[Converter-True] PASSED [ 45%] tests/test_gen_dict.py::test_init_false[Converter-False] PASSED [ 45%] tests/test_gen_dict.py::test_init_false_overridden[Converter-True] PASSED [ 46%] tests/test_gen_dict.py::test_init_false_overridden[Converter-False] PASSED [ 46%] tests/test_gen_dict.py::test_init_false_field_override[Converter-True] PASSED [ 46%] tests/test_gen_dict.py::test_init_false_field_override[Converter-False] PASSED [ 46%] tests/test_gen_dict.py::test_detailed_validation_from_converter[Converter-True] PASSED [ 46%] tests/test_gen_dict.py::test_detailed_validation_from_converter[Converter-False] PASSED [ 46%] tests/test_generics.py::test_able_to_structure_generics[Converter-True-int-str-result0] PASSED [ 47%] tests/test_generics.py::test_able_to_structure_generics[Converter-True-str-str-result1] PASSED [ 47%] tests/test_generics.py::test_able_to_structure_generics[Converter-True-List-str-result2] PASSED [ 47%] tests/test_generics.py::test_able_to_structure_generics[Converter-False-int-str-result0] PASSED [ 47%] tests/test_generics.py::test_able_to_structure_generics[Converter-False-str-str-result1] PASSED [ 47%] tests/test_generics.py::test_able_to_structure_generics[Converter-False-List-str-result2] PASSED [ 47%] tests/test_generics.py::test_structure_nested_generics[Converter-True-TClass-str-result0] PASSED [ 47%] tests/test_generics.py::test_structure_nested_generics[Converter-True-List-str-result1] PASSED [ 48%] tests/test_generics.py::test_structure_nested_generics[Converter-False-TClass-str-result0] PASSED [ 48%] tests/test_generics.py::test_structure_nested_generics[Converter-False-List-str-result1] PASSED [ 48%] tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[Converter-True] PASSED [ 48%] tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[Converter-False] PASSED [ 48%] tests/test_generics.py::test_structure_unions_of_generics[Converter-True] PASSED [ 48%] tests/test_generics.py::test_structure_unions_of_generics[Converter-False] PASSED [ 49%] tests/test_generics.py::test_structure_list_of_generic_unions[Converter-True] PASSED [ 49%] tests/test_generics.py::test_structure_list_of_generic_unions[Converter-False] PASSED [ 49%] tests/test_generics.py::test_structure_deque_of_generic_unions[Converter-True] PASSED [ 49%] tests/test_generics.py::test_structure_deque_of_generic_unions[Converter-False] PASSED [ 49%] tests/test_generics.py::test_raises_if_no_generic_params_supplied[Converter-True] PASSED [ 49%] tests/test_generics.py::test_raises_if_no_generic_params_supplied[Converter-False] PASSED [ 49%] tests/test_generics.py::test_nongeneric_protocols[Converter-True] PASSED [ 50%] tests/test_generics.py::test_nongeneric_protocols[Converter-False] PASSED [ 50%] tests/test_optionals.py::test_optional_any[Converter-True] PASSED [ 50%] tests/test_optionals.py::test_optional_any[Converter-False] PASSED [ 50%] tests/test_typeddicts.py::test_detailed_validation_from_converter[Converter-True] PASSED [ 50%] tests/test_typeddicts.py::test_detailed_validation_from_converter[Converter-False] PASSED [ 50%] tests/test_unstructure.py::test_unstructure_hook_func[Converter-True] PASSED [ 50%] tests/test_unstructure.py::test_unstructure_hook_func[Converter-False] PASSED [ 51%] tests/strategies/test_class_methods.py::test_nested_roundtrip PASSED [ 51%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-parent-only] PASSED [ 51%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-child1-only] PASSED [ 51%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-child2-only] PASSED [ 51%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-grandchild-only] PASSED [ 51%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-parent] PASSED [ 52%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-child] PASSED [ 52%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-grandchild] PASSED [ 52%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-parent] PASSED [ 52%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-child] PASSED [ 52%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-grandchild] PASSED [ 52%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-container] PASSED [ 52%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-container] PASSED [ 53%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-parent-only] PASSED [ 53%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-child1-only] PASSED [ 53%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-child2-only] PASSED [ 53%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-grandchild-only] PASSED [ 53%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-parent] PASSED [ 53%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-child] PASSED [ 54%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-grandchild] PASSED [ 54%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-parent] PASSED [ 54%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-child] PASSED [ 54%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-grandchild] PASSED [ 54%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-container] PASSED [ 54%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-container] PASSED [ 54%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-parent-only] PASSED [ 55%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-child1-only] XFAIL [ 55%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-child2-only] XFAIL [ 55%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-grandchild-only] XFAIL [ 55%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-parent] PASSED [ 55%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-child] PASSED [ 55%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-grandchild] PASSED [ 55%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-parent] XFAIL [ 56%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-child] XFAIL [ 56%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-grandchild] XFAIL [ 56%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-container] PASSED [ 56%] tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-container] XFAIL [ 56%] tests/strategies/test_include_subclasses.py::test_structure_as_union PASSED [ 56%] tests/strategies/test_include_subclasses.py::test_circular_reference[with-subclasses] PASSED [ 57%] tests/strategies/test_include_subclasses.py::test_circular_reference[with-subclasses-and-tagged-union] PASSED [ 57%] tests/strategies/test_include_subclasses.py::test_circular_reference[wo-subclasses] XFAIL [ 57%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-parent-only] PASSED [ 57%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-child1-only] PASSED [ 57%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-child2-only] PASSED [ 57%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-grandchild-only] PASSED [ 57%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-parent] PASSED [ 58%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-child] PASSED [ 58%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-grandchild] PASSED [ 58%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-parent] PASSED [ 58%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-child] PASSED [ 58%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-grandchild] PASSED [ 58%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-container] PASSED [ 59%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-container] PASSED [ 59%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-parent-only] PASSED [ 59%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-child1-only] PASSED [ 59%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-child2-only] PASSED [ 59%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-grandchild-only] PASSED [ 59%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-parent] PASSED [ 59%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-child] PASSED [ 60%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-grandchild] PASSED [ 60%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-parent] PASSED [ 60%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-child] PASSED [ 60%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-grandchild] PASSED [ 60%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-container] PASSED [ 60%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-container] PASSED [ 60%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-parent-only] PASSED [ 61%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-child1-only] XFAIL [ 61%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-child2-only] XFAIL [ 61%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-grandchild-only] XFAIL [ 61%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-parent] PASSED [ 61%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-child] PASSED [ 61%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-grandchild] PASSED [ 62%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-parent] XFAIL [ 62%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-child] XFAIL [ 62%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-grandchild] XFAIL [ 62%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-container] PASSED [ 62%] tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-container] XFAIL [ 62%] tests/strategies/test_include_subclasses.py::test_structuring_unstructuring_unknown_subclass PASSED [ 62%] tests/strategies/test_include_subclasses.py::test_structuring_with_subclasses_argument PASSED [ 63%] tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-parent-only] PASSED [ 63%] tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-child1-only] PASSED [ 63%] tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-child2-only] PASSED [ 63%] tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-grandchild-only] PASSED [ 63%] tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-parent-only] PASSED [ 63%] tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-child1-only] PASSED [ 63%] tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-child2-only] PASSED [ 64%] tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-grandchild-only] PASSED [ 64%] tests/strategies/test_native_unions.py::test_skip_optionals PASSED [ 64%] tests/strategies/test_tagged_unions.py::test_forbid_extra_keys PASSED [ 64%] tests/strategies/test_tagged_unions.py::test_forbid_extra_keys_default PASSED [ 64%] tests/strategies/test_tagged_unions.py::test_nested_sequence_union PASSED [ 64%] tests/test_baseconverter.py::test_simple_roundtrip FAILED [ 65%] tests/test_baseconverter.py::test_simple_roundtrip_defaults FAILED [ 65%] tests/test_baseconverter.py::test_nested_roundtrip FAILED [ 65%] tests/test_baseconverter.py::test_nested_roundtrip_tuple FAILED [ 65%] tests/test_baseconverter.py::test_union_field_roundtrip PASSED [ 65%] tests/test_baseconverter.py::test_310_union_field_roundtrip FAILED [ 65%] tests/test_baseconverter.py::test_optional_field_roundtrip FAILED [ 65%] tests/test_baseconverter.py::test_310_optional_field_roundtrip FAILED [ 66%] tests/test_converter.py::test_simple_roundtrip FAILED [ 66%] tests/test_converter.py::test_simple_roundtrip_tuple FAILED [ 66%] tests/test_converter.py::test_simple_roundtrip_defaults FAILED [ 66%] tests/test_converter.py::test_simple_roundtrip_defaults_tuple PASSED [ 66%] tests/test_converter.py::test_simple_roundtrip_with_extra_keys_forbidden FAILED [ 66%] tests/test_converter.py::test_forbid_extra_keys PASSED [ 67%] tests/test_converter.py::test_forbid_extra_keys_defaults PASSED [ 67%] tests/test_converter.py::test_forbid_extra_keys_nested_override PASSED [ 67%] tests/test_converter.py::test_nested_roundtrip FAILED [ 67%] tests/test_converter.py::test_nested_roundtrip_tuple FAILED [ 67%] tests/test_converter.py::test_union_field_roundtrip FAILED [ 67%] tests/test_converter.py::test_310_union_field_roundtrip FAILED [ 67%] tests/test_converter.py::test_optional_field_roundtrip FAILED [ 68%] tests/test_converter.py::test_310_optional_field_roundtrip FAILED [ 68%] tests/test_converter.py::test_omit_default_roundtrip FAILED [ 68%] tests/test_converter.py::test_dict_roundtrip_with_alias PASSED [ 68%] tests/test_converter.py::test_type_overrides PASSED [ 68%] tests/test_converter.py::test_calling_back PASSED [ 68%] tests/test_converter.py::test_overriding_generated_unstructure PASSED [ 68%] tests/test_converter.py::test_overriding_generated_unstructure_hook_func PASSED [ 69%] tests/test_converter.py::test_overriding_generated_structure PASSED [ 69%] tests/test_converter.py::test_overriding_generated_structure_hook_func PASSED [ 69%] tests/test_converter.py::test_seq_of_simple_classes_unstructure PASSED [ 69%] tests/test_converter.py::test_seq_of_bare_classes_structure PASSED [ 69%] tests/test_converter.py::test_annotated_attrs PASSED [ 69%] tests/test_converter.py::test_annotated_with_typing_extensions_attrs PASSED [ 70%] tests/test_copy.py::test_copy_converter PASSED [ 70%] tests/test_copy.py::test_detailed_validation PASSED [ 70%] tests/test_copy.py::test_col_overrides PASSED [ 70%] tests/test_disambiguators.py::test_edge_errors PASSED [ 70%] tests/test_disambiguators.py::test_fallback PASSED [ 70%] tests/test_disambiguators.py::test_disambiguation PASSED [ 70%] tests/test_disambiguators.py::test_disambiguate_from_discriminated_enum PASSED [ 71%] tests/test_disambiguators.py::test_default_no_literals PASSED [ 71%] tests/test_final.py::test_unstructure_final[True] PASSED [ 71%] tests/test_final.py::test_unstructure_final[False] PASSED [ 71%] tests/test_final.py::test_structure_final[True] PASSED [ 71%] tests/test_final.py::test_structure_final[False] PASSED [ 71%] tests/test_final.py::test_unstructure_bare_final[True] PASSED [ 72%] tests/test_final.py::test_unstructure_bare_final[False] PASSED [ 72%] tests/test_final.py::test_structure_bare_final[True] PASSED [ 72%] tests/test_final.py::test_structure_bare_final[False] PASSED [ 72%] tests/test_function_dispatch.py::test_function_dispatch PASSED [ 72%] tests/test_function_dispatch.py::test_function_clears_cache_after_function_added PASSED [ 72%] tests/test_gen.py::test_structure_linecache PASSED [ 72%] tests/test_gen.py::test_unstructure_linecache PASSED [ 73%] tests/test_gen.py::test_no_linecache PASSED [ 73%] tests/test_gen.py::test_linecache_dedup PASSED [ 73%] tests/test_gen_dict.py::test_unmodified_generated_unstructuring PASSED [ 73%] tests/test_gen_dict.py::test_nodefs_generated_unstructuring PASSED [ 73%] tests/test_gen_dict.py::test_nodefs_generated_unstructuring_cl PASSED [ 73%] tests/test_gen_dict.py::test_individual_overrides PASSED [ 73%] tests/test_gen_dict.py::test_unmodified_generated_structuring PASSED [ 74%] tests/test_gen_dict.py::test_renaming FAILED [ 74%] tests/test_gen_dict.py::test_renaming_forbid_extra_keys PASSED [ 74%] tests/test_gen_dict.py::test_omitting_structure[True] PASSED [ 74%] tests/test_gen_dict.py::test_omitting_structure[False] PASSED [ 74%] tests/test_gen_dict.py::test_type_names_with_quotes PASSED [ 74%] tests/test_gen_dict.py::test_forbid_extra_keys_from_converter PASSED [ 75%] tests/test_gen_dict.py::test_forbid_extra_keys_from_baseconverter PASSED [ 75%] tests/test_gen_dict_563.py::test_roundtrip PASSED [ 75%] tests/test_gen_dict_563.py::test_roundtrip_dc PASSED [ 75%] tests/test_generics.py::test_deep_copy PASSED [ 75%] tests/test_generics.py::test_structure_generics_with_cols[True-int-result0] PASSED [ 75%] tests/test_generics.py::test_structure_generics_with_cols[True-str-result1] PASSED [ 75%] tests/test_generics.py::test_structure_generics_with_cols[False-int-result0] PASSED [ 76%] tests/test_generics.py::test_structure_generics_with_cols[False-str-result1] PASSED [ 76%] tests/test_generics.py::test_39_structure_generics_with_cols[int-result0] PASSED [ 76%] tests/test_generics.py::test_39_structure_generics_with_cols[str-result1] PASSED [ 76%] tests/test_generics.py::test_structure_nested_generics_with_cols[int-result0] PASSED [ 76%] tests/test_generics.py::test_structure_nested_generics_with_cols[int-result1] PASSED [ 76%] tests/test_generics.py::test_unstructure_generic_attrs[True] PASSED [ 77%] tests/test_generics.py::test_unstructure_generic_attrs[False] PASSED [ 77%] tests/test_generics.py::test_unstructure_optional[True] PASSED [ 77%] tests/test_generics.py::test_unstructure_optional[False] PASSED [ 77%] tests/test_generics.py::test_unstructure_deeply_nested_generics[True] PASSED [ 77%] tests/test_generics.py::test_unstructure_deeply_nested_generics[False] PASSED [ 77%] tests/test_generics.py::test_unstructure_deeply_nested_generics_list[True] PASSED [ 77%] tests/test_generics.py::test_unstructure_deeply_nested_generics_list[False] PASSED [ 78%] tests/test_generics.py::test_unstructure_protocol[True] PASSED [ 78%] tests/test_generics.py::test_unstructure_protocol[False] PASSED [ 78%] tests/test_generics.py::test_roundtrip_generic_with_union PASSED [ 78%] tests/test_generics.py::test_generate_typeddict_mapping PASSED [ 78%] tests/test_generics_604.py::test_unstructure_optional[True] PASSED [ 78%] tests/test_generics_604.py::test_unstructure_optional[False] PASSED [ 78%] tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_register_cls PASSED [ 79%] tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_register_func PASSED [ 79%] tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_conflict_class_wins PASSED [ 79%] tests/test_newtypes.py::test_newtype_structure_hooks[True] PASSED [ 79%] tests/test_newtypes.py::test_newtype_structure_hooks[False] PASSED [ 79%] tests/test_newtypes.py::test_newtype_unstructure_hooks[True] PASSED [ 79%] tests/test_newtypes.py::test_newtype_unstructure_hooks[False] PASSED [ 80%] tests/test_optionals.py::test_newtype_optionals[True] PASSED [ 80%] tests/test_optionals.py::test_newtype_optionals[False] PASSED [ 80%] tests/test_optionals.py::test_newtype_modern_optionals[True] PASSED [ 80%] tests/test_optionals.py::test_newtype_modern_optionals[False] PASSED [ 80%] tests/test_preconf.py::test_stdlib_json PASSED [ 80%] tests/test_preconf.py::test_stdlib_json_converter PASSED [ 80%] tests/test_preconf.py::test_stdlib_json_converter_unstruct_collection_overrides PASSED [ 81%] tests/test_preconf.py::test_stdlib_json_unions PASSED [ 81%] tests/test_preconf.py::test_stdlib_json_unions_with_spillover PASSED [ 81%] tests/test_preconf.py::test_ujson PASSED [ 81%] tests/test_preconf.py::test_ujson_converter PASSED [ 81%] tests/test_preconf.py::test_ujson_converter_unstruct_collection_overrides PASSED [ 81%] tests/test_preconf.py::test_ujson_unions PASSED [ 81%] tests/test_preconf.py::test_orjson PASSED [ 82%] tests/test_preconf.py::test_orjson_converter PASSED [ 82%] tests/test_preconf.py::test_orjson_converter_unstruct_collection_overrides PASSED [ 82%] tests/test_preconf.py::test_orjson_unions PASSED [ 82%] tests/test_preconf.py::test_msgpack PASSED [ 82%] tests/test_preconf.py::test_msgpack_converter PASSED [ 82%] tests/test_preconf.py::test_msgpack_converter_unstruct_collection_overrides PASSED [ 83%] tests/test_preconf.py::test_msgpack_unions PASSED [ 83%] tests/test_preconf.py::test_bson PASSED [ 83%] tests/test_preconf.py::test_bson_converter PASSED [ 83%] tests/test_preconf.py::test_bson_converter_unstruct_collection_overrides PASSED [ 83%] tests/test_preconf.py::test_bson_unions PASSED [ 83%] tests/test_preconf.py::test_pyyaml PASSED [ 83%] tests/test_preconf.py::test_pyyaml_converter PASSED [ 84%] tests/test_preconf.py::test_pyyaml_converter_unstruct_collection_overrides PASSED [ 84%] tests/test_preconf.py::test_pyyaml_unions PASSED [ 84%] tests/test_preconf.py::test_pyyaml_dates PASSED [ 84%] tests/test_preconf.py::test_tomlkit PASSED [ 84%] tests/test_preconf.py::test_tomlkit_converter PASSED [ 84%] tests/test_preconf.py::test_tomlkit_converter_unstruct_collection_overrides PASSED [ 85%] tests/test_preconf.py::test_tomlkit_unions PASSED [ 85%] tests/test_preconf.py::test_bson_objectid PASSED [ 85%] tests/test_preconf.py::test_cbor2 PASSED [ 85%] tests/test_preconf.py::test_cbor2_converter PASSED [ 85%] tests/test_preconf.py::test_cbor2_converter_unstruct_collection_overrides PASSED [ 85%] tests/test_preconf.py::test_cbor2_unions PASSED [ 85%] tests/test_recursive.py::test_simple_recursive PASSED [ 86%] tests/test_structure.py::test_structuring_primitives PASSED [ 86%] tests/test_structure.py::test_structuring_seqs PASSED [ 86%] tests/test_structure.py::test_structuring_seqs_to_deque PASSED [ 86%] tests/test_structure.py::test_structuring_sets PASSED [ 86%] tests/test_structure.py::test_stringifying_sets PASSED [ 86%] tests/test_structure.py::test_structuring_hetero_tuples PASSED [ 86%] tests/test_structure.py::test_stringifying_tuples PASSED [ 87%] tests/test_structure.py::test_structuring_dicts PASSED [ 87%] tests/test_structure.py::test_structuring_dicts_opts PASSED [ 87%] tests/test_structure.py::test_stringifying_dicts PASSED [ 87%] tests/test_structure.py::test_structuring_optional_primitives PASSED [ 87%] tests/test_structure.py::test_structuring_lists_of_opt PASSED [ 87%] tests/test_structure.py::test_stringifying_lists_of_opt PASSED [ 88%] tests/test_structure.py::test_structuring_primitive_union_hook PASSED [ 88%] tests/test_structure.py::test_structure_hook_func PASSED [ 88%] tests/test_structure.py::test_structuring_enums PASSED [ 88%] tests/test_structure.py::test_structuring_unsupported PASSED [ 88%] tests/test_structure.py::test_subclass_registration_is_honored PASSED [ 88%] tests/test_structure.py::test_structure_union_edge_case PASSED [ 88%] tests/test_structure_attrs.py::test_structure_simple_from_dict PASSED [ 89%] tests/test_structure_attrs.py::test_structure_simple_from_dict_default FAILED [ 89%] tests/test_structure_attrs.py::test_roundtrip PASSED [ 89%] tests/test_structure_attrs.py::test_structure_tuple PASSED [ 89%] tests/test_structure_attrs.py::test_structure_union PASSED [ 89%] tests/test_structure_attrs.py::test_structure_union_none PASSED [ 89%] tests/test_structure_attrs.py::test_structure_union_explicit PASSED [ 90%] tests/test_structure_attrs.py::test_structure_literal[BaseConverter] PASSED [ 90%] tests/test_structure_attrs.py::test_structure_literal[Converter] PASSED [ 90%] tests/test_structure_attrs.py::test_structure_literal_enum[BaseConverter] PASSED [ 90%] tests/test_structure_attrs.py::test_structure_literal_enum[Converter] PASSED [ 90%] tests/test_structure_attrs.py::test_structure_literal_multiple[BaseConverter] PASSED [ 90%] tests/test_structure_attrs.py::test_structure_literal_multiple[Converter] PASSED [ 90%] tests/test_structure_attrs.py::test_structure_literal_error[BaseConverter] PASSED [ 91%] tests/test_structure_attrs.py::test_structure_literal_error[Converter] PASSED [ 91%] tests/test_structure_attrs.py::test_structure_literal_multiple_error[BaseConverter] PASSED [ 91%] tests/test_structure_attrs.py::test_structure_literal_multiple_error[Converter] PASSED [ 91%] tests/test_structure_attrs.py::test_structure_fallback_to_attrib_converters[BaseConverter] PASSED [ 91%] tests/test_structure_attrs.py::test_structure_fallback_to_attrib_converters[Converter] PASSED [ 91%] tests/test_structure_attrs.py::test_structure_prefers_attrib_converters[BaseConverter] PASSED [ 91%] tests/test_structure_attrs.py::test_structure_prefers_attrib_converters[Converter] PASSED [ 92%] tests/test_structure_attrs.py::test_structure_multitier_discriminator_union[BaseConverter] PASSED [ 92%] tests/test_structure_attrs.py::test_structure_multitier_discriminator_union[Converter] PASSED [ 92%] tests/test_typeddicts.py::test_simple_roundtrip PASSED [ 92%] tests/test_typeddicts.py::test_simple_nontotal PASSED [ 92%] tests/test_typeddicts.py::test_int_override PASSED [ 92%] tests/test_typeddicts.py::test_extra_keys PASSED [ 93%] tests/test_typeddicts.py::test_generics PASSED [ 93%] tests/test_typeddicts.py::test_not_required PASSED [ 93%] tests/test_typeddicts.py::test_required PASSED [ 93%] tests/test_typeddicts.py::test_omit PASSED [ 93%] tests/test_typeddicts.py::test_rename PASSED [ 93%] tests/test_typeddicts.py::test_forbid_extra_keys PASSED [ 93%] tests/test_typeddicts.py::test_recursive_generation PASSED [ 94%] tests/test_typeddicts.py::test_forwardref[True] PASSED [ 94%] tests/test_typeddicts.py::test_forwardref[False] PASSED [ 94%] tests/test_typeddicts.py::test_forbid_extra_keys_from_converter PASSED [ 94%] tests/test_typeddicts.py::test_forbid_extra_keys_from_baseconverter PASSED [ 94%] tests/test_unions.py::test_custom_union_toplevel_roundtrip[BaseConverter] PASSED [ 94%] tests/test_unions.py::test_custom_union_toplevel_roundtrip[Converter] PASSED [ 95%] tests/test_unions.py::test_310_custom_union_toplevel_roundtrip[BaseConverter] PASSED [ 95%] tests/test_unions.py::test_310_custom_union_toplevel_roundtrip[Converter] PASSED [ 95%] tests/test_unions.py::test_custom_union_clsfield_roundtrip[BaseConverter] PASSED [ 95%] tests/test_unions.py::test_custom_union_clsfield_roundtrip[Converter] PASSED [ 95%] tests/test_unstructure.py::test_seq_unstructure PASSED [ 95%] tests/test_unstructure.py::test_set_unstructure PASSED [ 95%] tests/test_unstructure.py::test_mapping_unstructure PASSED [ 96%] tests/test_unstructure.py::test_enum_unstructure PASSED [ 96%] tests/test_unstructure.py::test_attrs_asdict_unstructure PASSED [ 96%] tests/test_unstructure.py::test_attrs_astuple_unstructure PASSED [ 96%] tests/test_unstructure.py::test_unstructure_hooks PASSED [ 96%] tests/test_unstructure.py::test_seq_of_simple_classes_unstructure PASSED [ 96%] tests/test_unstructure_collections.py::test_collection_unstructure_override_set PASSED [ 96%] tests/test_unstructure_collections.py::test_collection_unstructure_override_set_38 SKIPPED [ 97%] tests/test_unstructure_collections.py::test_collection_unstructure_override_seq PASSED [ 97%] tests/test_unstructure_collections.py::test_collection_unstructure_override_mapping PASSED [ 97%] tests/test_v.py::test_attribute_errors PASSED [ 97%] tests/test_v.py::test_class_errors PASSED [ 97%] tests/test_v.py::test_sequence_errors PASSED [ 97%] tests/test_v.py::test_mapping_errors PASSED [ 98%] tests/test_v.py::test_custom_error_fn PASSED [ 98%] tests/test_v.py::test_custom_error_fn_nested PASSED [ 98%] tests/test_v.py::test_typeddict_attribute_errors PASSED [ 98%] tests/test_validation.py::test_class_validation PASSED [ 98%] tests/test_validation.py::test_external_class_validation PASSED [ 98%] tests/test_validation.py::test_list_validation PASSED [ 98%] tests/test_validation.py::test_mapping_validation PASSED [ 99%] tests/test_validation.py::test_counter_validation PASSED [ 99%] tests/test_validation.py::test_set_validation PASSED [ 99%] tests/test_validation.py::test_frozenset_validation PASSED [ 99%] tests/test_validation.py::test_homo_tuple_validation PASSED [ 99%] tests/test_validation.py::test_hetero_tuple_validation PASSED [ 99%] tests/test_validation.py::test_notes_pickling PASSED [100%] =================================== FAILURES =================================== ____________________________ test_simple_roundtrip _____________________________ @given(simple_typed_classes(newtypes=False), unstructure_strats) > def test_simple_roundtrip(cls_and_vals, strat): f = .run_test_as_given..wrapped_test at 0xf62dd528> tests/test_baseconverter.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls_and_vals = (, (frozenset(), frozenset(), 0.0, {}, PosixPath('a')), {'_f': nan, 'd': 0, 'g': PosixPath('a')}) strat = @given(simple_typed_classes(newtypes=False), unstructure_strats) def test_simple_roundtrip(cls_and_vals, strat): """ Simple classes with metadata can be unstructured and restructured. """ converter = BaseConverter(unstruct_strat=strat) cl, vals, kwargs = cls_and_vals assume(strat is UnstructureStrategy.AS_DICT or not kwargs) inst = cl(*vals, **kwargs) > assert inst == converter.structure(converter.unstructure(inst), cl) E AssertionError: assert HypAttrsClass...osixPath('a')) == HypAttrsClass...osixPath('a')) E E Omitting 7 identical items, use -vv to show E Differing attributes: E ['e'] E E Drill down into differing attribute e: E e: nan != nan E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=5, _default=0.0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=6, _default={}, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=7, _default=PosixPath('a'), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_h': _CountingAttr(counter=5, _default=0.0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='i', metadata={}), '_j': _CountingAttr(counter=6, _default={}, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'k': _CountingAttr(counter=7, _default=PosixPath('a'), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_l', metadata={})} E Falsifying example: test_simple_roundtrip( E cls_and_vals=(tests.typed.HypAttrsClass, E (frozenset(), frozenset(), 0.0, {}, Path('a')), E {'d': 0, E '_f': struct.unpack('d', struct.pack('Q', 0x7ff9000000ffffff))[0], E 'g': Path('a')}), E strat=UnstructureStrategy.AS_DICT, # or any other generated value E ) cl = cls_and_vals = (, (frozenset(), frozenset(), 0.0, {}, PosixPath('a')), {'_f': nan, 'd': 0, 'g': PosixPath('a')}) converter = inst = HypAttrsClass(a=frozenset(), _b=frozenset(), _d=0, e=nan, g=PosixPath('a'), _h=0.0, _j={}, k=PosixPath('a')) kwargs = {'_f': nan, 'd': 0, 'g': PosixPath('a')} strat = vals = (frozenset(), frozenset(), 0.0, {}, PosixPath('a')) tests/test_baseconverter.py:26: AssertionError ________________________ test_simple_roundtrip_defaults ________________________ @given(simple_typed_attrs(defaults=True, newtypes=False), unstructure_strats) > def test_simple_roundtrip_defaults(attr_and_strat, strat): f = .run_test_as_given..wrapped_test at 0xf62dd6b8> tests/test_baseconverter.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attr_and_strat = (_CountingAttr(counter=20480, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), floats()) strat = @given(simple_typed_attrs(defaults=True, newtypes=False), unstructure_strats) def test_simple_roundtrip_defaults(attr_and_strat, strat): """ Simple classes with metadata can be unstructured and restructured. """ a, _ = attr_and_strat assume(strat is UnstructureStrategy.AS_DICT or not a.kw_only) cl = make_class("HypClass", {"a": a}) converter = BaseConverter(unstruct_strat=strat) inst = cl() assert converter.unstructure(converter.structure({}, cl)) == converter.unstructure( inst ) > assert inst == converter.structure(converter.unstructure(inst), cl) E AssertionError: assert HypClass(a=nan) == HypClass(a=nan) E E Differing attributes: E ['a'] E E Drill down into differing attribute a: E a: nan != nan E Falsifying example: test_simple_roundtrip_defaults( E attr_and_strat=(_CountingAttr(counter=20480, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), E floats()), E strat=UnstructureStrategy.AS_DICT, # or any other generated value E ) _ = floats() a = _CountingAttr(counter=20480, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}) attr_and_strat = (_CountingAttr(counter=20480, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), floats()) cl = converter = inst = HypClass(a=nan) strat = tests/test_baseconverter.py:42: AssertionError ____________________________ test_nested_roundtrip _____________________________ @given(nested_typed_classes(newtypes=False)) > def test_nested_roundtrip(cls_and_vals): f = .run_test_as_given..wrapped_test at 0xf62dd848> tests/test_baseconverter.py:46: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls_and_vals = (, ([HypClass(a=frozenset(), _b={}, c=0, _d=nan, e=[HypClass(a={}, _b={}, c={})])],), {}) @given(nested_typed_classes(newtypes=False)) def test_nested_roundtrip(cls_and_vals): """ Nested classes with metadata can be unstructured and restructured. """ converter = BaseConverter() cl, vals, kwargs = cls_and_vals # Vals are a tuple, convert into a dictionary. inst = cl(*vals, **kwargs) > assert inst == converter.structure(converter.unstructure(inst), cl) E AssertionError: assert HypClass(a=[H...={}, c={})])]) == HypClass(a=[H...={}, c={})])]) E E Differing attributes: E ['a'] E E Drill down into differing attribute a: E a: [HypClass(a=frozenset(), _b={}, c=0, _d=nan, e=[HypClass(a={}, _b={}, c={})])] != [HypClass(a=frozenset(), _b={}, c=0, _d=nan, e=[HypClass(a={}, _b={}, c={})])] E At index 0 diff: HypClass(a=frozenset(), _b={}, c=0, _d=nan, e=[HypClass(a={}, _b={}, c={})]) != HypClass(a=frozenset(), _b={}, c=0, _d=nan, e=[HypClass(a={}, _b={}, c={})])... E E ...Full output truncated (5 lines hidden), use '-vv' to show E Falsifying example: test_nested_roundtrip( E cls_and_vals=(tests.typed.HypClass, E ([HypClass(a=frozenset(), _b={}, c=0, _d=nan, e=[HypClass(a={}, _b={}, c={})])],), E {}), E ) E Explanation: E These lines were always and only run by failing examples: E /usr/lib/python3.12/difflib.py:490 E /usr/lib/python3/site-packages/_pytest/_io/pprint.py:112 E /usr/lib/python3/site-packages/_pytest/_io/pprint.py:474 E /usr/lib/python3/site-packages/_pytest/_io/terminalwriter.py:250 cl = cls_and_vals = (, ([HypClass(a=frozenset(), _b={}, c=0, _d=nan, e=[HypClass(a={}, _b={}, c={})])],), {}) converter = inst = HypClass(a=[HypClass(a=frozenset(), _b={}, c=0, _d=nan, e=[HypClass(a={}, _b={}, c={})])]) kwargs = {} vals = ([HypClass(a=frozenset(), _b={}, c=0, _d=nan, e=[HypClass(a={}, _b={}, c={})])],) tests/test_baseconverter.py:54: AssertionError _________________________ test_nested_roundtrip_tuple __________________________ @given(nested_typed_classes(kw_only=False, newtypes=False)) > def test_nested_roundtrip_tuple(cls_and_vals): f = .run_test_as_given..wrapped_test at 0xf62dd988> tests/test_baseconverter.py:58: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls_and_vals = (, (PosixPath('a'), frozenset(), '', '', {}, nan, ...), {}) @given(nested_typed_classes(kw_only=False, newtypes=False)) def test_nested_roundtrip_tuple(cls_and_vals): """ Nested classes with metadata can be unstructured and restructured. """ converter = BaseConverter(unstruct_strat=UnstructureStrategy.AS_TUPLE) cl, vals, kwargs = cls_and_vals assert not kwargs # Vals are a tuple, convert into a dictionary. inst = cl(*vals) > assert inst == converter.structure(converter.unstructure(inst), cl) E AssertionError: assert HypClass(a=Po...frozenset())]) == HypClass(a=Po...frozenset())]) E E Omitting 6 identical items, use -vv to show E Differing attributes: E ['_f'] E E Drill down into differing attribute _f: E _f: nan != nan E Falsifying example: test_nested_roundtrip_tuple( E cls_and_vals=(tests.typed.HypClass, E (Path('a'), frozenset(), '', '', {}, nan, [HypClass(a=frozenset())]), E {}), E ) cl = cls_and_vals = (, (PosixPath('a'), frozenset(), '', '', {}, nan, ...), {}) converter = inst = HypClass(a=PosixPath('a'), _b=frozenset(), c='', _d='', e={}, _f=nan, g=[HypClass(a=frozenset())]) kwargs = {} vals = (PosixPath('a'), frozenset(), '', '', {}, nan, ...) tests/test_baseconverter.py:67: AssertionError ________________________ test_310_union_field_roundtrip ________________________ @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") > @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) f = .run_test_as_given..wrapped_test at 0xf62ddb18> tests/test_baseconverter.py:113: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cl_and_vals_a = (, (0.0, [], ('', '', ''), 0.0, ('', '', ''), {}, ...), {'aa': [], 'ab': '', 'ad': frozenset(), 'ae': frozenset(), ...}) cl_and_vals_b = (, (None,), {}) strat = @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) @given( simple_typed_classes(defaults=False, newtypes=False), simple_typed_classes(defaults=False, newtypes=False), unstructure_strats, ) def test_310_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat): """ Classes with union fields can be unstructured and structured. """ converter = BaseConverter(unstruct_strat=strat) cl_a, vals_a, kwargs_a = cl_and_vals_a cl_b, vals_b, _ = cl_and_vals_b assume(strat is UnstructureStrategy.AS_DICT or not kwargs_a) a_field_names = {a.name for a in fields(cl_a)} b_field_names = {a.name for a in fields(cl_b)} assume(a_field_names) assume(b_field_names) common_names = a_field_names & b_field_names assume(len(a_field_names) > len(common_names)) @define class C: a: cl_a | cl_b inst = C(a=cl_a(*vals_a, **kwargs_a)) if strat is UnstructureStrategy.AS_DICT: > assert inst == converter.structure(converter.unstructure(inst), C) E AssertionError: assert C(a=HypAttrsC...set(), ay='')) == C(a=HypAttrsC...set(), ay='')) E E Differing attributes: E ['a'] E E Drill down into differing attribute a: E a: HypAttrsClass(a=0.0, _b=[], _d=('', '', ''), e=0.0, g=('', '', ''), _h={}, _j=frozenset(), k={}, m='', _n=('', '', ''), _p=frozenset(), q={}, s={}, _t=('', '', ''), _v=0.0, w=nan, y=frozenset(), _z=[], ab='', ac=frozenset(), ae=frozenset(), af={}, ah={}, ai=[], ak=('', '', ''), al={}, an=[], ao=0, aq=frozenset(), ar=0.0, au=0, av=('', '', ''), ax=frozenset(), ay='') != HypAttrsClass(a=0.0, _b=[], _d=('', '', ''), e=0.0, g=('', '', ''), _h={}, _j=frozenset(), k={}, m='', _n=('', '', ''), _p=frozenset(),... E E ...Full output truncated (8 lines hidden), use '-vv' to show E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=6, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=7, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=8, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=9, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=10, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=11, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=12, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=13, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=14, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=15, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=16, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=17, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=18, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=19, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=20, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=21, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=22, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=23, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=24, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=25, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=26, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=27, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=28, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=29, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=30, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=31, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=32, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=33, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_h': _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='i', metadata={}), '_j': _CountingAttr(counter=6, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'k': _CountingAttr(counter=7, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_l', metadata={}), 'm': _CountingAttr(counter=8, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_n': _CountingAttr(counter=9, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='o', metadata={}), '_p': _CountingAttr(counter=10, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'q': _CountingAttr(counter=11, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_r', metadata={}), 's': _CountingAttr(counter=12, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_t': _CountingAttr(counter=13, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='u', metadata={}), '_v': _CountingAttr(counter=14, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'w': _CountingAttr(counter=15, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_x', metadata={}), 'y': _CountingAttr(counter=16, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_z': _CountingAttr(counter=17, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='aa', metadata={}), 'ab': _CountingAttr(counter=18, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'ac': _CountingAttr(counter=19, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='ad', metadata={}), 'ae': _CountingAttr(counter=20, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'af': _CountingAttr(counter=21, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='ag', metadata={}), 'ah': _CountingAttr(counter=22, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'ai': _CountingAttr(counter=23, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='aj', metadata={}), 'ak': _CountingAttr(counter=24, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'al': _CountingAttr(counter=25, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='am', metadata={}), 'an': _CountingAttr(counter=26, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'ao': _CountingAttr(counter=27, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='ap', metadata={}), 'aq': _CountingAttr(counter=28, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'ar': _CountingAttr(counter=29, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='at', metadata={}), 'au': _CountingAttr(counter=30, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'av': _CountingAttr(counter=31, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='aw', metadata={}), 'ax': _CountingAttr(counter=32, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'ay': _CountingAttr(counter=33, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='az', metadata={})} E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} E Falsifying example: test_310_union_field_roundtrip( E cl_and_vals_a=(tests.typed.HypAttrsClass, E (0.0, E [], E ('', '', ''), E 0.0, E ('', '', ''), E {}, E frozenset(), E {}, E '', E ('', '', ''), E frozenset(), E {}, E {}, E ('', '', ''), E 0.0, E struct.unpack('d', struct.pack('Q', 0x7ff8000000000001))[0], E frozenset()), E {'aa': [], E 'ab': '', E 'ad': frozenset(), E 'ae': frozenset(), E 'ag': {}, E 'ah': {}, E 'aj': [], E 'ak': ('', '', ''), E 'am': {}, E 'an': [], E 'ap': 0, E 'aq': frozenset(), E 'at': 0.0, E 'au': 0, E 'aw': ('', '', ''), E 'ax': frozenset(), E 'az': ''}), E cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), E strat=UnstructureStrategy.AS_DICT, E ) C = .C'> _ = {} a_field_names = {'_b', '_d', '_h', '_j', '_n', '_p', ...} b_field_names = {'a'} cl_a = cl_and_vals_a = (, (0.0, [], ('', '', ''), 0.0, ('', '', ''), {}, ...), {'aa': [], 'ab': '', 'ad': frozenset(), 'ae': frozenset(), ...}) cl_and_vals_b = (, (None,), {}) cl_b = common_names = {'a'} converter = inst = C(a=HypAttrsClass(a=0.0, _b=[], _d=('', '', ''), e=0.0, g=('', '', ''), _h={}, _j=frozenset(), k={}, m='', _n=('', '',...={}, ai=[], ak=('', '', ''), al={}, an=[], ao=0, aq=frozenset(), ar=0.0, au=0, av=('', '', ''), ax=frozenset(), ay='')) kwargs_a = {'aa': [], 'ab': '', 'ad': frozenset(), 'ae': frozenset(), ...} strat = vals_a = (0.0, [], ('', '', ''), 0.0, ('', '', ''), {}, ...) vals_b = (None,) tests/test_baseconverter.py:142: AssertionError ________________________ test_optional_field_roundtrip _________________________ @given(simple_typed_classes(defaults=False, newtypes=False)) > def test_optional_field_roundtrip(cl_and_vals): f = .run_test_as_given..wrapped_test at 0xf62f40c8> tests/test_baseconverter.py:156: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cl_and_vals = (, ({}, 0, ''), {'_f': nan}) @given(simple_typed_classes(defaults=False, newtypes=False)) def test_optional_field_roundtrip(cl_and_vals): """ Classes with optional fields can be unstructured and structured. """ converter = BaseConverter() cl, vals, kwargs = cl_and_vals @define class C: a: Optional[cl] inst = C(a=cl(*vals, **kwargs)) > assert inst == converter.structure(converter.unstructure(inst), C) E AssertionError: assert C(a=HypAttrsC..._d='', e=nan)) == C(a=HypAttrsC..._d='', e=nan)) E E Differing attributes: E ['a'] E E Drill down into differing attribute a: E a: HypAttrsClass(a={}, _b=0, _d='', e=nan) != HypAttrsClass(a={}, _b=0, _d='', e=nan) E ... E E ...Full output truncated (6 lines hidden), use '-vv' to show E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={})} E Falsifying example: test_optional_field_roundtrip( E cl_and_vals=(tests.typed.HypAttrsClass, E ({}, 0, ''), E {'_f': struct.unpack('d', struct.pack('Q', 0x7ff8000000000001))[0]}), E ) E Explanation: E These lines were always and only run by failing examples: E /usr/lib/python3/site-packages/_pytest/_io/terminalwriter.py:250 C = .C'> cl = cl_and_vals = (, ({}, 0, ''), {'_f': nan}) converter = inst = C(a=HypAttrsClass(a={}, _b=0, _d='', e=nan)) kwargs = {'_f': nan} vals = ({}, 0, '') tests/test_baseconverter.py:168: AssertionError ______________________ test_310_optional_field_roundtrip _______________________ @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") > @given(simple_typed_classes(defaults=False, newtypes=False)) f = .run_test_as_given..wrapped_test at 0xf62f4348> tests/test_baseconverter.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cl_and_vals = (, (nan,), {}) @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") @given(simple_typed_classes(defaults=False, newtypes=False)) def test_310_optional_field_roundtrip(cl_and_vals): """ Classes with optional fields can be unstructured and structured. """ converter = BaseConverter() cl, vals, kwargs = cl_and_vals @define class C: a: cl | None inst = C(a=cl(*vals, **kwargs)) > assert inst == converter.structure(converter.unstructure(inst), C) E AssertionError: assert C(a=HypAttrsClass(a=nan)) == C(a=HypAttrsClass(a=nan)) E E Differing attributes: E ['a'] E E Drill down into differing attribute a: E a: HypAttrsClass(a=nan) != HypAttrsClass(a=nan) E ... E E ...Full output truncated (5 lines hidden), use '-vv' to show E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} E Falsifying example: test_310_optional_field_roundtrip( E cl_and_vals=(tests.typed.HypAttrsClass, (nan,), {}), E ) C = .C'> cl = cl_and_vals = (, (nan,), {}) converter = inst = C(a=HypAttrsClass(a=nan)) kwargs = {} vals = (nan,) tests/test_baseconverter.py:190: AssertionError ____________________________ test_simple_roundtrip _____________________________ @given(simple_typed_classes() | simple_typed_dataclasses(), booleans()) > def test_simple_roundtrip(cls_and_vals, detailed_validation): f = .run_test_as_given..wrapped_test at 0xf60dc2a8> tests/test_converter.py:41: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls_and_vals = (, (None, None, 0, [0.0], {}, frozenset(), ...), {'_x': {}, 'aa': 0.0, 'ab': 0, 'ad': frozenset(), ...}) detailed_validation = False @given(simple_typed_classes() | simple_typed_dataclasses(), booleans()) def test_simple_roundtrip(cls_and_vals, detailed_validation): """ Simple classes with metadata can be unstructured and restructured. """ converter = Converter(detailed_validation=detailed_validation) cl, vals, kwargs = cls_and_vals inst = cl(*vals, **kwargs) unstructured = converter.unstructure(inst) assert "Hyp" not in repr(unstructured) > assert inst == converter.structure(unstructured, cl) E AssertionError: assert HypAttrsClass...b=frozenset()) == HypAttrsClass...b=frozenset()) E E Omitting 35 identical items, use -vv to show E Differing attributes: E ['_p'] E E Drill down into differing attribute _p: E _p: nan != nan E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=6, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=7, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=8, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=9, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=10, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=11, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=12, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=13, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=14, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=15, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=16, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=17, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=18, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=19, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=20, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=21, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=22, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=23, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=24, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=25, _default={}, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=26, _default=0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=27, _default=-1489898358, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=28, _default=Factory(factory=. at 0xe1a07578>, takes_self=False), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=29, _default=0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=30, _default={'': 0, '2': 0, '1': 0, '0': 0, '3': 0}, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=31, _default=0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=32, _default=PosixPath('fen'), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=33, _default=Factory(factory=. at 0xe1a033e8>, takes_self=False), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=34, _default=None, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=35, _default=frozenset({0, 1, 2, 3, -2, -3, -1}), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_h': _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='i', metadata={}), '_j': _CountingAttr(counter=6, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'k': _CountingAttr(counter=7, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_l', metadata={}), 'm': _CountingAttr(counter=8, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_n': _CountingAttr(counter=9, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='o', metadata={}), '_p': _CountingAttr(counter=10, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'q': _CountingAttr(counter=11, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_r', metadata={}), 's': _CountingAttr(counter=12, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_t': _CountingAttr(counter=13, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='u', metadata={}), '_v': _CountingAttr(counter=14, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'w': _CountingAttr(counter=15, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_x', metadata={}), 'y': _CountingAttr(counter=16, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_z': _CountingAttr(counter=17, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='aa', metadata={}), 'ab': _CountingAttr(counter=18, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'ac': _CountingAttr(counter=19, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='ad', metadata={}), 'ae': _CountingAttr(counter=20, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'af': _CountingAttr(counter=21, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='ag', metadata={}), 'ah': _CountingAttr(counter=22, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'ai': _CountingAttr(counter=23, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='aj', metadata={}), 'ak': _CountingAttr(counter=24, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'al': _CountingAttr(counter=25, _default={}, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='am', metadata={}), 'an': _CountingAttr(counter=26, _default=0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'ao': _CountingAttr(counter=27, _default=-1489898358, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='ap', metadata={}), 'aq': _CountingAttr(counter=28, _default=Factory(factory=. at 0xe1a07578>, takes_self=False), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'ar': _CountingAttr(counter=29, _default=0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='at', metadata={}), 'au': _CountingAttr(counter=30, _default={'': 0, '2': 0, '1': 0, '0': 0, '3': 0}, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'av': _CountingAttr(counter=31, _default=0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='aw', metadata={}), 'ax': _CountingAttr(counter=32, _default=PosixPath('fen'), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'ay': _CountingAttr(counter=33, _default=Factory(factory=. at 0xe1a033e8>, takes_self=False), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='az', metadata={}), 'ba': _CountingAttr(counter=34, _default=None, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'bb': _CountingAttr(counter=35, _default=frozenset({0, 1, 2, 3, -2, -3, -1}), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='bc', metadata={})} E Falsifying example: test_simple_roundtrip( E cls_and_vals=(tests.typed.HypAttrsClass, E (None, E None, E 0, E [0.0], E {}, E frozenset(), E set(), E 0, E ('0', '', ''), E frozenset(), E struct.unpack('d', struct.pack('Q', 0xffffffffffff0100))[0], E Path('a'), E [], E 0, E {}, E 0, E 0, E {}, E 0), E {'v': 0, E '_x': {}, E 'y': {}, E 'aa': 0.0, E 'ab': 0, E 'ad': frozenset(), E 'ae': 0, E 'ag': frozenset(), E 'ah': 0, E 'aj': frozenset(), E 'ak': Path('a'), E 'au': {}, E 'aw': 0, E 'ax': Path('a'), E 'az': {}, E 'ba': None, E 'bc': frozenset()}), E detailed_validation=False, E ) cl = cls_and_vals = (, (None, None, 0, [0.0], {}, frozenset(), ...), {'_x': {}, 'aa': 0.0, 'ab': 0, 'ad': frozenset(), ...}) converter = detailed_validation = False inst = HypAttrsClass(a=None, _b=None, _d=0, e=[0.0], g={}, _h=frozenset(), _j=set(), k=0, m=('0', '', ''), _n=frozenset(), _p...t(), ak=PosixPath('a'), al={}, an=0, ao=0, aq={}, ar=0, au={}, av=0, ax=PosixPath('a'), ay={}, ba=None, bb=frozenset()) kwargs = {'_x': {}, 'aa': 0.0, 'ab': 0, 'ad': frozenset(), ...} unstructured = {'_b': None, '_d': 0, '_h': frozenset(), '_j': set(), ...} vals = (None, None, 0, [0.0], {}, frozenset(), ...) tests/test_converter.py:50: AssertionError _________________________ test_simple_roundtrip_tuple __________________________ @given( > simple_typed_classes(kw_only=False, newtypes=False) | simple_typed_dataclasses(newtypes=False), booleans(), ) f = .run_test_as_given..wrapped_test at 0xf60dc848> tests/test_converter.py:54: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls_and_vals = (, (0.0, PosixPath('a'), frozenset(), nan, '', ''), {}) dv = False @given( simple_typed_classes(kw_only=False, newtypes=False) | simple_typed_dataclasses(newtypes=False), booleans(), ) def test_simple_roundtrip_tuple(cls_and_vals, dv: bool): """ Simple classes with metadata can be unstructured and restructured. """ converter = Converter( unstruct_strat=UnstructureStrategy.AS_TUPLE, detailed_validation=dv ) cl, vals, _ = cls_and_vals inst = cl(*vals) unstructured = converter.unstructure(inst) assert "Hyp" not in repr(unstructured) > assert inst == converter.structure(unstructured, cl) E AssertionError: assert HypAttrsClass..., g='', _h='') == HypAttrsClass..., g='', _h='') E E Omitting 5 identical items, use -vv to show E Differing attributes: E ['e'] E E Drill down into differing attribute e: E e: nan != nan E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default='', repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=5, _default='', repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default='', repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_h': _CountingAttr(counter=5, _default='', repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='i', metadata={})} E Falsifying example: test_simple_roundtrip_tuple( E cls_and_vals=(tests.typed.HypAttrsClass, E (0.0, E Path('a'), E frozenset(), E struct.unpack('d', struct.pack('Q', 0x7ffffffffffe00ff))[0], E '', E ''), E {}), E dv=False, # or any other generated value E ) _ = {} cl = cls_and_vals = (, (0.0, PosixPath('a'), frozenset(), nan, '', ''), {}) converter = dv = False inst = HypAttrsClass(a=0.0, _b=PosixPath('a'), _d=frozenset(), e=nan, g='', _h='') unstructured = (0.0, 'a', frozenset(), nan, '', '') vals = (0.0, PosixPath('a'), frozenset(), nan, '', '') tests/test_converter.py:69: AssertionError ________________________ test_simple_roundtrip_defaults ________________________ @given(simple_typed_attrs(defaults=True)) > def test_simple_roundtrip_defaults(attr_and_vals): f = .run_test_as_given..wrapped_test at 0xf60dc9d8> tests/test_converter.py:73: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attr_and_vals = (_CountingAttr(counter=187018, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), floats()) @given(simple_typed_attrs(defaults=True)) def test_simple_roundtrip_defaults(attr_and_vals): """ Simple classes with metadata can be unstructured and restructured. """ a, _ = attr_and_vals cl = make_class("HypClass", {"a": a}) converter = Converter() inst = cl() assert converter.unstructure(converter.structure({}, cl)) == converter.unstructure( inst ) > assert inst == converter.structure(converter.unstructure(inst), cl) E AssertionError: assert HypClass(a=nan) == HypClass(a=nan) E E Differing attributes: E ['a'] E E Drill down into differing attribute a: E a: nan != nan E Falsifying example: test_simple_roundtrip_defaults( E attr_and_vals=(_CountingAttr(counter=187018, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), E floats()), E ) _ = floats() a = _CountingAttr(counter=187018, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}) attr_and_vals = (_CountingAttr(counter=187018, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), floats()) cl = converter = inst = HypClass(a=nan) tests/test_converter.py:84: AssertionError _______________ test_simple_roundtrip_with_extra_keys_forbidden ________________ @given( > simple_typed_classes(newtypes=False) | simple_typed_dataclasses(newtypes=False), unstructure_strats, ) f = .run_test_as_given..wrapped_test at 0xf60dced8> tests/test_converter.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls_and_vals = (, (frozenset(), ''), {'d': nan}) strat = @given( simple_typed_classes(newtypes=False) | simple_typed_dataclasses(newtypes=False), unstructure_strats, ) def test_simple_roundtrip_with_extra_keys_forbidden(cls_and_vals, strat): """ Simple classes can be unstructured and restructured with forbid_extra_keys=True. """ converter = Converter(unstruct_strat=strat, forbid_extra_keys=True) cl, vals, kwargs = cls_and_vals assume(strat is UnstructureStrategy.AS_DICT or not kwargs) inst = cl(*vals, **kwargs) unstructured = converter.unstructure(inst) assert "Hyp" not in repr(unstructured) > assert inst == converter.structure(unstructured, cl) E AssertionError: assert HypAttrsClass..._b='', _d=nan) == HypAttrsClass..._b='', _d=nan) E E Omitting 2 identical items, use -vv to show E Differing attributes: E ['_d'] E E Drill down into differing attribute _d: E _d: nan != nan E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} E Falsifying example: test_simple_roundtrip_with_extra_keys_forbidden( E cls_and_vals=(tests.typed.HypAttrsClass, E (frozenset(), ''), E {'d': struct.unpack('d', struct.pack('Q', 0x7ff8000000000001))[0]}), E strat=UnstructureStrategy.AS_DICT, # or any other generated value E ) cl = cls_and_vals = (, (frozenset(), ''), {'d': nan}) converter = inst = HypAttrsClass(a=frozenset(), _b='', _d=nan) kwargs = {'d': nan} strat = unstructured = {'_b': '', '_d': nan, 'a': frozenset()} vals = (frozenset(), '') tests/test_converter.py:116: AssertionError ____________________________ test_nested_roundtrip _____________________________ @given(nested_typed_classes(defaults=True, min_attrs=1), booleans()) > def test_nested_roundtrip(cls_and_vals, omit_if_default): f = .run_test_as_given..wrapped_test at 0xf62d9258> tests/test_converter.py:203: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls_and_vals = (, (PosixPath('a'), [HypClass(a=0, _b=nan, c=[HypClass(a=[], _b=0, c=set(), _d=PosixPath...', ''), _n=0.0, o=0, _p=0, q={'0': 0, '': 0}, _r=[], s=('', '', ''), _t={}, u=0, _v=0)], _d=0, e=0, _f=[], g='')]), {}) omit_if_default = False @given(nested_typed_classes(defaults=True, min_attrs=1), booleans()) def test_nested_roundtrip(cls_and_vals, omit_if_default): """ Nested classes with metadata can be unstructured and restructured. """ converter = Converter(omit_if_default=omit_if_default) cl, vals, kwargs = cls_and_vals # Vals are a tuple, convert into a dictionary. inst = cl(*vals, **kwargs) unstructured = converter.unstructure(inst) > assert inst == converter.structure(unstructured, cl) E AssertionError: assert HypClass(a=Po..._f=[], g='')]) == HypClass(a=Po..._f=[], g='')]) E E Omitting 1 identical items, use -vv to show E Differing attributes: E ['_b'] E E Drill down into differing attribute _b: E _b: [HypClass(a=0, _b=nan, c=[HypClass(a=[], _b=0, c=set(), _d=PosixPath('a'), e=[], _f={'4': 0, '3': 0, '2': 0, '1': 0, '0': 0, '': 0}, g=PosixPath('a'), _h=frozenset({0}), i=0, _j=HypClass(a={'\x97': 1475232391}, _b=PosixPath('zxjjz'), c=[], _d=[], e=[], _f=-8297766385363134409, g=PosixPath('opuljekbrwzk'), _h=-1360, i=[], _j=[]), k=None, _l=None, m=('', '', ''), _n=0.0, o=0, _p=0, q={'0': 0, '': 0}, _r=[], s=('', '', ''), _t={}, u=0, _v=0)], _d=0, e=0, _f=[]... E E ...Full output truncated (7 lines hidden), use '-vv' to show E Falsifying example: test_nested_roundtrip( E cls_and_vals=(tests.typed.HypClass, E (Path('a'), E [HypClass(a=0, _b=nan, c=[HypClass(a=[], _b=0, c=set(), _d=PosixPath('a'), e=[], _f={'4': 0, '3': 0, '2': 0, '1': 0, '0': 0, '': 0}, g=PosixPath('a'), _h=frozenset({0}), i=0, _j=HypClass(a={'\x97': 1475232391}, _b=PosixPath('zxjjz'), c=[], _d=[], e=[], _f=-8297766385363134409, g=PosixPath('opuljekbrwzk'), _h=-1360, i=[], _j=[]), k=None, _l=None, m=('', '', ''), _n=0.0, o=0, _p=0, q={'0': 0, '': 0}, _r=[], s=('', '', ''), _t={}, u=0, _v=0)], _d=0, e=0, _f=[], g='')]), E {}), E omit_if_default=False, E ) E Explanation: E These lines were always and only run by failing examples: E /usr/lib/python3/site-packages/_pytest/_io/terminalwriter.py:250 cl = cls_and_vals = (, (PosixPath('a'), [HypClass(a=0, _b=nan, c=[HypClass(a=[], _b=0, c=set(), _d=PosixPath...', ''), _n=0.0, o=0, _p=0, q={'0': 0, '': 0}, _r=[], s=('', '', ''), _t={}, u=0, _v=0)], _d=0, e=0, _f=[], g='')]), {}) converter = inst = HypClass(a=PosixPath('a'), _b=[HypClass(a=0, _b=nan, c=[HypClass(a=[], _b=0, c=set(), _d=PosixPath('a'), e=[], _f={'4'...'', '', ''), _n=0.0, o=0, _p=0, q={'0': 0, '': 0}, _r=[], s=('', '', ''), _t={}, u=0, _v=0)], _d=0, e=0, _f=[], g='')]) kwargs = {} omit_if_default = False unstructured = {'_b': [{'_b': nan, '_d': 0, '_f': [], 'a': 0, ...}], 'a': 'a'} vals = (PosixPath('a'), [HypClass(a=0, _b=nan, c=[HypClass(a=[], _b=0, c=set(), _d=PosixPath('a'), e=[], _f={'4': 0, '3': 0, ...'', '', ''), _n=0.0, o=0, _p=0, q={'0': 0, '': 0}, _r=[], s=('', '', ''), _t={}, u=0, _v=0)], _d=0, e=0, _f=[], g='')]) tests/test_converter.py:212: AssertionError _________________________ test_nested_roundtrip_tuple __________________________ @given( > nested_typed_classes(defaults=True, min_attrs=1, kw_only=False, newtypes=False), booleans(), ) f = .run_test_as_given..wrapped_test at 0xf62d9398> tests/test_converter.py:216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls_and_vals = (, ({}, 0.0, PosixPath('a'), 0, '', 0.0, ...), {}) omit_if_default = False @given( nested_typed_classes(defaults=True, min_attrs=1, kw_only=False, newtypes=False), booleans(), ) def test_nested_roundtrip_tuple(cls_and_vals, omit_if_default: bool): """ Nested classes with metadata can be unstructured and restructured. """ converter = Converter( unstruct_strat=UnstructureStrategy.AS_TUPLE, omit_if_default=omit_if_default ) cl, vals, _ = cls_and_vals # Vals are a tuple, convert into a dictionary. inst = cl(*vals) unstructured = converter.unstructure(inst) > assert inst == converter.structure(unstructured, cl) E AssertionError: assert HypClass(a={}... g=[], _h=nan) == HypClass(a={}... g=[], _h=nan) E E Omitting 7 identical items, use -vv to show E Differing attributes: E ['_h'] E E Drill down into differing attribute _h: E _h: nan != nan E Falsifying example: test_nested_roundtrip_tuple( E cls_and_vals=(tests.typed.HypClass, E ({}, E 0.0, E Path('a'), E 0, E '', E 0.0, E [], E struct.unpack('d', struct.pack('Q', 0x7ffffffffffffffc))[0]), E {}), E omit_if_default=False, # or any other generated value E ) E Explanation: E These lines were always and only run by failing examples: E /usr/lib/python3/site-packages/_pytest/_io/terminalwriter.py:250 _ = {} cl = cls_and_vals = (, ({}, 0.0, PosixPath('a'), 0, '', 0.0, ...), {}) converter = inst = HypClass(a={}, _b=0.0, c=PosixPath('a'), _d=0, e='', _f=0.0, g=[], _h=nan) omit_if_default = False unstructured = ({}, 0.0, 'a', 0, '', 0.0, ...) vals = ({}, 0.0, PosixPath('a'), 0, '', 0.0, ...) tests/test_converter.py:230: AssertionError __________________________ test_union_field_roundtrip __________________________ @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) > @given( simple_typed_classes(defaults=False, newtypes=False), simple_typed_classes(defaults=False, newtypes=False), unstructure_strats, ) f = .run_test_as_given..wrapped_test at 0xf62d96b8> tests/test_converter.py:234: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cl_and_vals_a = (, ([], {}, nan), {'_f': 0.0, 'g': '', 'i': PosixPath('a'), 'j': []}) cl_and_vals_b = (, (None,), {}) strat = @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) @given( simple_typed_classes(defaults=False, newtypes=False), simple_typed_classes(defaults=False, newtypes=False), unstructure_strats, ) def test_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat): """ Classes with union fields can be unstructured and structured. """ converter = Converter(unstruct_strat=strat) cl_a, vals_a, kwargs_a = cl_and_vals_a cl_b, _, _ = cl_and_vals_b assume(strat is UnstructureStrategy.AS_DICT or not kwargs_a) a_field_names = {a.name for a in fields(cl_a)} b_field_names = {a.name for a in fields(cl_b)} assume(a_field_names) assume(b_field_names) common_names = a_field_names & b_field_names assume(len(a_field_names) > len(common_names)) @define class C: a: Union[cl_a, cl_b] inst = C(a=cl_a(*vals_a, **kwargs_a)) if strat is UnstructureStrategy.AS_DICT: unstructured = converter.unstructure(inst) > assert inst == converter.structure(converter.unstructure(unstructured), C) E AssertionError: assert C(a=HypAttrsC...('a'), _j=[])) == C(a=HypAttrsC...('a'), _j=[])) E E Differing attributes: E ['a'] E E Drill down into differing attribute a: E a: HypAttrsClass(a=[], _b={}, _d=nan, e=0.0, g='', _h=PosixPath('a'), _j=[]) != HypAttrsClass(a=[], _b={}, _d=nan, e=0.0, g='', _h=PosixPath('a'), _j=[]) E ... E E ...Full output truncated (6 lines hidden), use '-vv' to show E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=6, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_h': _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='i', metadata={}), '_j': _CountingAttr(counter=6, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} E Falsifying example: test_union_field_roundtrip( E # The test always failed when commented parts were varied together. E cl_and_vals_a=(tests.typed.HypAttrsClass, E ([], {}, struct.unpack('d', struct.pack('Q', 0x7fffffffffffffff))[0]), E {'_f': 0.0, 'g': '', 'i': Path('a'), 'j': []}), E cl_and_vals_b=(tests.typed.HypAttrsClass, E (None,), E {}), # or any other generated value E strat=UnstructureStrategy.AS_DICT, # or any other generated value E ) E Explanation: E These lines were always and only run by failing examples: E /usr/lib/python3/site-packages/_pytest/_io/terminalwriter.py:250 C = .C'> _ = {} a_field_names = {'_b', '_d', '_h', '_j', 'a', 'e', ...} b_field_names = {'a'} cl_a = cl_and_vals_a = (, ([], {}, nan), {'_f': 0.0, 'g': '', 'i': PosixPath('a'), 'j': []}) cl_and_vals_b = (, (None,), {}) cl_b = common_names = {'a'} converter = inst = C(a=HypAttrsClass(a=[], _b={}, _d=nan, e=0.0, g='', _h=PosixPath('a'), _j=[])) kwargs_a = {'_f': 0.0, 'g': '', 'i': PosixPath('a'), 'j': []} strat = unstructured = {'a': {'_b': {}, '_d': nan, '_h': 'a', '_j': [], ...}} vals_a = ([], {}, nan) tests/test_converter.py:263: AssertionError ________________________ test_310_union_field_roundtrip ________________________ @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") > @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) f = .run_test_as_given..wrapped_test at 0xf62d9898> tests/test_converter.py:278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cl_and_vals_a = (, (frozenset(), nan, frozenset(), frozenset(), {}, {}, ...), {'m': frozenset(), 'o': 0}) cl_and_vals_b = (, (None,), {}) strat = @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) @given( simple_typed_classes(defaults=False, newtypes=False), simple_typed_classes(defaults=False, newtypes=False), unstructure_strats, ) def test_310_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat): """ Classes with union fields can be unstructured and structured. """ converter = Converter(unstruct_strat=strat) cl_a, vals_a, kwargs_a = cl_and_vals_a cl_b, _, _ = cl_and_vals_b assume(strat is UnstructureStrategy.AS_DICT or not kwargs_a) a_field_names = {a.name for a in fields(cl_a)} b_field_names = {a.name for a in fields(cl_b)} assume(a_field_names) assume(b_field_names) common_names = a_field_names & b_field_names assume(len(a_field_names) > len(common_names)) @define class C: a: cl_a | cl_b inst = C(a=cl_a(*vals_a, **kwargs_a)) if strat is UnstructureStrategy.AS_DICT: unstructured = converter.unstructure(inst) > assert inst == converter.structure(converter.unstructure(unstructured), C) E AssertionError: assert C(a=HypAttrsC...nset(), _n=0)) == C(a=HypAttrsC...nset(), _n=0)) E E Differing attributes: E ['a'] E E Drill down into differing attribute a: E a: HypAttrsClass(a=frozenset(), _b=nan, _d=frozenset(), e=frozenset(), g={}, _h={}, _j={}, k={}, m=frozenset(), _n=0) != HypAttrsClass(a=frozenset(), _b=nan, _d=frozenset(), e=frozenset(), g={}, _h={}, _j={}, k={}, m=frozenset(), _n=0) E ... E E ...Full output truncated (6 lines hidden), use '-vv' to show E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=6, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=7, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=8, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=9, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_h': _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='i', metadata={}), '_j': _CountingAttr(counter=6, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'k': _CountingAttr(counter=7, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_l', metadata={}), 'm': _CountingAttr(counter=8, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_n': _CountingAttr(counter=9, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='o', metadata={})} E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} E Falsifying example: test_310_union_field_roundtrip( E # The test always failed when commented parts were varied together. E cl_and_vals_a=(tests.typed.HypAttrsClass, E (frozenset(), nan, frozenset(), frozenset(), {}, {}, {}, {}), E {'m': frozenset(), 'o': 0}), E cl_and_vals_b=(tests.typed.HypAttrsClass, E (None,), E {}), # or any other generated value E strat=UnstructureStrategy.AS_DICT, # or any other generated value E ) C = .C'> _ = {} a_field_names = {'_b', '_d', '_h', '_j', '_n', 'a', ...} b_field_names = {'a'} cl_a = cl_and_vals_a = (, (frozenset(), nan, frozenset(), frozenset(), {}, {}, ...), {'m': frozenset(), 'o': 0}) cl_and_vals_b = (, (None,), {}) cl_b = common_names = {'a'} converter = inst = C(a=HypAttrsClass(a=frozenset(), _b=nan, _d=frozenset(), e=frozenset(), g={}, _h={}, _j={}, k={}, m=frozenset(), _n=0)) kwargs_a = {'m': frozenset(), 'o': 0} strat = unstructured = {'a': {'_b': nan, '_d': frozenset(), '_h': {}, '_j': {}, ...}} vals_a = (frozenset(), nan, frozenset(), frozenset(), {}, {}, ...) tests/test_converter.py:308: AssertionError ________________________ test_optional_field_roundtrip _________________________ @given(simple_typed_classes(defaults=False)) > def test_optional_field_roundtrip(cl_and_vals): f = .run_test_as_given..wrapped_test at 0xf62d9578> tests/test_converter.py:323: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cl_and_vals = (, (PosixPath('a'), frozenset()), {'_f': nan, 'd': ('', '', '')}) @given(simple_typed_classes(defaults=False)) def test_optional_field_roundtrip(cl_and_vals): """ Classes with optional fields can be unstructured and structured. """ converter = Converter() cl, vals, kwargs = cl_and_vals @define class C: a: Optional[cl] inst = C(a=cl(*vals, **kwargs)) > assert inst == converter.structure(converter.unstructure(inst), C) E AssertionError: assert C(a=HypAttrsC..., ''), e=nan)) == C(a=HypAttrsC..., ''), e=nan)) E E Differing attributes: E ['a'] E E Drill down into differing attribute a: E a: HypAttrsClass(a=PosixPath('a'), _b=frozenset(), _d=('', '', ''), e=nan) != HypAttrsClass(a=PosixPath('a'), _b=frozenset(), _d=('', '', ''), e=nan) E ... E E ...Full output truncated (6 lines hidden), use '-vv' to show E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={})} E Falsifying example: test_optional_field_roundtrip( E cl_and_vals=(tests.typed.HypAttrsClass, E (Path('a'), frozenset()), E {'d': ('', '', ''), '_f': nan}), E ) E Explanation: E These lines were always and only run by failing examples: E /usr/lib/python3/site-packages/_pytest/_io/terminalwriter.py:250 C = .C'> cl = cl_and_vals = (, (PosixPath('a'), frozenset()), {'_f': nan, 'd': ('', '', '')}) converter = inst = C(a=HypAttrsClass(a=PosixPath('a'), _b=frozenset(), _d=('', '', ''), e=nan)) kwargs = {'_f': nan, 'd': ('', '', '')} vals = (PosixPath('a'), frozenset()) tests/test_converter.py:335: AssertionError ______________________ test_310_optional_field_roundtrip _______________________ @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") > @given(simple_typed_classes(defaults=False)) f = .run_test_as_given..wrapped_test at 0xf62d9b18> tests/test_converter.py:344: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cl_and_vals = (, (0.0, nan), {}) @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") @given(simple_typed_classes(defaults=False)) def test_310_optional_field_roundtrip(cl_and_vals): """ Classes with optional fields can be unstructured and structured. """ converter = Converter() cl, vals, kwargs = cl_and_vals @define class C: a: cl | None inst = C(a=cl(*vals, **kwargs)) > assert inst == converter.structure(converter.unstructure(inst), C) E AssertionError: assert C(a=HypAttrsC...=0.0, _b=nan)) == C(a=HypAttrsC...=0.0, _b=nan)) E E Differing attributes: E ['a'] E E Drill down into differing attribute a: E a: HypAttrsClass(a=0.0, _b=nan) != HypAttrsClass(a=0.0, _b=nan) E ... E E ...Full output truncated (6 lines hidden), use '-vv' to show E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={})} E Falsifying example: test_310_optional_field_roundtrip( E cl_and_vals=(tests.typed.HypAttrsClass, (0.0, nan), {}), E ) C = .C'> cl = cl_and_vals = (, (0.0, nan), {}) converter = inst = C(a=HypAttrsClass(a=0.0, _b=nan)) kwargs = {} vals = (0.0, nan) tests/test_converter.py:357: AssertionError _________________________ test_omit_default_roundtrip __________________________ @given(simple_typed_classes(defaults=True)) > def test_omit_default_roundtrip(cl_and_vals): f = .run_test_as_given..wrapped_test at 0xf62d9d48> tests/test_converter.py:366: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cl_and_vals = (, (frozenset(), frozenset(), {}, {}, {}, nan), {}) @given(simple_typed_classes(defaults=True)) def test_omit_default_roundtrip(cl_and_vals): """ Omit default on the converter works. """ converter = Converter(omit_if_default=True) cl, vals, kwargs = cl_and_vals @define class C: a: int = 1 b: cl = Factory(lambda: cl(*vals, **kwargs)) inst = C() unstructured = converter.unstructure(inst) > assert unstructured == {} E AssertionError: assert {'b': {'_h': nan}} == {} E E Left contains 1 more item: E {'b': {'_h': nan}} E E Full diff: E - {} E + {... E E ...Full output truncated (4 lines hidden), use '-vv' to show E Class fields: [_CountingAttr(counter=0, _default=frozenset(), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=frozenset(), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default={}, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default={}, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default={}, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=5, _default=0.0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] E Attributes: {'a': _CountingAttr(counter=0, _default=frozenset(), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=frozenset(), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default={}, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default={}, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default={}, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_h': _CountingAttr(counter=5, _default=0.0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='i', metadata={})} E Falsifying example: test_omit_default_roundtrip( E cl_and_vals=(tests.typed.HypAttrsClass, E (frozenset(), E frozenset(), E {}, E {}, E {}, E struct.unpack('d', struct.pack('Q', 0x7ffffffffffeffff))[0]), E {}), E ) E Explanation: E These lines were always and only run by failing examples: E /usr/lib/python3.12/pprint.py:197 E /usr/lib/python3/site-packages/_pytest/_io/pprint.py:128 C = .C'> cl = cl_and_vals = (, (frozenset(), frozenset(), {}, {}, {}, nan), {}) converter = inst = C(a=1, b=HypAttrsClass(a=frozenset(), _b=frozenset(), _d={}, e={}, g={}, _h=nan)) kwargs = {} unstructured = {'b': {'_h': nan}} vals = (frozenset(), frozenset(), {}, {}, {}, nan) tests/test_converter.py:380: AssertionError ________________________________ test_renaming _________________________________ @given( > simple_typed_classes(min_attrs=1) | simple_typed_dataclasses(min_attrs=1), data() ) f = .run_test_as_given..wrapped_test at 0xf6134c08> tests/test_gen_dict.py:190: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cl_and_vals = (, (0, frozenset(), frozenset(), 0, nan), {}) data = data(...) @given( simple_typed_classes(min_attrs=1) | simple_typed_dataclasses(min_attrs=1), data() ) def test_renaming(cl_and_vals, data): converter = Converter() cl, vals, kwargs = cl_and_vals attrs = fields(cl) to_replace = data.draw(sampled_from(attrs)) u_fn = make_dict_unstructure_fn( cl, converter, **{to_replace.name: override(rename="class")} ) s_fn = make_dict_structure_fn( cl, converter, **{to_replace.name: override(rename="class")} ) converter.register_structure_hook(cl, s_fn) converter.register_unstructure_hook(cl, u_fn) inst = cl(*vals, **kwargs) raw = converter.unstructure(inst) assert "class" in raw new_inst = converter.structure(raw, cl) > assert inst == new_inst E AssertionError: assert HypAttrsClass...), e=0, g=nan) == HypAttrsClass...), e=0, g=nan) E E Omitting 4 identical items, use -vv to show E Differing attributes: E ['g'] E E Drill down into differing attribute g: E g: nan != nan E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default=0.0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default=0.0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} E Falsifying example: test_renaming( E cl_and_vals=(tests.typed.HypAttrsClass, E (0, frozenset(), frozenset(), 0, nan), E {}), E data=data(...), E ) E Draw 1: Attribute(name='a', default=NOTHING, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=None, init=True, metadata=mappingproxy({}), type=, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='a') attrs = (Attribute(name='a', default=NOTHING, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, has...ta=mappingproxy({}), type=, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='g')) cl = cl_and_vals = (, (0, frozenset(), frozenset(), 0, nan), {}) converter = data = data(...) inst = HypAttrsClass(a=0, _b=frozenset(), _d=frozenset(), e=0, g=nan) kwargs = {} new_inst = HypAttrsClass(a=0, _b=frozenset(), _d=frozenset(), e=0, g=nan) raw = {'_b': frozenset(), '_d': frozenset(), 'class': 0, 'e': 0, ...} s_fn = to_replace = Attribute(name='a', default=NOTHING, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash...adata=mappingproxy({}), type=, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='a') u_fn = vals = (0, frozenset(), frozenset(), 0, nan) tests/test_gen_dict.py:217: AssertionError ___________________ test_structure_simple_from_dict_default ____________________ @given(simple_classes(defaults=True, min_attrs=1, frozen=False), data()) > def test_structure_simple_from_dict_default(cl_and_vals, data): f = .run_test_as_given..wrapped_test at 0xf603b3e8> tests/test_structure_attrs.py:31: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cl_and_vals = (, (0.0, 0.0), {}) data = data(...) @given(simple_classes(defaults=True, min_attrs=1, frozen=False), data()) def test_structure_simple_from_dict_default(cl_and_vals, data): """Test structuring non-nested attrs classes with default value.""" converter = BaseConverter() cl, vals, kwargs = cl_and_vals obj = cl(*vals, **kwargs) attrs_with_defaults = [a for a in fields(cl) if a.default is not NOTHING] to_remove = data.draw( lists(elements=sampled_from(attrs_with_defaults), unique=True) ) for a in to_remove: if isinstance(a.default, Factory): setattr(obj, a.name, a.default.factory()) else: setattr(obj, a.name, a.default) dumped = asdict(obj) for a in to_remove: del dumped[a.name] > assert obj == converter.structure(dumped, cl) E AssertionError: assert HypClass(a=nan, _b=0.0) == HypClass(a=nan, _b=0.0) E E Omitting 1 identical items, use -vv to show E Differing attributes: E ['a'] E E Drill down into differing attribute a: E a: nan != nan E Falsifying example: test_structure_simple_from_dict_default( E cl_and_vals=(tests.untyped.HypClass, (0.0, 0.0), {}), E data=data(...), E ) E Draw 1: [Attribute(name='a', default=nan, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=None, init=True, metadata=mappingproxy({}), type=None, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='a')] a = Attribute(name='a', default=nan, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=Non...True, metadata=mappingproxy({}), type=None, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='a') attrs_with_defaults = [Attribute(name='a', default=nan, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=No...rue, metadata=mappingproxy({}), type=None, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='b')] cl = cl_and_vals = (, (0.0, 0.0), {}) converter = data = data(...) dumped = {'_b': 0.0} kwargs = {} obj = HypClass(a=nan, _b=0.0) to_remove = [Attribute(name='a', default=nan, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=No...rue, metadata=mappingproxy({}), type=None, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='a')] vals = (0.0, 0.0) tests/test_structure_attrs.py:52: AssertionError =============================== warnings summary =============================== tests/typed.py:417 /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/tests/typed.py:417: HypothesisWarning: Return-type annotation is `st.SearchStrategy[typing.Tuple[attr._make._CountingAttr, st.SearchStrategy]]`, but the decorated function should return a value (not a strategy) @composite tests/typed.py:826 /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/tests/typed.py:826: HypothesisWarning: Return-type annotation is `st.SearchStrategy[typing.Tuple[typing.Type, st.SearchStrategy[typing.Tuple[typing.Any]], st.SearchStrategy[typing.Dict[str, typing.Any]]]]`, but the decorated function should return a value (not a strategy) @composite -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ================================== Hypothesis ================================== `git apply .hypothesis/patches/2024-08-24--4d121cc3.patch` to add failing examples to your code. ---------------------- benchmark 'bench/test_attrs_collections.py::test_structure_attrs_mappings[BaseConverter]': 1 tests ---------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations ------------------------------------------------------------------------------------------------------------------------------------------------ test_structure_attrs_mappings[BaseConverter] 48.2611 84.6498 50.5850 3.2681 50.1107 1.5572 1025;1025 19.7687 20207 1 ------------------------------------------------------------------------------------------------------------------------------------------------ ---------------------- benchmark 'bench/test_attrs_collections.py::test_structure_attrs_mappings[Converter]': 1 tests --------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations ------------------------------------------------------------------------------------------------------------------------------------------- test_structure_attrs_mappings[Converter] 37.0312 84.8100 38.7196 2.7502 38.1917 0.4414 994;1226 25.8267 25640 1 ------------------------------------------------------------------------------------------------------------------------------------------- ---------------------- benchmark 'bench/test_attrs_collections.py::test_unstructure_attrs_lists[UnstructureStrategy.AS_DICT-BaseConverter]': 1 tests ---------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstructure_attrs_lists[UnstructureStrategy.AS_DICT-BaseConverter] 41.0117 85.4321 42.7464 3.0118 42.0399 0.7898 1047;1101 23.3938 22549 1 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------- benchmark 'bench/test_attrs_collections.py::test_unstructure_attrs_lists[UnstructureStrategy.AS_DICT-Converter]': 1 tests ---------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstructure_attrs_lists[UnstructureStrategy.AS_DICT-Converter] 20.4295 87.7120 21.1384 1.7916 20.8803 0.1919 1069;2041 47.3072 48954 1 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------- benchmark 'bench/test_attrs_collections.py::test_unstructure_attrs_lists[UnstructureStrategy.AS_TUPLE-BaseConverter]': 1 tests ---------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstructure_attrs_lists[UnstructureStrategy.AS_TUPLE-BaseConverter] 41.9691 157.1421 43.5463 2.6761 42.9396 0.7395 1045;1146 22.9641 23321 1 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------- benchmark 'bench/test_attrs_collections.py::test_unstructure_attrs_lists[UnstructureStrategy.AS_TUPLE-Converter]': 1 tests ---------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstructure_attrs_lists[UnstructureStrategy.AS_TUPLE-Converter] 30.8119 124.6426 31.7444 1.9331 31.4191 0.2328 1115;1541 31.5016 31252 1 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------- benchmark 'bench/test_attrs_collections.py::test_unstructure_attrs_mappings[UnstructureStrategy.AS_DICT-BaseConverter]': 1 tests ----------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstructure_attrs_mappings[UnstructureStrategy.AS_DICT-BaseConverter] 44.5489 132.6725 53.5471 14.9641 46.0204 2.2668 4068;4956 18.6751 21280 1 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------- benchmark 'bench/test_attrs_collections.py::test_unstructure_attrs_mappings[UnstructureStrategy.AS_DICT-Converter]': 1 tests ----------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstructure_attrs_mappings[UnstructureStrategy.AS_DICT-Converter] 13.8283 69.0483 16.0302 3.9187 14.2083 0.1732 13614;14525 62.3823 69933 1 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------- benchmark 'bench/test_attrs_collections.py::test_unstructure_attrs_mappings[UnstructureStrategy.AS_TUPLE-BaseConverter]': 1 tests ---------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstructure_attrs_mappings[UnstructureStrategy.AS_TUPLE-BaseConverter] 44.8413 98.3290 46.9478 2.9511 46.6406 1.4510 1138;1159 21.3003 21441 1 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------- benchmark 'bench/test_attrs_collections.py::test_unstructure_attrs_mappings[UnstructureStrategy.AS_TUPLE-Converter]': 1 tests ---------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstructure_attrs_mappings[UnstructureStrategy.AS_TUPLE-Converter] 23.7804 51.4016 24.5834 2.1245 24.1678 0.2366 1151;5729 40.6779 40833 1 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------- benchmark 'bench/test_attrs_nested.py::test_unstruct_attrs_deep_nest[UnstructureStrategy.AS_DICT-BaseConverter]': 1 tests --------------------- Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations -------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstruct_attrs_deep_nest[UnstructureStrategy.AS_DICT-BaseConverter] 1.3482 18.2140 1.3915 0.6189 1.3672 0.0134 1;6 718.6550 741 1 -------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------- benchmark 'bench/test_attrs_nested.py::test_unstruct_attrs_deep_nest[UnstructureStrategy.AS_DICT-Converter]': 1 tests ----------------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstruct_attrs_deep_nest[UnstructureStrategy.AS_DICT-Converter] 284.8245 17,860.0121 305.1428 433.3160 289.1738 11.4217 3;6 3.2772 3497 1 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------- benchmark 'bench/test_attrs_nested.py::test_unstruct_attrs_deep_nest[UnstructureStrategy.AS_TUPLE-BaseConverter]': 1 tests -------------------- Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations -------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstruct_attrs_deep_nest[UnstructureStrategy.AS_TUPLE-BaseConverter] 1.1742 1.3649 1.1887 0.0111 1.1865 0.0064 93;72 841.2709 848 1 -------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------- benchmark 'bench/test_attrs_nested.py::test_unstruct_attrs_deep_nest[UnstructureStrategy.AS_TUPLE-Converter]': 1 tests -------------------- Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations ---------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstruct_attrs_deep_nest[UnstructureStrategy.AS_TUPLE-Converter] 1.1847 1.3168 1.2018 0.0083 1.1992 0.0076 183;44 832.1022 833 1 ---------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------- benchmark 'bench/test_attrs_nested.py::test_unstructure_attrs_nested[UnstructureStrategy.AS_DICT-BaseConverter]': 1 tests ----------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstructure_attrs_nested[UnstructureStrategy.AS_DICT-BaseConverter] 6.0201 172.9317 6.4210 1.1863 6.2678 0.1993 942;6254 155.7399 145336 1 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------- benchmark 'bench/test_attrs_nested.py::test_unstructure_attrs_nested[UnstructureStrategy.AS_DICT-Converter]': 1 tests ----------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations --------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstructure_attrs_nested[UnstructureStrategy.AS_DICT-Converter] 1.3208 12.2212 1.3598 0.1558 1.3411 0.0104 1001;1778 735.4129 71679 10 --------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------ benchmark 'bench/test_attrs_nested.py::test_unstructure_attrs_nested[UnstructureStrategy.AS_TUPLE-BaseConverter]': 1 tests ------------------------ Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstructure_attrs_nested[UnstructureStrategy.AS_TUPLE-BaseConverter] 5.5991 210.6614 5.9549 1.0975 5.8077 0.1807 1529;10151 167.9290 152912 1 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------ benchmark 'bench/test_attrs_nested.py::test_unstructure_attrs_nested[UnstructureStrategy.AS_TUPLE-Converter]': 1 tests ----------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstructure_attrs_nested[UnstructureStrategy.AS_TUPLE-Converter] 5.6401 199.0404 6.0075 1.1602 5.8506 0.1919 1726;8564 166.4594 161855 1 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------- benchmark 'bench/test_attrs_primitives.py::test_structure_attrs_primitives[UnstructureStrategy.AS_DICT-BaseConverter]': 1 tests ----------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_structure_attrs_primitives[UnstructureStrategy.AS_DICT-BaseConverter] 14.2697 104.5242 14.7809 1.3465 14.5901 0.1416 1465;2191 67.6547 67985 1 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------- benchmark 'bench/test_attrs_primitives.py::test_structure_attrs_primitives[UnstructureStrategy.AS_DICT-Converter]': 1 tests --------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_structure_attrs_primitives[UnstructureStrategy.AS_DICT-Converter] 6.0704 49.5315 6.2861 0.6963 6.2287 0.0577 1371;3120 159.0805 150385 1 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------- benchmark 'bench/test_attrs_primitives.py::test_structure_attrs_primitives[UnstructureStrategy.AS_TUPLE-BaseConverter]': 1 tests ---------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_structure_attrs_primitives[UnstructureStrategy.AS_TUPLE-BaseConverter] 11.8706 84.8100 12.3058 1.4163 12.1482 0.1192 1005;2009 81.2623 81038 1 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------- benchmark 'bench/test_attrs_primitives.py::test_structure_attrs_primitives[UnstructureStrategy.AS_TUPLE-Converter]': 1 tests ---------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_structure_attrs_primitives[UnstructureStrategy.AS_TUPLE-Converter] 11.8390 47.8812 12.3139 1.4829 12.1482 0.1211 1012;2017 81.2089 81828 1 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------- benchmark 'bench/test_attrs_primitives.py::test_unstructure_attrs_primitives[UnstructureStrategy.AS_DICT-BaseConverter]': 1 tests --------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstructure_attrs_primitives[UnstructureStrategy.AS_DICT-BaseConverter] 7.9405 28.5991 8.3427 1.1387 8.1919 0.2012 1007;1705 119.8652 120781 1 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------- benchmark 'bench/test_attrs_primitives.py::test_unstructure_attrs_primitives[UnstructureStrategy.AS_DICT-Converter]': 1 tests --------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstructure_attrs_primitives[UnstructureStrategy.AS_DICT-Converter] 2.9039 12.4704 3.0161 0.3956 2.9840 0.0298 1098;4004 331.5545 163084 2 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------- benchmark 'bench/test_attrs_primitives.py::test_unstructure_attrs_primitives[UnstructureStrategy.AS_TUPLE-BaseConverter]': 1 tests --------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ test_unstructure_attrs_primitives[UnstructureStrategy.AS_TUPLE-BaseConverter] 7.1600 30.0594 7.4909 0.7708 7.3686 0.2310 1249;1852 133.4960 134588 1 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ---------------------- benchmark 'bench/test_attrs_primitives.py::test_unstructure_attrs_primitives[UnstructureStrategy.AS_TUPLE-Converter]': 1 tests --------------------- Name (time in us) Min Max Mean StdDev Median IQR Outliers OPS (Kops/s) Rounds Iterations --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_unstructure_attrs_primitives[UnstructureStrategy.AS_TUPLE-Converter] 7.1712 106.4502 7.5001 0.7878 7.3798 0.2310 1244;1820 133.3316 134588 1 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------- benchmark 'bench/test_primitives.py::test_unstructure_float[BaseConverter]': 1 tests ----------------------------- Name (time in ns) Min Max Mean StdDev Median IQR Outliers OPS (Mops/s) Rounds Iterations ------------------------------------------------------------------------------------------------------------------------------------------------ test_unstructure_float[BaseConverter] 218.2534 2,356.4891 230.3750 57.2316 222.2217 2.1056 3949;7332 4.3407 194097 23 ------------------------------------------------------------------------------------------------------------------------------------------------ ----------------------------- benchmark 'bench/test_primitives.py::test_unstructure_float[Converter]': 1 tests ----------------------------- Name (time in ns) Min Max Mean StdDev Median IQR Outliers OPS (Mops/s) Rounds Iterations -------------------------------------------------------------------------------------------------------------------------------------------- test_unstructure_float[Converter] 218.2534 2,020.0792 225.3294 41.0172 222.1407 1.7817 1018;3303 4.4379 195297 23 -------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------- benchmark 'bench/test_primitives.py::test_unstructure_int[BaseConverter]': 1 tests ---------------------------- Name (time in ns) Min Max Mean StdDev Median IQR Outliers OPS (Mops/s) Rounds Iterations --------------------------------------------------------------------------------------------------------------------------------------------- test_unstructure_int[BaseConverter] 219.3782 2,071.1579 227.2005 45.6724 224.4487 1.5522 804;2440 4.4014 194589 18 --------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------- benchmark 'bench/test_primitives.py::test_unstructure_int[Converter]': 1 tests ----------------------------- Name (time in ns) Min Max Mean StdDev Median IQR Outliers OPS (Mops/s) Rounds Iterations ------------------------------------------------------------------------------------------------------------------------------------------ test_unstructure_int[Converter] 216.4718 1,461.3666 226.1844 40.3557 223.1935 1.2958 1024;4791 4.4212 195297 23 ------------------------------------------------------------------------------------------------------------------------------------------ Legend: Outliers: 1 Standard Deviation from Mean; 1.5 IQR (InterQuartile Range) from 1st Quartile and 3rd Quartile. OPS: Operations Per Second, computed as 1 / Mean =========================== short test summary info ============================ SKIPPED [1] tests/test_unstructure_collections.py:63: Requires Python 3.8 or lower XFAIL tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-child1-only] - reason: Cannot structure subclasses if include_subclasses strategy is not used XFAIL tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-child2-only] - reason: Cannot structure subclasses if include_subclasses strategy is not used XFAIL tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-grandchild-only] - reason: Cannot structure subclasses if include_subclasses strategy is not used XFAIL tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-parent] - reason: Cannot structure subclasses if include_subclasses strategy is not used XFAIL tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-child] - reason: Cannot structure subclasses if include_subclasses strategy is not used XFAIL tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-grandchild] - reason: Cannot structure subclasses if include_subclasses strategy is not used XFAIL tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-container] - reason: Cannot structure subclasses if include_subclasses strategy is not used XFAIL tests/strategies/test_include_subclasses.py::test_circular_reference[wo-subclasses] - reason: Cannot succeed if include_subclasses strategy is not used XFAIL tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-child1-only] - reason: Cannot succeed if include_subclasses strategy is not used XFAIL tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-child2-only] - reason: Cannot succeed if include_subclasses strategy is not used XFAIL tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-grandchild-only] - reason: Cannot succeed if include_subclasses strategy is not used XFAIL tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-parent] - reason: Cannot succeed if include_subclasses strategy is not used XFAIL tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-child] - reason: Cannot succeed if include_subclasses strategy is not used XFAIL tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-grandchild] - reason: Cannot succeed if include_subclasses strategy is not used XFAIL tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-container] - reason: Cannot succeed if include_subclasses strategy is not used FAILED tests/test_baseconverter.py::test_simple_roundtrip - AssertionError: a... FAILED tests/test_baseconverter.py::test_simple_roundtrip_defaults - Assertio... FAILED tests/test_baseconverter.py::test_nested_roundtrip - AssertionError: a... FAILED tests/test_baseconverter.py::test_nested_roundtrip_tuple - AssertionEr... FAILED tests/test_baseconverter.py::test_310_union_field_roundtrip - Assertio... FAILED tests/test_baseconverter.py::test_optional_field_roundtrip - Assertion... FAILED tests/test_baseconverter.py::test_310_optional_field_roundtrip - Asser... FAILED tests/test_converter.py::test_simple_roundtrip - AssertionError: asser... FAILED tests/test_converter.py::test_simple_roundtrip_tuple - AssertionError:... FAILED tests/test_converter.py::test_simple_roundtrip_defaults - AssertionErr... FAILED tests/test_converter.py::test_simple_roundtrip_with_extra_keys_forbidden FAILED tests/test_converter.py::test_nested_roundtrip - AssertionError: asser... FAILED tests/test_converter.py::test_nested_roundtrip_tuple - AssertionError:... FAILED tests/test_converter.py::test_union_field_roundtrip - AssertionError: ... FAILED tests/test_converter.py::test_310_union_field_roundtrip - AssertionErr... FAILED tests/test_converter.py::test_optional_field_roundtrip - AssertionErro... FAILED tests/test_converter.py::test_310_optional_field_roundtrip - Assertion... FAILED tests/test_converter.py::test_omit_default_roundtrip - AssertionError:... FAILED tests/test_gen_dict.py::test_renaming - AssertionError: assert HypAttr... FAILED tests/test_structure_attrs.py::test_structure_simple_from_dict_default = 20 failed, 625 passed, 1 skipped, 15 xfailed, 2 warnings in 1153.00s (0:19:13) = ERROR: InvocationError for command /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/py3/bin/pytest -vra (exited with code 1) py3 finish: run-test after 1153.79 seconds py3 start: run-test-post py3 finish: run-test-post after 0.00 seconds ___________________________________ summary ____________________________________ ERROR: py3: commands failed cleanup /usr/src/RPM/BUILD/python3-module-cattrs-23.2.3/.tox/.tmp/package/1/cattrs-23.2.3-py3-none-any.whl error: Bad exit status from /usr/src/tmp/rpm-tmp.87760 (%check) RPM build errors: Bad exit status from /usr/src/tmp/rpm-tmp.87760 (%check) Command exited with non-zero status 1 1143.83user 13.28system 19:17.22elapsed 99%CPU (0avgtext+0avgdata 629756maxresident)k 0inputs+0outputs (0major+405191minor)pagefaults 0swaps hsh-rebuild: rebuild of `python3-module-cattrs-23.2.3-alt1.src.rpm' failed. Command exited with non-zero status 1 5.11user 4.31system 19:42.04elapsed 0%CPU (0avgtext+0avgdata 130324maxresident)k 11568inputs+0outputs (0major+390878minor)pagefaults 0swaps