<86>Aug 17 03:29:18 userdel[1605635]: delete user 'rooter' <86>Aug 17 03:29:18 userdel[1605635]: removed group 'rooter' owned by 'rooter' <86>Aug 17 03:29:18 userdel[1605635]: removed shadow group 'rooter' owned by 'rooter' <86>Aug 17 03:29:18 groupadd[1605664]: group added to /etc/group: name=rooter, GID=1229 <86>Aug 17 03:29:18 groupadd[1605664]: group added to /etc/gshadow: name=rooter <86>Aug 17 03:29:18 groupadd[1605664]: new group: name=rooter, GID=1229 <86>Aug 17 03:29:18 useradd[1605687]: new user: name=rooter, UID=1229, GID=1229, home=/root, shell=/bin/bash, from=none <86>Aug 17 03:29:18 userdel[1605716]: delete user 'builder' <86>Aug 17 03:29:18 userdel[1605716]: removed group 'builder' owned by 'builder' <86>Aug 17 03:29:18 userdel[1605716]: removed shadow group 'builder' owned by 'builder' <86>Aug 17 03:29:18 groupadd[1605741]: group added to /etc/group: name=builder, GID=1230 <86>Aug 17 03:29:18 groupadd[1605741]: group added to /etc/gshadow: name=builder <86>Aug 17 03:29:18 groupadd[1605741]: new group: name=builder, GID=1230 <86>Aug 17 03:29:18 useradd[1605759]: new user: name=builder, UID=1230, GID=1230, home=/usr/src, shell=/bin/bash, from=none <13>Aug 17 03:29:24 rpmi: libmpdec3-2.5.1-alt3 sisyphus+314490.500.5.1 1675432004 installed <13>Aug 17 03:29:24 rpmi: libgdbm-1.8.3-alt10 sisyphus+278100.1600.1.1 1626058413 installed <13>Aug 17 03:29:24 rpmi: libexpat-2.5.0-alt1 sisyphus+309227.100.1.1 1667075764 installed <13>Aug 17 03:29:24 rpmi: libb2-0.98.1-alt1_1 sisyphus+291614.100.1.1 1638962877 installed <13>Aug 17 03:29:24 rpmi: libp11-kit-1:0.24.1-alt2 sisyphus+324666.100.1.1 1689083439 installed <13>Aug 17 03:29:24 rpmi: libtasn1-4.19.0-alt2 sisyphus+323514.100.1.1 1687445894 installed <13>Aug 17 03:29:24 rpmi: rpm-macros-alternatives-0.5.2-alt2 sisyphus+315270.200.2.1 1676457367 installed <13>Aug 17 03:29:24 rpmi: alternatives-0.5.2-alt2 sisyphus+315270.200.2.1 1676457367 installed <13>Aug 17 03:29:24 rpmi: ca-certificates-2023.07.31-alt1 sisyphus+326137.200.1.1 1690809798 installed <13>Aug 17 03:29:24 rpmi: ca-trust-0.1.4-alt1 sisyphus+308690.100.1.1 1666182992 installed <13>Aug 17 03:29:24 rpmi: p11-kit-trust-1:0.24.1-alt2 sisyphus+324666.100.1.1 1689083439 installed <13>Aug 17 03:29:24 rpmi: libcrypto3-3.1.2-alt1 sisyphus+326244.100.1.1 1690906741 installed <13>Aug 17 03:29:24 rpmi: libssl3-3.1.2-alt1 sisyphus+326244.100.1.1 1690906741 installed <13>Aug 17 03:29:24 rpmi: python3-3.11.4-alt2 sisyphus+324359.500.4.1 1689257961 installed <13>Aug 17 03:29:25 rpmi: python3-base-3.11.4-alt2 sisyphus+324359.500.4.1 1689257961 installed <13>Aug 17 03:29:25 rpmi: python3-module-pyproject-installer-0.5.2-alt1 sisyphus+324644.100.2.1 1689089627 installed <13>Aug 17 03:29:25 rpmi: rpm-macros-pyproject-0.0.4-alt1 sisyphus+322305.200.2.1 1686212200 installed <13>Aug 17 03:29:25 rpmi: tests-for-installed-python3-pkgs-0.1.22-alt1 sisyphus+319076.100.3.1 1682536051 installed <13>Aug 17 03:29:25 rpmi: rpm-build-python3-0.1.22-alt1 sisyphus+319076.100.3.1 1682536051 installed <13>Aug 17 03:29:25 rpmi: rpm-build-pyproject-0.0.4-alt1 sisyphus+322305.200.2.1 1686212200 installed <13>Aug 17 03:29:31 rpmi: python3-module-attrs-23.1.0-alt1 sisyphus+321859.100.1.1 1685027490 installed <13>Aug 17 03:29:31 rpmi: python3-module-six-1.16.0-alt2 sisyphus+324249.100.1.1 1688484676 installed <13>Aug 17 03:29:31 rpmi: python3-module-idna-3.4-alt1 sisyphus+307942.100.1.1 1665051373 installed <13>Aug 17 03:29:31 rpmi: python3-module-zope.interface-6.0-alt1 sisyphus+326348.600.4.1 1691597453 installed <13>Aug 17 03:29:32 rpmi: python3-module-pkg_resources-1:68.0.0-alt2 sisyphus+326606.200.2.1 1691498326 installed <13>Aug 17 03:29:32 rpmi: python3-module-mypy_extensions-1.0.0-alt1 sisyphus+316350.100.2.1 1678357948 installed <13>Aug 17 03:29:32 rpmi: python3-module-typing_extensions-4.7.1-alt1 sisyphus+324215.100.1.1 1688464174 installed <13>Aug 17 03:29:32 rpmi: python3-module-greenlet-2.0.2-alt1 sisyphus+326609.100.1.1 1691406110 installed <13>Aug 17 03:29:32 rpmi: libtcl-8.6.13-alt1 sisyphus+310696.100.1.1 1669548266 installed <13>Aug 17 03:29:32 rpmi: libidn2-2.3.4-alt1 sisyphus+309023.100.1.1 1666791084 installed <13>Aug 17 03:29:32 rpmi: libnettle8-3.9.1-alt1 sisyphus+322548.100.1.2 1686176879 installed <13>Aug 17 03:29:32 rpmi: python3-module-iniconfig-2.0.0-alt1 sisyphus+314076.200.3.1 1674737275 installed <13>Aug 17 03:29:32 rpmi: python3-module-pytz-1:2022.6-alt1 sisyphus+311396.200.1.1 1670517427 installed <13>Aug 17 03:29:32 rpmi: python3-module-packaging-23.1-alt1 sisyphus+318906.100.2.1 1683015285 installed <13>Aug 17 03:29:32 rpmi: python3-module-multidict-6.0.4-alt1 sisyphus+311250.32340.176.1 1685737916 installed <13>Aug 17 03:29:32 rpmi: python3-module-click-8.1.6-alt1 sisyphus+325473.100.2.1 1690373662 installed <13>Aug 17 03:29:32 rpmi: python3-module-sortedcontainers-2.4.0-alt1 sisyphus+272042.100.1.1 1621262424 installed <13>Aug 17 03:29:32 rpmi: python3-module-async-timeout-4.0.2-alt1 sisyphus+295017.1100.2.1 1644497909 installed <13>Aug 17 03:29:32 rpmi: python3-module-frozenlist-1.3.3-alt1 sisyphus+311250.30540.176.1 1685737433 installed <13>Aug 17 03:29:32 rpmi: python3-module-charset-normalizer-2.1.1-alt1 sisyphus+311047.100.1.1 1669992940 installed <13>Aug 17 03:29:32 rpmi: libopenblas-0.3.23-alt1.2 sisyphus+325749.100.1.1 1690531809 installed <13>Aug 17 03:29:32 rpmi: libssh2-1.10.0-alt1 sisyphus+324359.1600.6.1 1689326459 installed <13>Aug 17 03:29:32 rpmi: libcares-1.19.1-alt1 sisyphus+324326.100.1.1 1688585812 installed <13>Aug 17 03:29:32 rpmi: python3-module-aiosignal-1.3.1-alt1 sisyphus+314057.100.1.1 1674561191 installed <13>Aug 17 03:29:32 rpmi: python3-module-incremental-22.10.0-alt1 sisyphus+312706.100.1.1 1672404273 installed <13>Aug 17 03:29:32 rpmi: python3-module-yarl-1.9.2-alt2 sisyphus+326605.100.1.1 1691404439 installed <13>Aug 17 03:29:32 rpmi: libhogweed6-3.9.1-alt1 sisyphus+322548.100.1.2 1686176879 installed <13>Aug 17 03:29:32 rpmi: libgnutls30-3.8.1-alt2 sisyphus+326772.40.3.1 1692114175 installed <13>Aug 17 03:29:32 rpmi: libngtcp2.13-0.16.0-alt1 sisyphus+323677.40.3.1 1687690555 installed <13>Aug 17 03:29:32 rpmi: libngtcp2_crypto_gnutls5-0.16.0-alt1 sisyphus+323677.40.3.1 1687690555 installed <13>Aug 17 03:29:32 rpmi: tcl-8.6.13-alt1 sisyphus+310696.100.1.1 1669548266 installed <13>Aug 17 03:29:32 rpmi: python3-module-typing-inspect-0.9.0-alt1 sisyphus+321831.100.1.1 1685011068 installed <13>Aug 17 03:29:32 rpmi: python3-module-idna_ssl-1.1.0-alt2 sisyphus+272418.100.1.1 1621876529 installed <13>Aug 17 03:29:32 rpmi: python3-module-hyperlink-21.0.0-alt1.1 sisyphus+304836.100.1.1 1659710964 installed <13>Aug 17 03:29:32 rpmi: python3-module-dateutil-2.8.2-alt2 sisyphus+319889.300.1.1 1683215971 installed <13>Aug 17 03:29:32 rpmi: python3-module-outcome-1.2.0-alt2 sisyphus+318894.1400.3.1 1682420792 installed <13>Aug 17 03:29:32 rpmi: python3-module-tomli-2.0.1-alt2 sisyphus+305000.3300.2.1 1660575675 installed <13>Aug 17 03:29:32 rpmi: python3-module-pluggy-1.2.0-alt1 sisyphus+323556.100.2.1 1689242408 installed <13>Aug 17 03:29:32 rpmi: python3-module-pytest-7.4.0-alt1 sisyphus+325101.100.3.1 1689758053 installed <13>Aug 17 03:29:32 rpmi: python3-module-lark-1.1.7-alt1 sisyphus+325463.300.3.1 1690386555 installed <13>Aug 17 03:29:32 rpmi: python3-module-sqlparse-0.4.4-alt1 sisyphus+319188.100.1.1 1682328039 installed <13>Aug 17 03:29:32 rpmi: python3-module-markupsafe-1:2.1.3-alt1 sisyphus+323659.100.1.1 1687595160 installed <13>Aug 17 03:29:32 rpmi: python3-module-jinja2-3.1.2-alt1 sisyphus+303664.100.1.1 1657809843 installed <13>Aug 17 03:29:32 rpmi: python3-module-cpuinfo-9.0.0-alt1 sisyphus+319498.500.3.1 1684409117 installed <13>Aug 17 03:29:33 rpmi: python3-module-commonmark-0.9.1-alt1 sisyphus+275909.100.1.1 1624804424 installed <13>Aug 17 03:29:33 rpmi: python3-module-platformdirs-3.10.0-alt1 sisyphus+326155.100.2.1 1690880012 installed <13>Aug 17 03:29:33 rpmi: python3-module-pathspec-0.11.2-alt1 sisyphus+326154.100.2.1 1690886843 installed <13>Aug 17 03:29:33 rpmi: python3-module-asgiref-3.4.1-alt1 sisyphus+283297.40.2.1 1629315886 installed <13>Aug 17 03:29:33 rpmi: python3-module-apipkg-3.0.1-alt2 sisyphus+323078.100.1.1 1686823905 installed <13>Aug 17 03:29:33 rpmi: python3-module-py-1.11.0-alt1 sisyphus+295927.100.2.1 1646050822 installed <13>Aug 17 03:29:33 rpmi: python3-module-Pygments-2.16.1-alt1 sisyphus+326610.100.1.1 1691406169 installed <13>Aug 17 03:29:33 rpmi: python3-module-rich-12.5.1-alt1 sisyphus+306923.4240.12.1 1663926259 installed <13>Aug 17 03:29:33 rpmi: python3-module-constantly-15.1.0-alt6 sisyphus+284854.100.1.1 1631108193 installed <13>Aug 17 03:29:33 rpmi: python3-module-pygobject-2.28.6-alt13 sisyphus+311250.56700.178.1 1685789242 installed <13>Aug 17 03:29:33 rpmi: python3-module-appdirs-1.4.4-alt1 sisyphus+267613.300.2.1 1620039159 installed <13>Aug 17 03:29:33 rpmi: python3-module-certifi-2023.5.7-alt1 sisyphus+322622.100.1.1 1686217855 installed <13>Aug 17 03:29:33 rpmi: python3-module-openid-3.2.0-alt1 sisyphus+278049.100.2.1 1625998936 installed <13>Aug 17 03:29:33 rpmi: python3-module-z3c-3.0.0-alt4 sisyphus+284857.200.1.1 1631109149 installed <13>Aug 17 03:29:33 rpmi: python3-module-zc-1.0.0-alt7 sisyphus+284857.100.1.1 1631109117 installed <13>Aug 17 03:29:33 rpmi: python3-module-zope-3.3.0-alt9 sisyphus+281937.200.4.1 1628175900 installed <13>Aug 17 03:29:33 rpmi: python3-module-zope.event-5.0-alt1.1 sisyphus+325755.140.2.1 1690991538 installed <13>Aug 17 03:29:33 rpmi: python3-module-pycparser-2.21-alt1.1 sisyphus+309935.7300.4.1 1668527005 installed <13>Aug 17 03:29:33 rpmi: python3-module-cffi-1.15.1-alt2 sisyphus+311250.35200.176.1 1685739391 installed <13>Aug 17 03:29:33 rpmi: python3-module-cryptography-41.0.3-alt1 sisyphus+326306.100.1.1 1690985258 installed <13>Aug 17 03:29:33 rpmi: python3-module-openssl-23.2.0-alt1 sisyphus+326014.100.1.1 1690659362 installed <13>Aug 17 03:29:33 rpmi: python3-module-urllib3-2:2.0.4-alt1 sisyphus+325464.100.1.1 1690199511 installed <13>Aug 17 03:29:33 rpmi: python3-module-requests-2.31.0-alt1 sisyphus+321663.100.2.1 1684917021 installed <13>Aug 17 03:29:33 rpmi: python3-module-redis-py-4.5.5-alt1 sisyphus+319852.1100.13.1 1684229279 installed <13>Aug 17 03:29:33 rpmi: python3-module-pycares-4.1.2-alt1 sisyphus+311250.45300.178.1 1685783505 installed <13>Aug 17 03:29:33 rpmi: python3-module-astor-0.8.1-alt1.1 sisyphus+315877.100.1.1 1677481862 installed <13>Aug 17 03:29:33 rpmi: python3-module-sniffio-1.2.0-alt1 sisyphus+295017.1600.2.1 1644498020 installed <13>Aug 17 03:29:33 rpmi: python3-module-exceptiongroup-1.1.3-alt1 sisyphus+327210.100.2.1 1692096915 installed <13>Aug 17 03:29:33 rpmi: python3-module-async_generator-1.10-alt3 sisyphus+319053.1600.6.1 1682668582 installed <13>Aug 17 03:29:34 rpmi: python3-module-trio-0.22.0-alt3 sisyphus+319053.2100.6.1 1682668663 installed <13>Aug 17 03:29:34 rpmi: python3-module-dns-1:2.2.0-alt2 sisyphus+320065.60.1.1 1683366881 installed <13>Aug 17 03:29:34 rpmi: python3-module-Cheetah-3.3.1-alt3 sisyphus+323086.100.1.2 1686870555 installed <13>Aug 17 03:29:34 rpmi: python3-module-paste-3.5.0-alt1.1 sisyphus+309935.6500.4.1 1668526794 installed <13>Aug 17 03:29:34 rpmi: python3-module-PasteDeploy-1:3.0.1-alt1 sisyphus+308592.100.1.1 1666070463 installed <13>Aug 17 03:29:34 rpmi: python3-module-PasteScript-1:2.0.2-alt2 sisyphus+272468.100.1.1 1621939313 installed <13>Aug 17 03:29:34 rpmi: llvm16.0-filesystem-16.0.6-alt3 sisyphus+326593.100.1.1 1691397786 installed <13>Aug 17 03:29:34 rpmi: llvm16.0-polly-16.0.6-alt3 sisyphus+326593.100.1.1 1691397786 installed <13>Aug 17 03:29:34 rpmi: libyaml2-0.2.5-alt1 sisyphus+278391.100.1.1 1626094928 installed <13>Aug 17 03:29:34 rpmi: python3-module-yaml-6.0-alt2 sisyphus+311250.34240.176.1 1685738715 installed <13>Aug 17 03:29:34 rpmi: python3-module-libcst-1.0.1-alt1 sisyphus+322900.100.2.2 1686852287 installed <13>Aug 17 03:29:34 rpmi: libuv-1.46.0-alt1 sisyphus+326001.100.1.1 1690655254 installed <13>Aug 17 03:29:34 rpmi: libpython3-3.11.4-alt2 sisyphus+324359.500.4.1 1689257961 installed <13>Aug 17 03:29:34 rpmi: libncurses-6.3.20220618-alt1 sisyphus+302449.100.1.1 1655835246 installed <13>Aug 17 03:29:34 rpmi: libtinfo-devel-6.3.20220618-alt1 sisyphus+302449.100.1.1 1655835246 installed <13>Aug 17 03:29:34 rpmi: libncurses-devel-6.3.20220618-alt1 sisyphus+302449.100.1.1 1655835246 installed <13>Aug 17 03:29:34 rpmi: libmimalloc2-2.1.2-alt1 sisyphus+319623.100.1.1 1682863342 installed <13>Aug 17 03:29:34 rpmi: libmaxminddb-1.7.1-alt1 sisyphus+310839.100.1.1 1669722009 installed <13>Aug 17 03:29:34 rpmi: python3-module-MaxMindDB-2.4.0-alt1 sisyphus+325045.100.1.1 1689589265 installed <13>Aug 17 03:29:34 rpmi: libxblas-1.0.248-alt2 sisyphus+285045.40.2.1 1631388330 installed <13>Aug 17 03:29:34 rpmi: libusb-1.0.26-alt2 sisyphus+305525.100.1.1 1660924427 installed <13>Aug 17 03:29:34 rpmi: libhidapi-0.12.0-alt1_1 sisyphus+303213.100.1.1 1657034192 installed <13>Aug 17 03:29:34 rpmi: python3-module-cython-hidapi-0.14.0-alt1 sisyphus+326006.100.1.1 1690656873 installed <13>Aug 17 03:29:34 rpmi: python3-module-serial-3.5-alt2 sisyphus+281995.100.1.1 1628172783 installed <13>Aug 17 03:29:35 rpmi: libquadmath0-13.2.1-alt1 sisyphus+325923.100.1.1 1690626070 installed <13>Aug 17 03:29:35 rpmi: libgfortran5-13.2.1-alt1 sisyphus+325923.100.1.1 1690626070 installed <13>Aug 17 03:29:35 rpmi: liblapack-1:3.8.0-alt7 sisyphus+293726.100.1.1 1642544497 installed <13>Aug 17 03:29:35 rpmi: python3-module-numpy-1:1.25.2-alt1 sisyphus+326215.100.2.1 1691052188 installed <13>Aug 17 03:29:35 rpmi: libev4-4.33-alt2 sisyphus+286828.100.2.3 1634005197 installed <13>Aug 17 03:29:35 rpmi: python3-module-gevent-22.10.2-alt1 sisyphus+311250.61340.178.1 1685796005 installed <13>Aug 17 03:29:35 rpmi: libedit3-3.1.20221030-alt1 sisyphus+325122.200.4.2 1690581895 installed <13>Aug 17 03:29:35 rpmi: llvm16.0-gold-16.0.6-alt3 sisyphus+326593.100.1.1 1691397786 installed <13>Aug 17 03:29:38 rpmi: llvm16.0-libs-16.0.6-alt3 sisyphus+326593.100.1.1 1691397786 installed <13>Aug 17 03:29:43 rpmi: rust-1:1.71.1-alt1 sisyphus+326361.500.5.1 1691097856 installed <13>Aug 17 03:29:43 rpmi: publicsuffix-list-dafsa-20230701-alt1 sisyphus+324303.100.1.1 1688561153 installed <13>Aug 17 03:29:43 rpmi: libpsl-0.21.2-alt1 sisyphus+312536.100.1.1 1672131178 installed <13>Aug 17 03:29:43 rpmi: libnghttp3.7-0.12.0-alt1 sisyphus+323677.20.3.1 1687690506 installed <13>Aug 17 03:29:43 rpmi: libnghttp2-1.54.0-alt1 sisyphus+324359.10000.11.1 1689368798 installed <13>Aug 17 03:29:43 rpmi: openldap-common-2.6.4-alt1 sisyphus+324359.600.5.1 1689262595 installed <13>Aug 17 03:29:43 rpmi: libntlm-1.5-alt1 sisyphus+278100.3300.1.1 1626058899 installed <13>Aug 17 03:29:43 rpmi: libidn-1.37-alt2 sisyphus+300849.100.1.1 1653769687 installed <13>Aug 17 03:29:43 rpmi: libverto-0.3.2-alt1_1 sisyphus+321176.2200.10.2 1684803947 installed <13>Aug 17 03:29:43 rpmi: liblmdb-0.9.29-alt1.1 sisyphus+306630.100.1.1 1663072360 installed <13>Aug 17 03:29:43 rpmi: libkeyutils-1.6.3-alt1 sisyphus+266061.100.1.1 1612919566 installed <13>Aug 17 03:29:43 rpmi: libcom_err-1.46.4.0.5.4cda-alt1 sisyphus+283826.100.1.1 1629975345 installed <86>Aug 17 03:29:43 groupadd[1641605]: group added to /etc/group: name=_keytab, GID=999 <86>Aug 17 03:29:43 groupadd[1641605]: group added to /etc/gshadow: name=_keytab <86>Aug 17 03:29:43 groupadd[1641605]: new group: name=_keytab, GID=999 <13>Aug 17 03:29:43 rpmi: libkrb5-1.21.2-alt1 sisyphus+327265.100.1.1 1692185462 installed <13>Aug 17 03:29:43 rpmi: libgsasl-1.8.0-alt3 sisyphus+275307.100.1.2 1624478543 installed <86>Aug 17 03:29:43 groupadd[1641790]: group added to /etc/group: name=sasl, GID=998 <86>Aug 17 03:29:43 groupadd[1641790]: group added to /etc/gshadow: name=sasl <86>Aug 17 03:29:43 groupadd[1641790]: new group: name=sasl, GID=998 <13>Aug 17 03:29:43 rpmi: libsasl2-3-2.1.27-alt2.2 sisyphus+324359.6000.12.1 1689392001 installed <13>Aug 17 03:29:43 rpmi: libldap2-2.6.4-alt1 sisyphus+324359.600.5.1 1689262595 installed <13>Aug 17 03:29:43 rpmi: libpq5-15.4-alt2 sisyphus+327094.100.1.1 1691856915 installed <13>Aug 17 03:29:43 rpmi: python3-module-psycopg2-2.9.5-alt1 sisyphus+311250.16300.175.1 1685633229 installed <13>Aug 17 03:29:43 rpmi: python3-module-eventlet-0.33.3-alt2 sisyphus+318403.100.1.1 1681290339 installed <13>Aug 17 03:29:43 rpmi: libpng16-1.6.40-alt1 sisyphus+323732.100.1.1 1687771851 installed <13>Aug 17 03:29:43 rpmi: libbrotlicommon-1.0.9-alt2 sisyphus+278430.100.1.2 1626213212 installed <13>Aug 17 03:29:43 rpmi: libbrotlidec-1.0.9-alt2 sisyphus+278430.100.1.2 1626213212 installed <13>Aug 17 03:29:43 rpmi: libcurl-8.2.1-alt1 sisyphus+326951.100.1.1 1691770183 installed <13>Aug 17 03:29:43 rpmi: libgraphite2-1.3.14-alt2.1 sisyphus+279571.100.1.2 1626605111 installed <13>Aug 17 03:29:43 rpmi: libharfbuzz-8.1.1-alt1 sisyphus+326343.100.1.1 1691060130 installed <13>Aug 17 03:29:43 rpmi: libfreetype-2.13.1-alt1 sisyphus+324353.100.1.1 1688638057 installed <13>Aug 17 03:29:43 rpmi: libfontconfig1-2.14.2-alt7 sisyphus+319291.100.1.1 1682426296 installed <13>Aug 17 03:29:43 rpmi: libXdmcp-1.1.4-alt1 sisyphus+311188.1000.1.1 1670233857 installed <13>Aug 17 03:29:43 rpmi: libXau-1.0.11-alt1 sisyphus+311428.100.1.1 1670577439 installed <13>Aug 17 03:29:43 rpmi: libxcb-1.15-alt1 sisyphus+299436.300.1.1 1651655472 installed <13>Aug 17 03:29:43 rpmi: libX11-locales-3:1.8.6-alt1 sisyphus+323114.100.1.1 1686850054 installed <13>Aug 17 03:29:43 rpmi: libX11-3:1.8.6-alt1 sisyphus+323114.100.1.1 1686850054 installed <13>Aug 17 03:29:43 rpmi: libXrender-0.9.11-alt1 sisyphus+308841.100.1.1 1666436130 installed <13>Aug 17 03:29:43 rpmi: libXft-2.3.7-alt1 sisyphus+310164.100.1.1 1668680608 installed <13>Aug 17 03:29:43 rpmi: libtk-8.6.13-alt1 sisyphus+310696.200.1.1 1669548530 installed <13>Aug 17 03:29:43 rpmi: tk-8.6.13-alt1 sisyphus+310696.200.1.1 1669548530 installed <13>Aug 17 03:29:43 rpmi: tcl-tix-8.4.3-alt4 sisyphus+277292.300.2.1 1625442550 installed <13>Aug 17 03:29:43 rpmi: python3-modules-tkinter-3.11.4-alt2 sisyphus+324359.500.4.1 1689257961 installed <13>Aug 17 03:29:43 rpmi: python3-module-automat-22.10.0-alt1 sisyphus+322927.200.2.1 1686736914 installed <13>Aug 17 03:29:44 rpmi: python3-module-twisted-logger-22.10.0-alt2 sisyphus+325754.100.1.1 1690535804 installed <13>Aug 17 03:29:44 rpmi: python3-module-twisted-core-22.10.0-alt2 sisyphus+325754.100.1.1 1690535804 installed <13>Aug 17 03:29:44 rpmi: python3-module-twisted-names-22.10.0-alt2 sisyphus+325754.100.1.1 1690535804 installed <13>Aug 17 03:29:44 rpmi: python3-module-tornado-6.3.2-alt1 sisyphus+311250.21520.175.1 1685634073 installed <13>Aug 17 03:29:44 rpmi: python3-module-gunicorn-20.1.0-alt2 sisyphus+297766.100.1.1 1649054912 installed <13>Aug 17 03:29:44 rpmi: python3-module-aiohttp-3.8.4-alt1 sisyphus+311250.43420.178.1 1685782135 installed <13>Aug 17 03:29:44 rpmi: python3-module-GeoIP2-4.7.0-alt1 sisyphus+320561.100.1.1 1684172310 installed <13>Aug 17 03:29:45 rpmi: python3-module-django-3.2.20-alt1 sisyphus+324744.100.1.1 1689163331 installed <13>Aug 17 03:29:45 rpmi: python3-module-black-23.7.0-alt1 sisyphus+325184.100.2.1 1689848178 installed <13>Aug 17 03:29:45 rpmi: python3-module-hypothesis-6.82.3-alt1 sisyphus+316966.600.6.1 1691750660 installed <13>Aug 17 03:29:45 rpmi: rust-cargo-1:1.71.1-alt1 sisyphus+326361.500.5.1 1691097856 installed <13>Aug 17 03:29:45 rpmi: libmimalloc-devel-2.1.2-alt1 sisyphus+319623.100.1.1 1682863342 installed <13>Aug 17 03:29:46 rpmi: python3-dev-3.11.4-alt2 sisyphus+324359.500.4.1 1689257961 installed <13>Aug 17 03:29:46 rpmi: python3-module-pytest-pretty-1.2.0-alt1 sisyphus+325486.140.2.1 1690270459 installed <13>Aug 17 03:29:46 rpmi: python3-module-pytest-benchmark-4.0.0-alt2 sisyphus+326832.100.2.1 1691598075 installed <13>Aug 17 03:29:46 rpmi: python3-module-pytest-mock-3.11.1-alt1 sisyphus+323311.100.2.2 1687175799 installed <13>Aug 17 03:29:46 rpmi: python3-module-pytest-timeout-2.1.0-alt1 sisyphus+304013.1200.3.1 1658337881 installed <13>Aug 17 03:29:46 rpmi: python3-module-maturin-1.1.0-alt1 sisyphus+323073.100.1.2 1686858146 installed <13>Aug 17 03:29:46 rpmi: python3-module-dirty-equals-0.4-alt2 sisyphus+306728.500.3.1 1663153520 installed Building target platforms: x86_64 Building for target x86_64 Wrote: /usr/src/in/nosrpm/python3-module-pydantic-core-2.4.0-alt1.nosrc.rpm (w1.gzdio) Installing python3-module-pydantic-core-2.4.0-alt1.src.rpm Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.19154 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf python3-module-pydantic-core-2.4.0 + echo 'Source #0 (python3-module-pydantic-core-2.4.0.tar):' Source #0 (python3-module-pydantic-core-2.4.0.tar): + /bin/tar -xf /usr/src/RPM/SOURCES/python3-module-pydantic-core-2.4.0.tar + cd python3-module-pydantic-core-2.4.0 + echo 'Source #2 (crates.tar):' Source #2 (crates.tar): + /bin/tar -xf /usr/src/RPM/SOURCES/crates.tar + /bin/chmod -c -Rf u+rwX,go-w . + mkdir -p .cargo + cat + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json show pep518 + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json sync --verify pep518 + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json show pep517 + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json sync --verify pep517 + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json show metadata + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json sync --verify metadata INFO : Building metadata INFO : Building metadata with prepare_metadata_for_build_wheel INFO : Source tree: /usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0 INFO : Output dir: /usr/src/tmp/tmpnl1xjxjo + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json show check + /usr/bin/python3 -m pyproject_installer deps --depsconfig /usr/src/RPM/SOURCES/pyproject_deps.json sync --verify check + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.32759 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-pydantic-core-2.4.0 + export CARGO_HOME=/usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0/cargo + CARGO_HOME=/usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0/cargo + export 'CFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + export 'CXXFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + export 'FFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + /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-pydantic-core-2.4.0 INFO : pyproject_installer.build_cmd._build : Output dir: /usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0/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-pydantic-core-2.4.0/pyproject.toml INFO : backend_caller.py : Calling hook build_wheel in subprocess INFO : backend_caller.py : Build backend: maturin INFO : backend_caller.py : Hook args: ['/usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0/dist'] INFO : backend_caller.py : Hook kwargs: {'config_settings': None} Running `maturin pep517 build-wheel -i /usr/bin/python3 --compatibility off` 📦 Including license file "/usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0/LICENSE" 🍹 Building a mixed python/rust project 🔗 Found pyo3 bindings 🐍 Found CPython 3.11 at /usr/bin/python3 📡 Using build options features, bindings from pyproject.toml Compiling autocfg v1.1.0 Compiling target-lexicon v0.12.9 Compiling proc-macro2 v1.0.64 Compiling unicode-ident v1.0.10 Compiling python3-dll-a v0.2.9 Compiling quote v1.0.29 Compiling once_cell v1.18.0 Compiling libc v0.2.147 Compiling rustversion v1.0.13 Compiling memchr v2.5.0 Compiling syn v1.0.109 Compiling cfg-if v1.0.0 Compiling version_check v0.9.4 Compiling num-traits v0.2.15 Compiling num-integer v0.1.45 Compiling lock_api v0.4.10 Compiling parking_lot_core v0.9.8 Compiling tinyvec_macros v0.1.1 Compiling cc v1.0.79 Compiling tinyvec v1.6.0 Compiling pyo3-build-config v0.19.1 Compiling syn v2.0.25 Compiling memoffset v0.9.0 Compiling num-bigint v0.4.3 Compiling scopeguard v1.1.0 Compiling serde v1.0.175 Compiling smallvec v1.11.0 Compiling heck v0.4.1 Compiling unicode-normalization v0.1.22 Compiling libmimalloc-sys v0.1.33 Compiling aho-corasick v1.0.2 Compiling ahash v0.8.3 Compiling serde_json v1.0.103 Compiling percent-encoding v2.3.0 Compiling hashbrown v0.14.0 Compiling unicode-bidi v0.3.13 Compiling equivalent v1.0.1 Compiling regex-syntax v0.7.4 Compiling serde_derive v1.0.175 Compiling pyo3-ffi v0.19.1 Compiling pyo3 v0.19.1 Compiling indexmap v2.0.0 Compiling pyo3-macros-backend v0.19.1 Compiling pydantic-core v2.4.0 (/usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0) Compiling idna v0.4.0 Compiling form_urlencoded v1.2.0 Compiling regex-automata v0.3.2 Compiling parking_lot v0.12.1 Compiling getrandom v0.2.10 Compiling itoa v1.0.8 Compiling ryu v1.0.14 Compiling unindent v0.1.11 Compiling indoc v1.0.9 Compiling url v2.4.0 Compiling mimalloc v0.1.37 Compiling regex v1.9.1 Compiling base64 v0.21.2 Compiling pyo3-macros v0.19.1 Compiling uuid v1.4.1 Compiling strum_macros v0.25.1 Compiling enum_dispatch v0.3.12 Compiling strum v0.25.0 Compiling speedate v0.11.0 Finished release [optimized] target(s) in 2m 35s 📦 Built wheel for CPython 3.11 to /usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0/target/wheels/pydantic_core-2.4.0-cp311-cp311-linux_x86_64.whl /usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0/target/wheels/pydantic_core-2.4.0-cp311-cp311-linux_x86_64.whl INFO : pyproject_installer.build_cmd._build : Built wheel: pydantic_core-2.4.0-cp311-cp311-linux_x86_64.whl + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.22083 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/python3-module-pydantic-core-buildroot + : + /bin/rm -rf -- /usr/src/tmp/python3-module-pydantic-core-buildroot + PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games + cd python3-module-pydantic-core-2.4.0 + /usr/bin/python3 -m pyproject_installer -v install --destdir=/usr/src/tmp/python3-module-pydantic-core-buildroot INFO : pyproject_installer.install_cmd._install : Installing wheel INFO : pyproject_installer.install_cmd._install : Wheel directory: /usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0/dist INFO : pyproject_installer.install_cmd._install : Wheel filename: pydantic_core-2.4.0-cp311-cp311-linux_x86_64.whl INFO : pyproject_installer.install_cmd._install : Destination: /usr/src/tmp/python3-module-pydantic-core-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-pydantic-core-buildroot/usr/lib64/python3/site-packages INFO : pyproject_installer.install_cmd._install : Extracting wheel DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: pydantic_core-2.4.0.dist-info/WHEEL DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: pydantic_core-2.4.0.dist-info/license_files/LICENSE DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: pydantic_core-2.4.0.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-pydantic-core-buildroot (auto) Verifying and fixing files in /usr/src/tmp/python3-module-pydantic-core-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig) Checking contents of files in /usr/src/tmp/python3-module-pydantic-core-buildroot/ (default) Compressing files in /usr/src/tmp/python3-module-pydantic-core-buildroot (auto) Adjusting library links in /usr/src/tmp/python3-module-pydantic-core-buildroot ./usr/lib64: (from :0) 056-debuginfo.brp: WARNING: You have 1 stripped ELF objects. Please compile with debugging information! 056-debuginfo.brp: WARNING: An excerpt from the list of affected files follows: ./usr/lib64/python3/site-packages/pydantic_core/_pydantic_core.cpython-311.so Verifying ELF objects in /usr/src/tmp/python3-module-pydantic-core-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) Bytecompiling python3 modules in /usr/src/tmp/python3-module-pydantic-core-buildroot using /usr/bin/python3 Can't list '/usr/src/tmp/python3-module-pydantic-core-buildroot/usr/lib/python3/site-packages' unlink /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/lib64/python3/site-packages/pydantic_core/__pycache__/core_schema.cpython-311.pyc compile /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/lib64/python3/site-packages/pydantic_core/__init__.py compile /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/lib64/python3/site-packages/pydantic_core/core_schema.py Bytecompiling python3 modules with optimization in /usr/src/tmp/python3-module-pydantic-core-buildroot using /usr/bin/python3 -O Can't list '/usr/src/tmp/python3-module-pydantic-core-buildroot/usr/lib/python3/site-packages' compile /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/lib64/python3/site-packages/pydantic_core/__init__.py compile /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/lib64/python3/site-packages/pydantic_core/core_schema.py Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python3-module-pydantic-core-buildroot using /usr/bin/python3 -OO Can't list '/usr/src/tmp/python3-module-pydantic-core-buildroot/usr/lib/python3/site-packages' compile /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/lib64/python3/site-packages/pydantic_core/__init__.py compile /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/lib64/python3/site-packages/pydantic_core/core_schema.py Hardlinking identical .pyc and .opt-?.pyc files './usr/lib64/python3/site-packages/pydantic_core/__pycache__/__init__.cpython-311.opt-1.pyc' => './usr/lib64/python3/site-packages/pydantic_core/__pycache__/__init__.cpython-311.pyc' './usr/lib64/python3/site-packages/pydantic_core/__pycache__/core_schema.cpython-311.opt-1.pyc' => './usr/lib64/python3/site-packages/pydantic_core/__pycache__/core_schema.cpython-311.pyc' Executing(%check): /bin/sh -e /usr/src/tmp/rpm-tmp.22078 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-pydantic-core-2.4.0 + export 'CFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + export 'CXXFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + export 'FFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + export NO_INTERNET=YES + NO_INTERNET=YES + /usr/bin/python3 -m pyproject_installer run -- python3 -m pytest -vra --ignore=tests/benchmarks INFO : Creating venv INFO : Installing console scripts INFO : Installing package: /usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0/dist/pydantic_core-2.4.0-cp311-cp311-linux_x86_64.whl INFO : Running command: ['/usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0/.run_venv/bin/python3', '-m', 'pyproject_installer', 'install', '/usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0/dist/pydantic_core-2.4.0-cp311-cp311-linux_x86_64.whl'] INFO : Running command: ['python3', '-m', 'pytest', '-vra', '--ignore=tests/benchmarks'] ============================= test session starts ============================== platform linux -- Python 3.11.4, pytest-7.4.0, pluggy-1.2.0 -- /usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0/.run_venv/bin/python3 cachedir: .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=100000) hypothesis profile 'fast' -> max_examples=2, database=DirectoryBasedExampleDatabase('/usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0/.hypothesis/examples') rootdir: /usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0 configfile: pyproject.toml testpaths: tests plugins: timeout-2.1.0, mock-3.11.1, benchmark-4.0.0, pretty-1.2.0, hypothesis-6.82.3 timeout: 30.0s timeout method: signal timeout func_only: False collecting ... collected 3584 items tests/test_build.py::test_build_error_type PASSED [ 0%] tests/test_build.py::test_build_error_internal PASSED [ 0%] tests/test_build.py::test_build_error_deep PASSED [ 0%] tests/test_build.py::test_schema_as_string PASSED [ 0%] tests/test_build.py::test_schema_wrong_type PASSED [ 0%] tests/test_build.py::test_pickle[1] PASSED [ 0%] tests/test_build.py::test_pickle[2] PASSED [ 0%] tests/test_build.py::test_pickle[3] PASSED [ 0%] tests/test_build.py::test_pickle[4] PASSED [ 0%] tests/test_build.py::test_pickle[5] PASSED [ 0%] tests/test_build.py::test_schema_definition_error PASSED [ 0%] tests/test_build.py::test_not_schema_definition_error PASSED [ 0%] tests/test_build.py::test_no_type PASSED [ 0%] tests/test_build.py::test_wrong_type PASSED [ 0%] tests/test_build.py::test_function_no_mode PASSED [ 0%] tests/test_build.py::test_try_self_schema_discriminator PASSED [ 0%] tests/test_build.py::test_build_recursive_schema_from_defs PASSED [ 0%] tests/test_config.py::test_on_field PASSED [ 0%] tests/test_config.py::test_on_config PASSED [ 0%] tests/test_config.py::test_field_priority_arg PASSED [ 0%] tests/test_config.py::test_on_model_class PASSED [ 0%] tests/test_config.py::test_field_priority_model PASSED [ 0%] tests/test_config.py::test_allow_inf_nan[{}-{'type': 'float'}-{'x': 'nan'}-IsInstance() & HasAttributes(x=FunctionCheck(isnan))] PASSED [ 0%] tests/test_config.py::test_allow_inf_nan[{'allow_inf_nan': True}-{'type': 'float'}-{'x': 'nan'}-IsInstance() & HasAttributes(x=FunctionCheck(isnan))] PASSED [ 0%] tests/test_config.py::test_allow_inf_nan[{'allow_inf_nan': False}-{'type': 'float'}-{'x': 'nan'}-Err('Input should be a finite number [type=finite_number,')] PASSED [ 0%] tests/test_config.py::test_allow_inf_nan[{'allow_inf_nan': True}-{'type': 'float', 'allow_inf_nan': False}-{'x': 'nan'}-Err('Input should be a finite number [type=finite_number,')] PASSED [ 0%] tests/test_config.py::test_allow_inf_nan[{'allow_inf_nan': False}-{'type': 'float', 'allow_inf_nan': True}-{'x': 'nan'}-IsInstance() & HasAttributes(x=FunctionCheck(isnan))] PASSED [ 0%] tests/test_config.py::test_hide_input_in_errors[config0-type=string_type, input_value=123, input_type=int] PASSED [ 0%] tests/test_config.py::test_hide_input_in_errors[config1-type=string_type, input_value=123, input_type=int] PASSED [ 0%] tests/test_config.py::test_hide_input_in_errors[config2-type=string_type] PASSED [ 0%] tests/test_docstrings.py::test_docstrings[NotSetType.token] SKIPPED [ 0%] tests/test_docstrings.py::test_readme[NotSetType.token] SKIPPED (got...) [ 0%] tests/test_errors.py::test_pydantic_value_error PASSED [ 0%] tests/test_errors.py::test_pydantic_value_error_none PASSED [ 0%] tests/test_errors.py::test_pydantic_value_error_usage PASSED [ 0%] tests/test_errors.py::test_pydantic_value_error_invalid_dict PASSED [ 1%] tests/test_errors.py::test_pydantic_value_error_invalid_type PASSED [ 1%] tests/test_errors.py::test_validator_instance_plain PASSED [ 1%] tests/test_errors.py::test_validator_instance_after PASSED [ 1%] tests/test_errors.py::test_pydantic_error_type PASSED [ 1%] tests/test_errors.py::test_pydantic_error_type_raise_no_ctx PASSED [ 1%] tests/test_errors.py::test_pydantic_error_type_raise_ctx PASSED [ 1%] tests/test_errors.py::test_error_type[no_such_attribute-Object has no attribute 'wrong_name'-context0] PASSED [ 1%] tests/test_errors.py::test_error_type[json_invalid-Invalid JSON: foobar-context1] PASSED [ 1%] tests/test_errors.py::test_error_type[json_type-JSON input should be string, bytes or bytearray-None] PASSED [ 1%] tests/test_errors.py::test_error_type[recursion_loop-Recursion error - cyclic reference detected-None] PASSED [ 1%] tests/test_errors.py::test_error_type[model_type-Input should be a valid dictionary or instance of Foobar-context4] PASSED [ 1%] tests/test_errors.py::test_error_type[model_attributes_type-Input should be a valid dictionary or object to extract fields from-None] PASSED [ 1%] tests/test_errors.py::test_error_type[dataclass_exact_type-Input should be an instance of Foobar-context6] PASSED [ 1%] tests/test_errors.py::test_error_type[dataclass_type-Input should be a dictionary or an instance of Foobar-context7] PASSED [ 1%] tests/test_errors.py::test_error_type[missing-Field required-None] PASSED [ 1%] tests/test_errors.py::test_error_type[frozen_field-Field is frozen-None] PASSED [ 1%] tests/test_errors.py::test_error_type[frozen_instance-Instance is frozen-None] PASSED [ 1%] tests/test_errors.py::test_error_type[extra_forbidden-Extra inputs are not permitted-None] PASSED [ 1%] tests/test_errors.py::test_error_type[invalid_key-Keys should be strings-None] PASSED [ 1%] tests/test_errors.py::test_error_type[get_attribute_error-Error extracting attribute: foo-context13] PASSED [ 1%] tests/test_errors.py::test_error_type[none_required-Input should be None-None] PASSED [ 1%] tests/test_errors.py::test_error_type[enum-Input should be foo-context15] PASSED [ 1%] tests/test_errors.py::test_error_type[greater_than-Input should be greater than 42.1-context16] PASSED [ 1%] tests/test_errors.py::test_error_type[greater_than-Input should be greater than 42.1-context17] PASSED [ 1%] tests/test_errors.py::test_error_type[greater_than-Input should be greater than 2020-01-01-context18] PASSED [ 1%] tests/test_errors.py::test_error_type[greater_than_equal-Input should be greater than or equal to 42.1-context19] PASSED [ 1%] tests/test_errors.py::test_error_type[less_than-Input should be less than 42.1-context20] PASSED [ 1%] tests/test_errors.py::test_error_type[less_than_equal-Input should be less than or equal to 42.1-context21] PASSED [ 1%] tests/test_errors.py::test_error_type[finite_number-Input should be a finite number-None] PASSED [ 1%] tests/test_errors.py::test_error_type[too_short-Foobar should have at least 42 items after validation, not 40-context23] PASSED [ 1%] tests/test_errors.py::test_error_type[too_long-Foobar should have at most 42 items after validation, not 50-context24] PASSED [ 1%] tests/test_errors.py::test_error_type[string_type-Input should be a valid string-None] PASSED [ 1%] tests/test_errors.py::test_error_type[string_sub_type-Input should be a string, not an instance of a subclass of str-None] PASSED [ 1%] tests/test_errors.py::test_error_type[string_unicode-Input should be a valid string, unable to parse raw data as a unicode string-None] PASSED [ 1%] tests/test_errors.py::test_error_type[string_pattern_mismatch-String should match pattern 'foo'-context28] PASSED [ 1%] tests/test_errors.py::test_error_type[string_too_short-String should have at least 42 characters-context29] PASSED [ 2%] tests/test_errors.py::test_error_type[string_too_long-String should have at most 42 characters-context30] PASSED [ 2%] tests/test_errors.py::test_error_type[dict_type-Input should be a valid dictionary-None] PASSED [ 2%] tests/test_errors.py::test_error_type[mapping_type-Input should be a valid mapping, error: foobar-context32] PASSED [ 2%] tests/test_errors.py::test_error_type[iterable_type-Input should be iterable-None] PASSED [ 2%] tests/test_errors.py::test_error_type[iteration_error-Error iterating over object, error: foobar-context34] PASSED [ 2%] tests/test_errors.py::test_error_type[list_type-Input should be a valid list-None] PASSED [ 2%] tests/test_errors.py::test_error_type[tuple_type-Input should be a valid tuple-None] PASSED [ 2%] tests/test_errors.py::test_error_type[set_type-Input should be a valid set-None] PASSED [ 2%] tests/test_errors.py::test_error_type[bool_type-Input should be a valid boolean-None] PASSED [ 2%] tests/test_errors.py::test_error_type[bool_parsing-Input should be a valid boolean, unable to interpret input-None] PASSED [ 2%] tests/test_errors.py::test_error_type[int_type-Input should be a valid integer-None] PASSED [ 2%] tests/test_errors.py::test_error_type[int_parsing-Input should be a valid integer, unable to parse string as an integer-None] PASSED [ 2%] tests/test_errors.py::test_error_type[int_parsing_size-Unable to parse input string as an integer, exceeded maximum size-None] PASSED [ 2%] tests/test_errors.py::test_error_type[int_from_float-Input should be a valid integer, got a number with a fractional part-None] PASSED [ 2%] tests/test_errors.py::test_error_type[multiple_of-Input should be a multiple of 42.1-context44] PASSED [ 2%] tests/test_errors.py::test_error_type[greater_than-Input should be greater than 42.1-context45] PASSED [ 2%] tests/test_errors.py::test_error_type[greater_than_equal-Input should be greater than or equal to 42.1-context46] PASSED [ 2%] tests/test_errors.py::test_error_type[less_than-Input should be less than 42.1-context47] PASSED [ 2%] tests/test_errors.py::test_error_type[less_than_equal-Input should be less than or equal to 42.1-context48] PASSED [ 2%] tests/test_errors.py::test_error_type[float_type-Input should be a valid number-None] PASSED [ 2%] tests/test_errors.py::test_error_type[float_parsing-Input should be a valid number, unable to parse string as a number-None] PASSED [ 2%] tests/test_errors.py::test_error_type[bytes_type-Input should be a valid bytes-None] PASSED [ 2%] tests/test_errors.py::test_error_type[bytes_too_short-Data should have at least 42 bytes-context52] PASSED [ 2%] tests/test_errors.py::test_error_type[bytes_too_long-Data should have at most 42 bytes-context53] PASSED [ 2%] tests/test_errors.py::test_error_type[value_error-Value error, foobar-context54] PASSED [ 2%] tests/test_errors.py::test_error_type[assertion_error-Assertion failed, foobar-context55] PASSED [ 2%] tests/test_errors.py::test_error_type[literal_error-Input should be foo-context56] PASSED [ 2%] tests/test_errors.py::test_error_type[literal_error-Input should be foo or bar-context57] PASSED [ 2%] tests/test_errors.py::test_error_type[date_type-Input should be a valid date-None] PASSED [ 2%] tests/test_errors.py::test_error_type[date_parsing-Input should be a valid date in the format YYYY-MM-DD, foobar-context59] PASSED [ 2%] tests/test_errors.py::test_error_type[date_from_datetime_parsing-Input should be a valid date or datetime, foobar-context60] PASSED [ 2%] tests/test_errors.py::test_error_type[date_from_datetime_inexact-Datetimes provided to dates should have zero time - e.g. be exact dates-None] PASSED [ 2%] tests/test_errors.py::test_error_type[date_past-Date should be in the past-None] PASSED [ 2%] tests/test_errors.py::test_error_type[date_future-Date should be in the future-None] PASSED [ 2%] tests/test_errors.py::test_error_type[time_type-Input should be a valid time-None] PASSED [ 2%] tests/test_errors.py::test_error_type[time_parsing-Input should be in a valid time format, foobar-context65] PASSED [ 3%] tests/test_errors.py::test_error_type[datetime_type-Input should be a valid datetime-None] PASSED [ 3%] tests/test_errors.py::test_error_type[datetime_parsing-Input should be a valid datetime, foobar-context67] PASSED [ 3%] tests/test_errors.py::test_error_type[datetime_object_invalid-Invalid datetime object, got foobar-context68] PASSED [ 3%] tests/test_errors.py::test_error_type[datetime_past-Input should be in the past-None] PASSED [ 3%] tests/test_errors.py::test_error_type[datetime_future-Input should be in the future-None] PASSED [ 3%] tests/test_errors.py::test_error_type[timezone_naive-Input should not have timezone info-None] PASSED [ 3%] tests/test_errors.py::test_error_type[timezone_aware-Input should have timezone info-None] PASSED [ 3%] tests/test_errors.py::test_error_type[timezone_offset-Timezone offset of 0 required, got 60-context73] PASSED [ 3%] tests/test_errors.py::test_error_type[time_delta_type-Input should be a valid timedelta-None] PASSED [ 3%] tests/test_errors.py::test_error_type[time_delta_parsing-Input should be a valid timedelta, foobar-context75] PASSED [ 3%] tests/test_errors.py::test_error_type[frozen_set_type-Input should be a valid frozenset-None] PASSED [ 3%] tests/test_errors.py::test_error_type[is_instance_of-Input should be an instance of Foo-context77] PASSED [ 3%] tests/test_errors.py::test_error_type[is_subclass_of-Input should be a subclass of Foo-context78] PASSED [ 3%] tests/test_errors.py::test_error_type[callable_type-Input should be callable-None] PASSED [ 3%] tests/test_errors.py::test_error_type[union_tag_invalid-Input tag 'foo' found using bar does not match any of the expected tags: baz-context80] PASSED [ 3%] tests/test_errors.py::test_error_type[union_tag_not_found-Unable to extract tag using discriminator foo-context81] PASSED [ 3%] tests/test_errors.py::test_error_type[arguments_type-Arguments must be a tuple, list or a dictionary-None] PASSED [ 3%] tests/test_errors.py::test_error_type[missing_argument-Missing required argument-None] PASSED [ 3%] tests/test_errors.py::test_error_type[unexpected_keyword_argument-Unexpected keyword argument-None] PASSED [ 3%] tests/test_errors.py::test_error_type[missing_keyword_only_argument-Missing required keyword only argument-None] PASSED [ 3%] tests/test_errors.py::test_error_type[unexpected_positional_argument-Unexpected positional argument-None] PASSED [ 3%] tests/test_errors.py::test_error_type[missing_positional_only_argument-Missing required positional only argument-None] PASSED [ 3%] tests/test_errors.py::test_error_type[multiple_argument_values-Got multiple values for argument-None] PASSED [ 3%] tests/test_errors.py::test_error_type[url_type-URL input should be a string or URL-None] PASSED [ 3%] tests/test_errors.py::test_error_type[url_parsing-Input should be a valid URL, Foobar-context90] PASSED [ 3%] tests/test_errors.py::test_error_type[url_syntax_violation-Input violated strict URL syntax rules, Foobar-context91] PASSED [ 3%] tests/test_errors.py::test_error_type[url_too_long-URL should have at most 42 characters-context92] PASSED [ 3%] tests/test_errors.py::test_error_type[url_scheme-URL scheme should be "foo", "bar" or "spam"-context93] PASSED [ 3%] tests/test_errors.py::test_error_type[uuid_type-UUID input should be a string, bytes or UUID object-None] PASSED [ 3%] tests/test_errors.py::test_error_type[uuid_parsing-Input should be a valid UUID, Foobar-context95] PASSED [ 3%] tests/test_errors.py::test_error_type[uuid_version-UUID version 42 expected-context96] PASSED [ 3%] tests/test_errors.py::test_all_errors_covered PASSED [ 3%] tests/test_errors.py::test_error_decimal PASSED [ 3%] tests/test_errors.py::test_custom_error_decimal PASSED [ 3%] tests/test_errors.py::test_pydantic_value_error_plain[python] PASSED [ 3%] tests/test_errors.py::test_pydantic_value_error_plain[json] PASSED [ 4%] tests/test_errors.py::test_list_omit_exception[python-exception0] PASSED [ 4%] tests/test_errors.py::test_list_omit_exception[python-PydanticOmit] PASSED [ 4%] tests/test_errors.py::test_list_omit_exception[json-exception0] PASSED [ 4%] tests/test_errors.py::test_list_omit_exception[json-PydanticOmit] PASSED [ 4%] tests/test_errors.py::test_omit_exc_repr PASSED [ 4%] tests/test_errors.py::test_type_error_error PASSED [ 4%] tests/test_errors.py::test_does_not_require_context PASSED [ 4%] tests/test_errors.py::test_all_errors PASSED [ 4%] tests/test_errors.py::test_error_on_repr PASSED [ 4%] tests/test_errors.py::test_error_json PASSED [ 4%] tests/test_errors.py::test_error_json_python_error PASSED [ 4%] tests/test_errors.py::test_error_json_cycle PASSED [ 4%] tests/test_errors.py::test_error_json_unknown PASSED [ 4%] tests/test_errors.py::test_error_json_loc PASSED [ 4%] tests/test_errors.py::test_raise_validation_error PASSED [ 4%] tests/test_errors.py::test_raise_validation_error_hide_input[False-type=greater_than, input_value=4, input_type=int] PASSED [ 4%] tests/test_errors.py::test_raise_validation_error_hide_input[True-type=greater_than] PASSED [ 4%] tests/test_errors.py::test_raise_validation_error_json PASSED [ 4%] tests/test_errors.py::test_raise_validation_error_custom PASSED [ 4%] tests/test_errors.py::test_loc_with_dots PASSED [ 4%] tests/test_garbage_collection.py::test_gc_schema_serializer PASSED [ 4%] tests/test_garbage_collection.py::test_gc_schema_validator PASSED [ 4%] tests/test_hypothesis.py::test_datetime_datetime PASSED [ 4%] tests/test_hypothesis.py::test_datetime_int PASSED [ 4%] tests/test_hypothesis.py::test_datetime_binary PASSED [ 4%] tests/test_hypothesis.py::test_definition_simple PASSED [ 4%] tests/test_hypothesis.py::test_recursive PASSED [ 4%] tests/test_hypothesis.py::test_definition_cycles PASSED [ 4%] tests/test_hypothesis.py::test_definition_broken PASSED [ 4%] tests/test_hypothesis.py::test_pytimedelta_as_timedelta PASSED [ 4%] tests/test_hypothesis.py::test_urls_text PASSED [ 4%] tests/test_hypothesis.py::test_multi_host_urls_text PASSED [ 4%] tests/test_hypothesis.py::test_serialize_string PASSED [ 4%] tests/test_isinstance.py::test_isinstance PASSED [ 4%] tests/test_isinstance.py::test_isinstance_strict PASSED [ 4%] tests/test_isinstance.py::test_internal_error PASSED [ 5%] tests/test_isinstance.py::test_omit[python] PASSED [ 5%] tests/test_isinstance.py::test_omit[json] PASSED [ 5%] tests/test_json.py::test_bool[false-False] PASSED [ 5%] tests/test_json.py::test_bool[true-True] PASSED [ 5%] tests/test_json.py::test_bool[0-False] PASSED [ 5%] tests/test_json.py::test_bool[1-True] PASSED [ 5%] tests/test_json.py::test_bool["yes"-True] PASSED [ 5%] tests/test_json.py::test_bool["no"-False] PASSED [ 5%] tests/test_json.py::test_input_types[[1, 2, 3]0] PASSED [ 5%] tests/test_json.py::test_input_types[[1, 2, 3]1] PASSED [ 5%] tests/test_json.py::test_input_types[input_value2] PASSED [ 5%] tests/test_json.py::test_input_type_invalid PASSED [ 5%] tests/test_json.py::test_null PASSED [ 5%] tests/test_json.py::test_str PASSED [ 5%] tests/test_json.py::test_bytes PASSED [ 5%] tests/test_json.py::test_int[123-123] PASSED [ 5%] tests/test_json.py::test_int["123"-123] PASSED [ 5%] tests/test_json.py::test_int[123.0-123] PASSED [ 5%] tests/test_json.py::test_int["123.0"-123] PASSED [ 5%] tests/test_json.py::test_int[10000000000000000000000000000000000000000-10000000000000000000000000000000000000000] PASSED [ 5%] tests/test_json.py::test_int[123.4-expected5] PASSED [ 5%] tests/test_json.py::test_int["123.4"-expected6] PASSED [ 5%] tests/test_json.py::test_int["string"-expected7] PASSED [ 5%] tests/test_json.py::test_float[123.4-123.4] PASSED [ 5%] tests/test_json.py::test_float[123.0-123.0] PASSED [ 5%] tests/test_json.py::test_float[123-123.0] PASSED [ 5%] tests/test_json.py::test_float["123.4"-123.4] PASSED [ 5%] tests/test_json.py::test_float["123.0"-123.0] PASSED [ 5%] tests/test_json.py::test_float["123"-123.0] PASSED [ 5%] tests/test_json.py::test_float["string"-expected6] PASSED [ 5%] tests/test_json.py::test_typed_dict PASSED [ 5%] tests/test_json.py::test_float_no_remainder PASSED [ 5%] tests/test_json.py::test_error_loc PASSED [ 5%] tests/test_json.py::test_dict PASSED [ 5%] tests/test_json.py::test_dict_any_value PASSED [ 5%] tests/test_json.py::test_json_invalid PASSED [ 6%] tests/test_json.py::test_to_json PASSED [ 6%] tests/test_json.py::test_to_json_fallback PASSED [ 6%] tests/test_json.py::test_to_jsonable_python PASSED [ 6%] tests/test_json.py::test_to_jsonable_python_fallback PASSED [ 6%] tests/test_json.py::test_to_jsonable_python_schema_serializer PASSED [ 6%] tests/test_json.py::test_cycle_same PASSED [ 6%] tests/test_json.py::test_cycle_change PASSED [ 6%] tests/test_json.py::test_json_key_fallback PASSED [ 6%] tests/test_json.py::test_bad_repr PASSED [ 6%] tests/test_misc.py::test_module[ValidationError] PASSED [ 6%] tests/test_misc.py::test_module[SchemaValidator] PASSED [ 6%] tests/test_misc.py::test_module[SchemaError] PASSED [ 6%] tests/test_misc.py::test_version PASSED [ 6%] tests/test_misc.py::test_build_profile PASSED [ 6%] tests/test_misc.py::test_build_info PASSED [ 6%] tests/test_misc.py::test_schema_error PASSED [ 6%] tests/test_misc.py::test_validation_error PASSED [ 6%] tests/test_misc.py::test_validation_error_include_context PASSED [ 6%] tests/test_misc.py::test_custom_title PASSED [ 6%] tests/test_misc.py::test_validation_error_multiple PASSED [ 6%] tests/test_misc.py::test_core_schema_type_literal PASSED [ 6%] tests/test_misc.py::test_undefined PASSED [ 6%] tests/test_misc.py::test_unicode_error_input_repr PASSED [ 6%] tests/test_schema_functions.py::test_schema_functions[any_schema-()-{'type': 'any'}] PASSED [ 6%] tests/test_schema_functions.py::test_schema_functions[any_schema-(metadata=['foot', 'spa'])-{'type': 'any', 'metadata': ['foot', 'spa']}] PASSED [ 6%] tests/test_schema_functions.py::test_schema_functions[none_schema-()-{'type': 'none'}] PASSED [ 6%] tests/test_schema_functions.py::test_schema_functions[bool_schema-()-{'type': 'bool'}] PASSED [ 6%] tests/test_schema_functions.py::test_schema_functions[bool_schema-(strict=True)-{'type': 'bool', 'strict': True}] PASSED [ 6%] tests/test_schema_functions.py::test_schema_functions[int_schema-()-{'type': 'int'}] PASSED [ 6%] tests/test_schema_functions.py::test_schema_functions[int_schema-(metadata={'fred'})-{'type': 'int', 'metadata': {'fred'}}] PASSED [ 6%] tests/test_schema_functions.py::test_schema_functions[int_schema-(multiple_of=5, gt=10, lt=20)-{'type': 'int', 'multiple_of': 5, 'gt': 10, 'lt': 20}] PASSED [ 6%] tests/test_schema_functions.py::test_schema_functions[float_schema-()-{'type': 'float'}] PASSED [ 6%] tests/test_schema_functions.py::test_schema_functions[float_schema-(multiple_of=5, gt=1.2)-{'type': 'float', 'multiple_of': 5, 'gt': 1.2}] PASSED [ 6%] tests/test_schema_functions.py::test_schema_functions[str_schema-()-{'type': 'str'}] PASSED [ 6%] tests/test_schema_functions.py::test_schema_functions[str_schema-(min_length=5, max_length=10)-{'type': 'str', 'min_length': 5, 'max_length': 10}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[bytes_schema-()-{'type': 'bytes'}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[bytes_schema-(min_length=5, ref='xx')-{'type': 'bytes', 'min_length': 5, 'ref': 'xx'}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[date_schema-()-{'type': 'date'}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[date_schema-(gt=datetime.date(2020, 1, 1))-{'type': 'date', 'gt': datetime.date(2020, 1, 1)}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[time_schema-()-{'type': 'time', 'microseconds_precision': 'truncate'}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[datetime_schema-()-{'type': 'datetime', 'microseconds_precision': 'truncate'}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[timedelta_schema-()-{'type': 'timedelta', 'microseconds_precision': 'truncate'}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[time_schema-(microseconds_precision='error')-{'type': 'time', 'microseconds_precision': 'error'}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[datetime_schema-(microseconds_precision='error')-{'type': 'datetime', 'microseconds_precision': 'error'}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[timedelta_schema-(microseconds_precision='error')-{'type': 'timedelta', 'microseconds_precision': 'error'}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[literal_schema-(['a', 'b'])-{'type': 'literal', 'expected': ['a', 'b']}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[is_instance_schema-()-{'type': 'is-instance', 'cls': }] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[callable_schema-()-{'type': 'callable'}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[list_schema-()-{'type': 'list'}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[list_schema-({'type': 'int'})-{'type': 'list', 'items_schema': {'type': 'int'}}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[tuple_positional_schema-([{'type': 'int'}])-{'type': 'tuple-positional', 'items_schema': [{'type': 'int'}]}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[tuple_positional_schema-([])-{'type': 'tuple-positional', 'items_schema': []}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[tuple_variable_schema-({'type': 'int'})-{'type': 'tuple-variable', 'items_schema': {'type': 'int'}}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[set_schema-({'type': 'int'}, min_length=4)-{'type': 'set', 'items_schema': {'type': 'int'}, 'min_length': 4}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[frozenset_schema-({'type': 'int'}, max_length=5)-{'type': 'frozenset', 'items_schema': {'type': 'int'}, 'max_length': 5}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[generator_schema-({'type': 'int'})-{'type': 'generator', 'items_schema': {'type': 'int'}}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[dict_schema-()-{'type': 'dict'}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[dict_schema-({'type': 'str'}, {'type': 'int'})-{'type': 'dict', 'keys_schema': {'type': 'str'}, 'values_schema': {'type': 'int'}}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[general_before_validator_function-(, {'type': 'int'})-{'type': 'function-before', 'function': {'type': 'general', 'function': }, 'schema': {'type': 'int'}}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[general_after_validator_function-(, {'type': 'int'})-{'type': 'function-after', 'function': {'type': 'general', 'function': }, 'schema': {'type': 'int'}}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[general_wrap_validator_function-(, {'type': 'int'})-{'type': 'function-wrap', 'function': {'type': 'general', 'function': }, 'schema': {'type': 'int'}}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[general_plain_validator_function-()-{'type': 'function-plain', 'function': {'type': 'general', 'function': }}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[with_default_schema-({'type': 'int'}, default=5)-{'type': 'default', 'schema': {'type': 'int'}, 'default': 5}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[with_default_schema-({'type': 'int'}, default=None)-{'type': 'default', 'schema': {'type': 'int'}, 'default': None}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[with_default_schema-({'type': 'int'}, default_factory=)-{'type': 'default', 'schema': {'type': 'int'}, 'default_factory': }] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[nullable_schema-({'type': 'int'})-{'type': 'nullable', 'schema': {'type': 'int'}}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[union_schema-([{'type': 'int'}, {'type': 'str'}])-{'type': 'union', 'choices': [{'type': 'int'}, {'type': 'str'}]}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[union_schema-([{'type': 'int'}, {'type': 'str'}], custom_error_type='foobar', custom_error_message='This is Foobar')-{'type': 'union', 'choices': [{'type': 'int'}, {'type': 'str'}], 'custom_error_type': 'foobar', 'custom_error_message': 'This is Foobar'}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[tagged_union_schema-({'foo': {'type': 'int'}, 'bar': {'type': 'str'}}, 'foo')-{'type': 'tagged-union', 'choices': {'foo': {'type': 'int'}, 'bar': {'type': 'str'}}, 'discriminator': 'foo'}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[chain_schema-([{'type': 'int'}, {'type': 'str'}])-{'type': 'chain', 'steps': [{'type': 'int'}, {'type': 'str'}]}] PASSED [ 7%] tests/test_schema_functions.py::test_schema_functions[typed_dict_field-({'type': 'int'}, required=True)-{'type': 'typed-dict-field', 'schema': {'type': 'int'}, 'required': True}] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[typed_dict_schema-({'foo': {'type': 'typed-dict-field', 'schema': {'type': 'int'}}})-{'type': 'typed-dict', 'fields': {'foo': {'type': 'typed-dict-field', 'schema': {'type': 'int'}}}}] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[model_field-({'type': 'int'}, validation_alias='foobar')-{'type': 'model-field', 'schema': {'type': 'int'}, 'validation_alias': 'foobar'}] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[model_fields_schema-({'foo': {'type': 'model-field', 'schema': {'type': 'int'}}})-{'type': 'model-fields', 'fields': {'foo': {'type': 'model-field', 'schema': {'type': 'int'}}}}] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[model_schema-(, {'type': 'int'})-{'type': 'model', 'cls': , 'schema': {'type': 'int'}}] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[arguments_parameter-('foo', {'type': 'int'})-{'name': 'foo', 'schema': {'type': 'int'}}] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[arguments_schema-([{'name': 'foo', 'schema': {'type': 'int'}}, {'name': 'bar', 'schema': {'type': 'str'}}], serialization={'type': 'format', 'formatting_string': 'd'})-{'type': 'arguments', 'arguments_schema': [{'name': 'foo', 'schema': {'type': 'int'}}, {'name': 'bar', 'schema': {'type': 'str'}}], 'serialization': {'type': 'format', 'formatting_string': 'd'}}] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[call_schema-({'type': 'arguments', 'arguments_schema': [{'name': 'foo', 'schema': {'type': 'int'}}]}, )-{'type': 'call', 'function': , 'arguments_schema': {'type': 'arguments', 'arguments_schema': [{'name': 'foo', 'schema': {'type': 'int'}}]}}] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[custom_error_schema-({'type': 'int'}, 'foobar', custom_error_message='Hello')-{'type': 'custom-error', 'schema': {'type': 'int'}, 'custom_error_type': 'foobar', 'custom_error_message': 'Hello'}] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[json_schema-({'type': 'int'})-{'type': 'json', 'schema': {'type': 'int'}}] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[url_schema-()-{'type': 'url'}] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[multi_host_url_schema-()-{'type': 'multi-host-url'}] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[lax_or_strict_schema-({'type': 'int'}, {'type': 'int'})-{'type': 'lax-or-strict', 'lax_schema': {'type': 'int'}, 'strict_schema': {'type': 'int'}}] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[json_or_python_schema-({'type': 'int'}, {'type': 'str'})-{'type': 'json-or-python', 'json_schema': {'type': 'int'}, 'python_schema': {'type': 'str'}}] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[is_subclass_schema-()-{'type': 'is-subclass', 'cls': }] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[definitions_schema-({'type': 'int'}, [{'type': 'int'}])-{'type': 'definitions', 'schema': {'type': 'int'}, 'definitions': [{'type': 'int'}]}] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[definition_reference_schema-('foo')-{'type': 'definition-ref', 'schema_ref': 'foo'}] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[dataclass_args_schema-('Foo', [{'name': 'foo', 'type': 'dataclass-field', 'schema': {'type': 'int'}}])-{'type': 'dataclass-args', 'dataclass_name': 'Foo', 'fields': [{'name': 'foo', 'type': 'dataclass-field', 'schema': {'type': 'int'}}]}] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[dataclass_schema-(, {'type': 'int'}, ['foobar'])-{'type': 'dataclass', 'schema': {'type': 'int'}, 'fields': ['foobar'], 'cls': }] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[dataclass_schema-(, {'type': 'int'}, ['foobar'], slots=True)-{'type': 'dataclass', 'schema': {'type': 'int'}, 'fields': ['foobar'], 'cls': , 'slots': True}] PASSED [ 8%] tests/test_schema_functions.py::test_schema_functions[uuid_schema-()-{'type': 'uuid'}] PASSED [ 8%] tests/test_schema_functions.py::test_all_schema_functions_used PASSED [ 8%] tests/test_schema_functions.py::test_invalid_custom_error PASSED [ 8%] tests/test_schema_functions.py::test_invalid_custom_error_type PASSED [ 8%] tests/test_schema_functions.py::test_expected_serialization_types[return_schema0] PASSED [ 8%] tests/test_schema_functions.py::test_expected_serialization_types[return_schema1] PASSED [ 8%] tests/test_strict.py::test_int_strict_argument[python-False-False-123-1230] PASSED [ 8%] tests/test_strict.py::test_int_strict_argument[python-False-False-123-1231] PASSED [ 8%] tests/test_strict.py::test_int_strict_argument[python-None-False-123-1230] PASSED [ 8%] tests/test_strict.py::test_int_strict_argument[python-None-False-123-1231] PASSED [ 8%] tests/test_strict.py::test_int_strict_argument[python-True-False-123-123] PASSED [ 8%] tests/test_strict.py::test_int_strict_argument[python-True-False-123-expected5] PASSED [ 8%] tests/test_strict.py::test_int_strict_argument[python-False-True-123-1230] PASSED [ 8%] tests/test_strict.py::test_int_strict_argument[python-False-True-123-1231] PASSED [ 8%] tests/test_strict.py::test_int_strict_argument[python-None-True-123-123] PASSED [ 8%] tests/test_strict.py::test_int_strict_argument[python-None-True-123-expected9] PASSED [ 8%] tests/test_strict.py::test_int_strict_argument[python-True-True-123-123] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[python-True-True-123-expected11] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[python-False-None-123-1230] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[python-False-None-123-1231] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[python-None-None-123-1230] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[python-None-None-123-1231] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[python-True-None-123-123] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[python-True-None-123-expected17] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[json-False-False-123-1230] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[json-False-False-123-1231] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[json-None-False-123-1230] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[json-None-False-123-1231] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[json-True-False-123-123] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[json-True-False-123-expected5] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[json-False-True-123-1230] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[json-False-True-123-1231] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[json-None-True-123-123] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[json-None-True-123-expected9] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[json-True-True-123-123] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[json-True-True-123-expected11] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[json-False-None-123-1230] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[json-False-None-123-1231] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[json-None-None-123-1230] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[json-None-None-123-1231] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[json-True-None-123-123] PASSED [ 9%] tests/test_strict.py::test_int_strict_argument[json-True-None-123-expected17] PASSED [ 9%] tests/test_typing.py::test_schema_typing PASSED [ 9%] tests/test_typing.py::test_schema_typing_error PASSED [ 9%] tests/test_typing.py::test_schema_validator PASSED [ 9%] tests/test_typing.py::test_schema_validator_wrong PASSED [ 9%] tests/test_typing.py::test_correct_function_signature PASSED [ 9%] tests/test_typing.py::test_wrong_function_signature PASSED [ 9%] tests/test_typing.py::test_type_error PASSED [ 9%] tests/test_typing.py::test_ser_function_plain PASSED [ 9%] tests/test_typing.py::test_ser_function_wrap PASSED [ 9%] tests/test_typing.py::test_error_details PASSED [ 9%] tests/test_validation_context.py::test_after[python] PASSED [ 10%] tests/test_validation_context.py::test_after[json] PASSED [ 10%] tests/test_validation_context.py::test_mutable_context[python] PASSED [ 10%] tests/test_validation_context.py::test_mutable_context[json] PASSED [ 10%] tests/test_validation_context.py::test_typed_dict[python] PASSED [ 10%] tests/test_validation_context.py::test_typed_dict[json] PASSED [ 10%] tests/test_validation_context.py::test_wrap[python] PASSED [ 10%] tests/test_validation_context.py::test_wrap[json] PASSED [ 10%] tests/test_validation_context.py::test_isinstance[python] PASSED [ 10%] tests/test_validation_context.py::test_isinstance[json] PASSED [ 10%] tests/test_validation_context.py::test_validate_assignment_with_context PASSED [ 10%] tests/serializers/test_any.py::test_repr PASSED [ 10%] tests/serializers/test_any.py::test_any_json_round_trip[None] PASSED [ 10%] tests/serializers/test_any.py::test_any_json_round_trip[1] PASSED [ 10%] tests/serializers/test_any.py::test_any_json_round_trip[1.0] PASSED [ 10%] tests/serializers/test_any.py::test_any_json_round_trip[True] PASSED [ 10%] tests/serializers/test_any.py::test_any_json_round_trip[foo] PASSED [ 10%] tests/serializers/test_any.py::test_any_json_round_trip[value5] PASSED [ 10%] tests/serializers/test_any.py::test_any_json_round_trip[value6] PASSED [ 10%] tests/serializers/test_any.py::test_any_python[MyDataclass(a=1, b='foo')-{'a': 1, 'b': 'foo'}-{'a': 1, 'b': 'foo'}] PASSED [ 10%] tests/serializers/test_any.py::test_any_python[MyModel({'a': 1, 'b': 'foo', '__pydantic_serializer__': SchemaSerializer(serializer=Model(\n ModelSerializer {\n class: Py(\n 0x000055b443b9d0d0,\n ),\n serializer: Fields(\n GeneralFieldsSerializer {\n fields: {\n "b": SerField {\n key_py: Py(\n 0x000055b4414e6480,\n ),\n alias: None,\n alias_py: None,\n serializer: Some(\n Any(\n AnySerializer,\n ),\n ),\n required: true,\n },\n "a": SerField {\n key_py: Py(\n 0x000055b4414dcee0,\n ),\n alias: None,\n alias_py: None,\n serializer: Some(\n Any(\n AnySerializer,\n ),\n ),\n required: true,\n },\n },\n computed_fields: None,\n mode: SimpleDict,\n filter: SchemaFilter {\n include: None,\n exclude: None,\n },\n required_fields: 2,\n },\n ),\n has_extra: false,\n root_model: false,\n name: "MyModel",\n },\n), definitions=[])})-{'a': 1, 'b': 'foo'}-{'a': 1, 'b': 'foo'}] PASSED [ 10%] tests/serializers/test_any.py::test_any_python[{1, 2, 3}-{1, 2, 3}-IsList(1, 2, 3, check_order=False)] PASSED [ 10%] tests/serializers/test_any.py::test_any_python[{b'3', 1, '2'}-{b'3', 1, '2'}-IsList(1, '2', '3', check_order=False)] PASSED [ 10%] tests/serializers/test_any.py::test_set_member_db PASSED [ 10%] tests/serializers/test_any.py::test_any_json[None-null] PASSED [ 10%] tests/serializers/test_any.py::test_any_json[1-1] PASSED [ 10%] tests/serializers/test_any.py::test_any_json[value2-"1.123"] PASSED [ 10%] tests/serializers/test_any.py::test_any_json[foobar-"foobar"] PASSED [ 10%] tests/serializers/test_any.py::test_any_json[value4-"foobar"] PASSED [ 10%] tests/serializers/test_any.py::test_any_json[value5-[1,2,3]] PASSED [ 10%] tests/serializers/test_any.py::test_any_json[value6-{"1":2,"a":4}] PASSED [ 10%] tests/serializers/test_any.py::test_any_json[value7-{"1,a,2":3}] PASSED [ 10%] tests/serializers/test_any.py::test_any_json[value8-{"1":3}] PASSED [ 10%] tests/serializers/test_any.py::test_any_json[value9-"2022-12-03T12:30:45"] PASSED [ 10%] tests/serializers/test_any.py::test_any_json[value10-"2032-01-01T01:01:00"] PASSED [ 10%] tests/serializers/test_any.py::test_any_json[value11-"2022-12-03"] PASSED [ 10%] tests/serializers/test_any.py::test_any_json[value12-"12:30:45"] PASSED [ 11%] tests/serializers/test_any.py::test_any_json[value13-"PT7200S"] PASSED [ 11%] tests/serializers/test_any.py::test_any_json[value14-{"a":1,"b":"foo"}] PASSED [ 11%] tests/serializers/test_any.py::test_any_json[value15-{"a":1,"b":"foo"}] PASSED [ 11%] tests/serializers/test_any.py::test_any_json[value16-[{"a":1,"b":"a"},{"a":2,"b":"b"}]] PASSED [ 11%] tests/serializers/test_any.py::test_any_json[value17-"/foo/bar/spam.svg"] PASSED [ 11%] tests/serializers/test_any.py::test_any_json[value18-"C:\\foo\\bar\\spam.svg"] SKIPPED [ 11%] tests/serializers/test_any.py::test_any_json[value19-[1,2]] PASSED [ 11%] tests/serializers/test_any.py::test_other_type PASSED [ 11%] tests/serializers/test_any.py::test_any_json_decode_error[\x81] PASSED [ 11%] tests/serializers/test_any.py::test_any_json_decode_error[value1] PASSED [ 11%] tests/serializers/test_any.py::test_any_with_date_serializer PASSED [ 11%] tests/serializers/test_any.py::test_any_with_timedelta_serializer PASSED [ 11%] tests/serializers/test_any.py::test_any_config_timedelta_float PASSED [ 11%] tests/serializers/test_any.py::test_any_config_timedelta_float_faction PASSED [ 11%] tests/serializers/test_any.py::test_recursion PASSED [ 11%] tests/serializers/test_any.py::test_include_list_tuple[as_list] PASSED [ 11%] tests/serializers/test_any.py::test_include_list_tuple[as_tuple] PASSED [ 11%] tests/serializers/test_any.py::test_include_generator PASSED [ 11%] tests/serializers/test_any.py::test_include_dict PASSED [ 11%] tests/serializers/test_any.py::test_exclude_dict PASSED [ 11%] tests/serializers/test_any.py::test_exclude_unset PASSED [ 11%] tests/serializers/test_any.py::test_unknown_type PASSED [ 11%] tests/serializers/test_any.py::test_unknown_type_fallback PASSED [ 11%] tests/serializers/test_any.py::test_fallback_cycle_same PASSED [ 11%] tests/serializers/test_any.py::test_fallback_cycle_change PASSED [ 11%] tests/serializers/test_any.py::test_enum PASSED [ 11%] tests/serializers/test_any.py::test_base64 PASSED [ 11%] tests/serializers/test_any.py::test_encoding[-kwargs0-"2032-01-01T01:01:00"] PASSED [ 11%] tests/serializers/test_any.py::test_encoding[-kwargs1-"2032-01-01T01:01:00Z"] PASSED [ 11%] tests/serializers/test_any.py::test_encoding[-kwargs2-"2032-01-01T01:01:00+02:00"] PASSED [ 11%] tests/serializers/test_any.py::test_encoding[-kwargs3-"2032-01-01T00:00:00"] PASSED [ 11%] tests/serializers/test_any.py::test_encoding[-kwargs4-"12:34:56"] PASSED [ 11%] tests/serializers/test_any.py::test_encoding[-kwargs5-"P12DT34.000056S"] PASSED [ 11%] tests/serializers/test_any.py::test_encoding[-kwargs6-1036834.000056] PASSED [ 11%] tests/serializers/test_any.py::test_encoding[-kwargs7-"-PT1S"] PASSED [ 11%] tests/serializers/test_any.py::test_encoding[-kwargs8--1.0] PASSED [ 12%] tests/serializers/test_any.py::test_encoding[-kwargs9-[1,2,3]] PASSED [ 12%] tests/serializers/test_any.py::test_encoding[-kwargs10-[1,2,3]] PASSED [ 12%] tests/serializers/test_any.py::test_encoding[-kwargs11-[0,1,2,3]] PASSED [ 12%] tests/serializers/test_any.py::test_encoding[-kwargs12-[0,1,2,3]] PASSED [ 12%] tests/serializers/test_any.py::test_encoding[-kwargs13-[0,1,2,3]] PASSED [ 12%] tests/serializers/test_any.py::test_encoding[-kwargs14-[0,1,2,3]] PASSED [ 12%] tests/serializers/test_any.py::test_encoding[-kwargs15-"this is bytes"] PASSED [ 12%] tests/serializers/test_any.py::test_encoding[-kwargs16-"dGhpcyBpcyBieXRlcw=="] PASSED [ 12%] tests/serializers/test_any.py::test_encoding[-kwargs17-"this is bytes"] PASSED [ 12%] tests/serializers/test_any.py::test_encoding[-kwargs18-"dGhpcyBpcyBieXRlcw=="] PASSED [ 12%] tests/serializers/test_any.py::test_encoding[-kwargs19-"12.34"] PASSED [ 12%] tests/serializers/test_any.py::test_encoding[-kwargs20-1] PASSED [ 12%] tests/serializers/test_any.py::test_encoding[-kwargs21-"b"] PASSED [ 12%] tests/serializers/test_any.py::test_encoding[-kwargs22-[{"a":1,"b":"a"},{"a":2,"b":"b"}]] PASSED [ 12%] tests/serializers/test_any.py::test_any_dataclass PASSED [ 12%] tests/serializers/test_any.py::test_any_model PASSED [ 12%] tests/serializers/test_any.py::test_dataclass_classvar PASSED [ 12%] tests/serializers/test_any.py::test_dataclass_slots PASSED [ 12%] tests/serializers/test_any.py::test_dataclass_slots_init_vars PASSED [ 12%] tests/serializers/test_any.py::test_slots_mixed PASSED [ 12%] tests/serializers/test_bytes.py::test_bytes PASSED [ 12%] tests/serializers/test_bytes.py::test_bytes_invalid_all PASSED [ 12%] tests/serializers/test_bytes.py::test_bytes_invalid_cpython PASSED [ 12%] tests/serializers/test_bytes.py::test_bytes_dict_key PASSED [ 12%] tests/serializers/test_bytes.py::test_bytes_fallback PASSED [ 12%] tests/serializers/test_bytes.py::test_subclass_bytes[foo-foo0-bytes] PASSED [ 12%] tests/serializers/test_bytes.py::test_subclass_bytes[foo-foo0-any] PASSED [ 12%] tests/serializers/test_bytes.py::test_subclass_bytes[foo-foo1-bytes] PASSED [ 12%] tests/serializers/test_bytes.py::test_subclass_bytes[foo-foo1-any] PASSED [ 12%] tests/serializers/test_bytes.py::test_subclass_bytes[foo-value-foo-value-bytes] PASSED [ 12%] tests/serializers/test_bytes.py::test_subclass_bytes[foo-value-foo-value-any] PASSED [ 12%] tests/serializers/test_bytes.py::test_bytes_base64 PASSED [ 12%] tests/serializers/test_bytes.py::test_bytes_base64_dict_key PASSED [ 12%] tests/serializers/test_bytes.py::test_any_bytes_base64 PASSED [ 12%] tests/serializers/test_dataclasses.py::test_dataclass PASSED [ 13%] tests/serializers/test_dataclasses.py::test_serialization_exclude PASSED [ 13%] tests/serializers/test_dataclasses.py::test_serialization_alias PASSED [ 13%] tests/serializers/test_dataclasses.py::test_properties PASSED [ 13%] tests/serializers/test_dataclasses.py::test_slots_mixed PASSED [ 13%] tests/serializers/test_datetime.py::test_datetime PASSED [ 13%] tests/serializers/test_datetime.py::test_datetime_key PASSED [ 13%] tests/serializers/test_datetime.py::test_datetime_json[value0-2022-12-02T12:13:14] PASSED [ 13%] tests/serializers/test_datetime.py::test_datetime_json[value1-2022-12-02T12:00:00Z] PASSED [ 13%] tests/serializers/test_datetime.py::test_datetime_json[value2-2022-12-02T12:00:00+02:00] PASSED [ 13%] tests/serializers/test_datetime.py::test_datetime_json[value3-2022-12-02T12:00:00+02:30] PASSED [ 13%] tests/serializers/test_datetime.py::test_datetime_json[value4-2022-12-02T12:00:00-02:00] PASSED [ 13%] tests/serializers/test_datetime.py::test_datetime_json[value5-2022-12-02T12:00:00-02:30] PASSED [ 13%] tests/serializers/test_datetime.py::test_datetime_json[value6-2022-12-02T12:13:14.123456] PASSED [ 13%] tests/serializers/test_datetime.py::test_datetime_json[value7-2022-12-02T12:13:14.000123] PASSED [ 13%] tests/serializers/test_datetime.py::test_datetime_json[value8-2022-12-02T12:13:14.123] PASSED [ 13%] tests/serializers/test_datetime.py::test_datetime_json[value9-2022-12-02T12:13:14.123456-02:00] PASSED [ 13%] tests/serializers/test_datetime.py::test_date PASSED [ 13%] tests/serializers/test_datetime.py::test_date_key PASSED [ 13%] tests/serializers/test_datetime.py::test_time PASSED [ 13%] tests/serializers/test_datetime.py::test_time_key PASSED [ 13%] tests/serializers/test_datetime.py::test_any_datetime_key PASSED [ 13%] tests/serializers/test_definitions.py::test_custom_ser PASSED [ 13%] tests/serializers/test_definitions.py::test_ignored_def PASSED [ 13%] tests/serializers/test_definitions.py::test_def_error PASSED [ 13%] tests/serializers/test_definitions.py::test_repeated_ref PASSED [ 13%] tests/serializers/test_definitions.py::test_repeat_after PASSED [ 13%] tests/serializers/test_definitions.py::test_deep PASSED [ 13%] tests/serializers/test_definitions.py::test_use_after PASSED [ 13%] tests/serializers/test_definitions_recursive.py::test_branch_nullable PASSED [ 13%] tests/serializers/test_definitions_recursive.py::test_cyclic_recursion PASSED [ 13%] tests/serializers/test_definitions_recursive.py::test_custom_ser PASSED [ 13%] tests/serializers/test_definitions_recursive.py::test_recursive_function PASSED [ 13%] tests/serializers/test_definitions_recursive.py::test_recursive_function_deeper_ref PASSED [ 13%] tests/serializers/test_dict.py::test_dict_str_int PASSED [ 13%] tests/serializers/test_dict.py::test_dict_any_any PASSED [ 13%] tests/serializers/test_dict.py::test_include PASSED [ 14%] tests/serializers/test_dict.py::test_exclude PASSED [ 14%] tests/serializers/test_dict.py::test_filter PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args[params0] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args[params1] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args[params2] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args[params3] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args[params4] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args[params5] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args[params6] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args[params7] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args[params8] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args[params9] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args[params10] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args[params11] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args_nested[params0] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args_nested[params1] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args_nested[params2] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args_nested[params3] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args_nested[params4] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args_nested[params5] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args_nested[params6] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_args_nested[params7] PASSED [ 14%] tests/serializers/test_dict.py::test_filter_int PASSED [ 14%] tests/serializers/test_dict.py::test_filter_runtime PASSED [ 14%] tests/serializers/test_dict.py::test_filter_runtime_int PASSED [ 14%] tests/serializers/test_dict.py::test_include_error[foobar-Input should be a valid set] PASSED [ 14%] tests/serializers/test_dict.py::test_include_error[include_value1-Input should be a valid set] PASSED [ 14%] tests/serializers/test_dict.py::test_include_error[include_value2-Input should be a valid integer, got a number with a fractional part] PASSED [ 14%] tests/serializers/test_format.py::test_format[42.12345-0.4f-42.12345-"42.1234"] PASSED [ 14%] tests/serializers/test_format.py::test_format[42.12-0.4f-42.12-"42.1200"] PASSED [ 14%] tests/serializers/test_format.py::test_format[42.12--42.12-"42.12"] PASSED [ 14%] tests/serializers/test_format.py::test_format[42.1234567--42.1234567-"42.1234567"] PASSED [ 14%] tests/serializers/test_format.py::test_format[value4-%Y-%m-%d-expected_python4-"2022-11-20"] PASSED [ 14%] tests/serializers/test_format.py::test_format[foo-^5s-foo-" foo "] PASSED [ 14%] tests/serializers/test_format.py::test_format[value6--expected_python6-"ebcdab58-6eb8-46fb-a190-d07a33e9eac8"] PASSED [ 14%] tests/serializers/test_format.py::test_format_when_used_unless_none PASSED [ 15%] tests/serializers/test_format.py::test_format_when_used_json PASSED [ 15%] tests/serializers/test_format.py::test_to_string_when_used_always PASSED [ 15%] tests/serializers/test_format.py::test_to_string_when_used_unless_none PASSED [ 15%] tests/serializers/test_format.py::test_format_error PASSED [ 15%] tests/serializers/test_format.py::test_dict_keys PASSED [ 15%] tests/serializers/test_format.py::test_format_fallback PASSED [ 15%] tests/serializers/test_format.py::test_to_string PASSED [ 15%] tests/serializers/test_functions.py::test_function_general[None-None-"None"] PASSED [ 15%] tests/serializers/test_functions.py::test_function_general[1-1-"1"] PASSED [ 15%] tests/serializers/test_functions.py::test_function_general[value2-[1, 2, 3]-"[1, 2, 3]"] PASSED [ 15%] tests/serializers/test_functions.py::test_function_no_info[None-None-"None"] PASSED [ 15%] tests/serializers/test_functions.py::test_function_no_info[1-1-"1"] PASSED [ 15%] tests/serializers/test_functions.py::test_function_no_info[value2-[1, 2, 3]-"[1, 2, 3]"] PASSED [ 15%] tests/serializers/test_functions.py::test_function_args PASSED [ 15%] tests/serializers/test_functions.py::test_function_error PASSED [ 15%] tests/serializers/test_functions.py::test_function_error_keys PASSED [ 15%] tests/serializers/test_functions.py::test_function_known_type PASSED [ 15%] tests/serializers/test_functions.py::test_function_args_str PASSED [ 15%] tests/serializers/test_functions.py::test_dict_keys PASSED [ 15%] tests/serializers/test_functions.py::test_function_as_key PASSED [ 15%] tests/serializers/test_functions.py::test_function_only_json PASSED [ 15%] tests/serializers/test_functions.py::test_function_unless_none PASSED [ 15%] tests/serializers/test_functions.py::test_wrong_return_type PASSED [ 15%] tests/serializers/test_functions.py::test_function_wrap PASSED [ 15%] tests/serializers/test_functions.py::test_function_wrap_return_scheam PASSED [ 15%] tests/serializers/test_functions.py::test_function_wrap_no_info PASSED [ 15%] tests/serializers/test_functions.py::test_function_wrap_custom_schema PASSED [ 15%] tests/serializers/test_functions.py::test_function_wrap_fallback PASSED [ 15%] tests/serializers/test_functions.py::test_deque PASSED [ 15%] tests/serializers/test_functions.py::test_custom_mapping PASSED [ 15%] tests/serializers/test_functions.py::test_function_wrap_model PASSED [ 15%] tests/serializers/test_functions.py::test_function_plain_model PASSED [ 15%] tests/serializers/test_functions.py::test_wrap_return_type PASSED [ 15%] tests/serializers/test_functions.py::test_raise_unexpected PASSED [ 15%] tests/serializers/test_functions.py::test_pydantic_serialization_unexpected_value PASSED [ 15%] tests/serializers/test_functions.py::test_function_after_preserves_wrapped_serialization PASSED [ 16%] tests/serializers/test_functions.py::test_function_wrap_preserves_wrapped_serialization PASSED [ 16%] tests/serializers/test_functions.py::test_recursive_call PASSED [ 16%] tests/serializers/test_functions.py::test_serialize_pattern PASSED [ 16%] tests/serializers/test_generator.py::test_generator_any_iter PASSED [ 16%] tests/serializers/test_generator.py::test_any_iter PASSED [ 16%] tests/serializers/test_generator.py::test_generator_any PASSED [ 16%] tests/serializers/test_generator.py::test_generator_int PASSED [ 16%] tests/serializers/test_generator.py::test_include PASSED [ 16%] tests/serializers/test_generator.py::test_custom_serializer PASSED [ 16%] tests/serializers/test_json.py::test_json_int PASSED [ 16%] tests/serializers/test_json.py::test_list_json PASSED [ 16%] tests/serializers/test_json.py::test_dict_key_json PASSED [ 16%] tests/serializers/test_json.py::test_custom_serializer PASSED [ 16%] tests/serializers/test_json_or_python.py::test_json_or_python PASSED [ 16%] tests/serializers/test_list_tuple.py::test_list_any PASSED [ 16%] tests/serializers/test_list_tuple.py::test_list_fallback PASSED [ 16%] tests/serializers/test_list_tuple.py::test_list_str_fallback PASSED [ 16%] tests/serializers/test_list_tuple.py::test_tuple_any PASSED [ 16%] tests/serializers/test_list_tuple.py::test_include[list_schema-as_list] PASSED [ 16%] tests/serializers/test_list_tuple.py::test_include[tuple_variable_schema-as_tuple] PASSED [ 16%] tests/serializers/test_list_tuple.py::test_negative[list_schema-as_list] PASSED [ 16%] tests/serializers/test_list_tuple.py::test_negative[tuple_variable_schema-as_tuple] PASSED [ 16%] tests/serializers/test_list_tuple.py::test_include_dict[list_schema-as_list] PASSED [ 16%] tests/serializers/test_list_tuple.py::test_include_dict[tuple_variable_schema-as_tuple] PASSED [ 16%] tests/serializers/test_list_tuple.py::test_exclude[list_schema-as_list] PASSED [ 16%] tests/serializers/test_list_tuple.py::test_exclude[tuple_variable_schema-as_tuple] PASSED [ 16%] tests/serializers/test_list_tuple.py::test_filter[include0-exclude0] PASSED [ 16%] tests/serializers/test_list_tuple.py::test_filter[include1-exclude1] PASSED [ 16%] tests/serializers/test_list_tuple.py::test_filter_runtime PASSED [ 16%] tests/serializers/test_list_tuple.py::test_include_error[list_schema-foobar-Input should be a valid set] PASSED [ 16%] tests/serializers/test_list_tuple.py::test_include_error[list_schema-include_value1-Input should be a valid set] PASSED [ 16%] tests/serializers/test_list_tuple.py::test_include_error[list_schema-include_value2-Input should be a valid integer, got a number with a fractional part] PASSED [ 16%] tests/serializers/test_list_tuple.py::test_include_error[list_schema-include_value3-Input should be a valid integer, unable to parse string as an integer] PASSED [ 16%] tests/serializers/test_list_tuple.py::test_include_error[tuple_variable_schema-foobar-Input should be a valid set] PASSED [ 16%] tests/serializers/test_list_tuple.py::test_include_error[tuple_variable_schema-include_value1-Input should be a valid set] PASSED [ 16%] tests/serializers/test_list_tuple.py::test_include_error[tuple_variable_schema-include_value2-Input should be a valid integer, got a number with a fractional part] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_include_error[tuple_variable_schema-include_value3-Input should be a valid integer, unable to parse string as an integer] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_runtime_more[include0-None-expected0] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_runtime_more[include1-exclude1-expected1] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_runtime_more[include2-exclude2-expected2] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_runtime_more[include3-exclude3-expected3] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_runtime_more[include4-exclude4-expected4] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_runtime_more[include5-exclude5-expected5] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_runtime_more[include6-exclude6-expected6] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_include_error_call_time[include0-None-list_schema-as_list] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_include_error_call_time[include0-None-tuple_variable_schema-as_tuple] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_include_error_call_time[include1-None-list_schema-as_list] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_include_error_call_time[include1-None-tuple_variable_schema-as_tuple] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_include_error_call_time[1-None-list_schema-as_list] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_include_error_call_time[1-None-tuple_variable_schema-as_tuple] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_include_error_call_time[None-exclude3-list_schema-as_list] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_include_error_call_time[None-exclude3-tuple_variable_schema-as_tuple] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_include_error_call_time[None-exclude4-list_schema-as_list] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_include_error_call_time[None-exclude4-tuple_variable_schema-as_tuple] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_include_error_call_time[None-1-list_schema-as_list] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_include_error_call_time[None-1-tuple_variable_schema-as_tuple] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_tuple_fallback PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_args[params0] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_args[params1] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_args[params2] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_args[params3] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_args[params4] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_args[params5] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_args[params6] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_args[params7] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_args[params8] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_args[params9] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_args[params10] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_args[params11] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_args[params12] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_args[params13] PASSED [ 17%] tests/serializers/test_list_tuple.py::test_filter_args[params14] PASSED [ 18%] tests/serializers/test_list_tuple.py::test_filter_args[params15] PASSED [ 18%] tests/serializers/test_list_tuple.py::test_filter_args[params16] PASSED [ 18%] tests/serializers/test_list_tuple.py::test_filter_args_nested[params0] PASSED [ 18%] tests/serializers/test_list_tuple.py::test_filter_args_nested[params1] PASSED [ 18%] tests/serializers/test_list_tuple.py::test_filter_args_nested[params2] PASSED [ 18%] tests/serializers/test_list_tuple.py::test_filter_args_nested[params3] PASSED [ 18%] tests/serializers/test_list_tuple.py::test_filter_args_nested[params4] PASSED [ 18%] tests/serializers/test_list_tuple.py::test_filter_list_of_dicts PASSED [ 18%] tests/serializers/test_list_tuple.py::test_positional_tuple PASSED [ 18%] tests/serializers/test_list_tuple.py::test_function_positional_tuple PASSED [ 18%] tests/serializers/test_list_tuple.py::test_list_dict_key PASSED [ 18%] tests/serializers/test_list_tuple.py::test_tuple_var_dict_key PASSED [ 18%] tests/serializers/test_list_tuple.py::test_tuple_pos_dict_key PASSED [ 18%] tests/serializers/test_literal.py::test_int_literal PASSED [ 18%] tests/serializers/test_literal.py::test_str_literal PASSED [ 18%] tests/serializers/test_literal.py::test_other_literal PASSED [ 18%] tests/serializers/test_literal.py::test_empty_literal PASSED [ 18%] tests/serializers/test_literal.py::test_bool_literal PASSED [ 18%] tests/serializers/test_misc.py::test_invalid_ser_schema[ser_schema0-Unable to extract tag using discriminator 'type'] PASSED [ 18%] tests/serializers/test_misc.py::test_invalid_ser_schema[ser_schema1-Input tag 'unknown' found using 'type' does not match any of the expected tags:] PASSED [ 18%] tests/serializers/test_model.py::test_model PASSED [ 18%] tests/serializers/test_model.py::test_dataclass PASSED [ 18%] tests/serializers/test_model.py::test_model_allow_extra PASSED [ 18%] tests/serializers/test_model.py::test_model_recursive_in_extra PASSED [ 18%] tests/serializers/test_model.py::test_include_exclude_args[params0] PASSED [ 18%] tests/serializers/test_model.py::test_include_exclude_args[params1] PASSED [ 18%] tests/serializers/test_model.py::test_include_exclude_args[params2] PASSED [ 18%] tests/serializers/test_model.py::test_include_exclude_args[params3] PASSED [ 18%] tests/serializers/test_model.py::test_include_exclude_args[params4] PASSED [ 18%] tests/serializers/test_model.py::test_include_exclude_args[params5] PASSED [ 18%] tests/serializers/test_model.py::test_include_exclude_args[params6] PASSED [ 18%] tests/serializers/test_model.py::test_include_exclude_args[params7] PASSED [ 18%] tests/serializers/test_model.py::test_include_exclude_args[params8] PASSED [ 18%] tests/serializers/test_model.py::test_include_exclude_args[params9] PASSED [ 18%] tests/serializers/test_model.py::test_include_exclude_args[params10] PASSED [ 19%] tests/serializers/test_model.py::test_include_exclude_args[params11] PASSED [ 19%] tests/serializers/test_model.py::test_alias PASSED [ 19%] tests/serializers/test_model.py::test_model_wrong_warn PASSED [ 19%] tests/serializers/test_model.py::test_exclude_none PASSED [ 19%] tests/serializers/test_model.py::test_exclude_unset PASSED [ 19%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Normal nested __all__] PASSED [ 19%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Merge sub dicts 1] PASSED [ 19%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Merge sub sets 2] PASSED [ 19%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Merge sub sets 3] PASSED [ 19%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Merge sub sets 1] PASSED [ 19%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Merge sub dict-set] PASSED [ 19%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Different keys 1] PASSED [ 19%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Different keys 2] PASSED [ 19%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Different keys 3] PASSED [ 19%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Nested different keys 1] PASSED [ 19%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Nested different keys 2] PASSED [ 19%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Nested different keys 3] PASSED [ 19%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Ignore __all__ for index with defined exclude 1] PASSED [ 19%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Ignore __all__ for index with defined exclude 2] PASSED [ 19%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Ignore __all__ for index with defined exclude 3] PASSED [ 19%] tests/serializers/test_model.py::test_function_plain_field_serializer_to_python PASSED [ 19%] tests/serializers/test_model.py::test_function_wrap_field_serializer_to_python PASSED [ 19%] tests/serializers/test_model.py::test_function_plain_field_serializer_to_json PASSED [ 19%] tests/serializers/test_model.py::test_function_wrap_field_serializer_to_json PASSED [ 19%] tests/serializers/test_model.py::test_property PASSED [ 19%] tests/serializers/test_model.py::test_property_alias PASSED [ 19%] tests/serializers/test_model.py::test_computed_field_to_python_exclude_none PASSED [ 19%] tests/serializers/test_model.py::test_cached_property_alias PASSED [ 19%] tests/serializers/test_model.py::test_property_attribute_error PASSED [ 19%] tests/serializers/test_model.py::test_property_other_error PASSED [ 19%] tests/serializers/test_model.py::test_property_include_exclude PASSED [ 19%] tests/serializers/test_model.py::test_property_setter PASSED [ 19%] tests/serializers/test_model.py::test_extra PASSED [ 19%] tests/serializers/test_model.py::test_extra_config PASSED [ 19%] tests/serializers/test_model.py::test_extra_config_nested_model PASSED [ 19%] tests/serializers/test_model_root.py::test_model_root PASSED [ 20%] tests/serializers/test_model_root.py::test_function_plain_field_serializer_to_python PASSED [ 20%] tests/serializers/test_model_root.py::test_function_wrap_field_serializer_to_python PASSED [ 20%] tests/serializers/test_model_root.py::test_function_plain_field_serializer_to_json PASSED [ 20%] tests/serializers/test_model_root.py::test_function_wrap_field_serializer_to_json PASSED [ 20%] tests/serializers/test_model_root.py::test_root_model_dump_with_base_model[BR] PASSED [ 20%] tests/serializers/test_model_root.py::test_root_model_dump_with_base_model[RB] PASSED [ 20%] tests/serializers/test_model_root.py::test_construct_nested PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback[int] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback[bool] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback[float] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback[none] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback[str] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback[bytes] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback[datetime] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback[date] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback[time] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback[timedelta] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback[url] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback[multi-host-url] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback[list] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback[tuple-variable] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback[dict] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback[set] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback[frozenset] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback_key[int] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback_key[bool] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback_key[float] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback_key[none] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback_key[str] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback_key[bytes] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback_key[datetime] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback_key[date] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback_key[time] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback_key[timedelta] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback_key[url] PASSED [ 20%] tests/serializers/test_none.py::test_none_fallback_key[multi-host-url] PASSED [ 21%] tests/serializers/test_nullable.py::test_nullable PASSED [ 21%] tests/serializers/test_other.py::test_chain PASSED [ 21%] tests/serializers/test_other.py::test_function_plain PASSED [ 21%] tests/serializers/test_other.py::test_function_before PASSED [ 21%] tests/serializers/test_other.py::test_function_after PASSED [ 21%] tests/serializers/test_other.py::test_lax_or_strict PASSED [ 21%] tests/serializers/test_other.py::test_lax_or_strict_custom_ser PASSED [ 21%] tests/serializers/test_set_frozenset.py::test_set_any PASSED [ 21%] tests/serializers/test_set_frozenset.py::test_frozenset_any PASSED [ 21%] tests/serializers/test_set_frozenset.py::test_set_fallback[apple-apple-`set\\[int\\]` but got `str`] PASSED [ 21%] tests/serializers/test_set_frozenset.py::test_set_fallback[input_value1-json_output1-`set\\[int\\]` but got `list`] PASSED [ 21%] tests/serializers/test_set_frozenset.py::test_set_fallback[input_value2-json_output2-`set\\[int\\]` but got `tuple`] PASSED [ 21%] tests/serializers/test_set_frozenset.py::test_set_fallback[input_value3-json_output3-`set\\[int\\]` but got `frozenset`] PASSED [ 21%] tests/serializers/test_set_frozenset.py::test_set_fallback[input_value4-json_output4-`int` but got `str`] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[int-1-1-10-None] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[int-1-1-10-any] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[int-10000000000000000000000000000000000000000-10000000000000000000000000000000000000000-10000000000000000000000000000000000000000-None] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[int-10000000000000000000000000000000000000000-10000000000000000000000000000000000000000-10000000000000000000000000000000000000000-any] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[bool-True-True-true-None] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[bool-True-True-true-any] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[bool-False-False-false-None] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[bool-False-False-false-any] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[float-1.0-1.0-1.0-None] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[float-1.0-1.0-1.0-any] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[float-42.31415-42.31415-42.31415-None] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[float-42.31415-42.31415-42.31415-any] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[none-None-None-null-None] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[none-None-None-null-any] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[int-42-42-42-None] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[int-42-42-42-any] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[int-1-1-11-None] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[int-1-1-11-any] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[float-42.0-42.0-42.0-None] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers[float-42.0-42.0-42.0-any] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers_fallback[int] PASSED [ 21%] tests/serializers/test_simple.py::test_simple_serializers_fallback[bool] PASSED [ 22%] tests/serializers/test_simple.py::test_simple_serializers_fallback[float] PASSED [ 22%] tests/serializers/test_simple.py::test_simple_serializers_fallback[none] PASSED [ 22%] tests/serializers/test_string.py::test_str PASSED [ 22%] tests/serializers/test_string.py::test_str_fallback PASSED [ 22%] tests/serializers/test_string.py::test_str_no_warnings PASSED [ 22%] tests/serializers/test_string.py::test_subclass_str[foo-foo0-str] PASSED [ 22%] tests/serializers/test_string.py::test_subclass_str[foo-foo0-any] PASSED [ 22%] tests/serializers/test_string.py::test_subclass_str[foo-foo1-str] PASSED [ 22%] tests/serializers/test_string.py::test_subclass_str[foo-foo1-any] PASSED [ 22%] tests/serializers/test_string.py::test_subclass_str[foo-value-foo-value-str] PASSED [ 22%] tests/serializers/test_string.py::test_subclass_str[foo-value-foo-value-any] PASSED [ 22%] tests/serializers/test_timedelta.py::test_timedelta PASSED [ 22%] tests/serializers/test_timedelta.py::test_timedelta_float PASSED [ 22%] tests/serializers/test_timedelta.py::test_timedelta_key PASSED [ 22%] tests/serializers/test_typed_dict.py::test_typed_dict[extra_behavior_kw0] PASSED [ 22%] tests/serializers/test_typed_dict.py::test_typed_dict[extra_behavior_kw1] PASSED [ 22%] tests/serializers/test_typed_dict.py::test_typed_dict[extra_behavior_kw2] PASSED [ 22%] tests/serializers/test_typed_dict.py::test_typed_dict_fields_has_type PASSED [ 22%] tests/serializers/test_typed_dict.py::test_typed_dict_allow_extra PASSED [ 22%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params0] PASSED [ 22%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params1] PASSED [ 22%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params2] PASSED [ 22%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params3] PASSED [ 22%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params4] PASSED [ 22%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params5] PASSED [ 22%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params6] PASSED [ 22%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params7] PASSED [ 22%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params8] PASSED [ 22%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params9] PASSED [ 22%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params10] PASSED [ 22%] tests/serializers/test_typed_dict.py::test_include_exclude_schema PASSED [ 22%] tests/serializers/test_typed_dict.py::test_alias PASSED [ 22%] tests/serializers/test_typed_dict.py::test_exclude_none PASSED [ 22%] tests/serializers/test_typed_dict.py::test_exclude_default PASSED [ 22%] tests/serializers/test_typed_dict.py::test_function_plain_field_serializer_to_python PASSED [ 22%] tests/serializers/test_typed_dict.py::test_function_wrap_field_serializer_to_python PASSED [ 23%] tests/serializers/test_typed_dict.py::test_function_plain_field_serializer_to_json PASSED [ 23%] tests/serializers/test_typed_dict.py::test_function_plain_field_serializer_to_json_no_info PASSED [ 23%] tests/serializers/test_typed_dict.py::test_function_wrap_field_serializer_to_json PASSED [ 23%] tests/serializers/test_typed_dict.py::test_function_wrap_field_serializer_to_json_no_info PASSED [ 23%] tests/serializers/test_union.py::test_union_bool_int[True-True] PASSED [ 23%] tests/serializers/test_union.py::test_union_bool_int[False-False] PASSED [ 23%] tests/serializers/test_union.py::test_union_bool_int[1-1] PASSED [ 23%] tests/serializers/test_union.py::test_union_bool_int[123-123] PASSED [ 23%] tests/serializers/test_union.py::test_union_bool_int[-42--42] PASSED [ 23%] tests/serializers/test_union.py::test_union_error PASSED [ 23%] tests/serializers/test_union.py::test_model_a[input_value0] PASSED [ 23%] tests/serializers/test_union.py::test_model_a[input_value1] PASSED [ 23%] tests/serializers/test_union.py::test_model_b[input_value0] PASSED [ 23%] tests/serializers/test_union.py::test_model_b[input_value1] PASSED [ 23%] tests/serializers/test_union.py::test_keys PASSED [ 23%] tests/serializers/test_union.py::test_union_of_functions PASSED [ 23%] tests/serializers/test_union.py::test_typed_dict_literal PASSED [ 23%] tests/serializers/test_union.py::test_typed_dict_missing PASSED [ 23%] tests/serializers/test_union.py::test_typed_dict_extra PASSED [ 23%] tests/serializers/test_union.py::test_typed_dict_different_fields PASSED [ 23%] tests/serializers/test_union.py::test_dataclass_union PASSED [ 23%] tests/serializers/test_union.py::test_model_union PASSED [ 23%] tests/serializers/test_union.py::test_union_literal_with_other_type[False-false] PASSED [ 23%] tests/serializers/test_union.py::test_union_literal_with_other_type[abc-"abc"] PASSED [ 23%] tests/serializers/test_url.py::test_url PASSED [ 23%] tests/serializers/test_url.py::test_multi_host_url PASSED [ 23%] tests/serializers/test_url.py::test_url_dict_keys PASSED [ 23%] tests/serializers/test_url.py::test_multi_host_url_dict_keys PASSED [ 23%] tests/serializers/test_url.py::test_any PASSED [ 23%] tests/serializers/test_url.py::test_custom_serializer PASSED [ 23%] tests/serializers/test_url.py::test_url_subclass[Url] PASSED [ 23%] tests/serializers/test_url.py::test_url_subclass[MultiHostUrl] PASSED [ 23%] tests/serializers/test_url.py::test_url_pickle[value0] PASSED [ 23%] tests/serializers/test_url.py::test_url_pickle[value1] PASSED [ 23%] tests/serializers/test_uuid.py::test_uuid PASSED [ 23%] tests/serializers/test_uuid.py::test_uuid_key PASSED [ 24%] tests/serializers/test_uuid.py::test_uuid_json[value0-12345678-1234-5678-1234-567812345678] PASSED [ 24%] tests/serializers/test_uuid.py::test_uuid_json[value1-550e8400-e29b-41d4-a716-446655440000] PASSED [ 24%] tests/serializers/test_uuid.py::test_uuid_json[value2-123e4567-e89b-12d3-a456-426655440000] PASSED [ 24%] tests/serializers/test_uuid.py::test_uuid_json[value3-00000000-0000-0000-0000-000000000000] PASSED [ 24%] tests/serializers/test_uuid.py::test_any_uuid_key PASSED [ 24%] tests/validators/test_arguments.py::test_args_kwargs PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[python-(1, 'a', True)-((1, 'a', True), {})] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[python-[1, 'a', True]-((1, 'a', True), {})] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[python-ArgsKwargs((1, 'a', True))-((1, 'a', True), {})] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[python-(1, 'a', 'true')-((1, 'a', True), {})] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[python-'x'-Err('type=arguments_type,')] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[python-ArgsKwargs((1, 'a', True), {'x': 1})-Err('', errors=[{'type': 'unexpected_keyword_argument', 'loc': ('x',), 'msg': 'Unexpected keyword argument', 'input': 1}])] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[python-[1]-Err('', errors=[{'type': 'missing_positional_only_argument', 'loc': (1,), 'msg': 'Missing required positional only argument', 'input': [1]}, {'type': 'missing_positional_only_argument', 'loc': (2,), 'msg': 'Missing required positional only argument', 'input': [1]}])] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[python-[1, 'a', True, 4]-Err('', errors=[{'type': 'unexpected_positional_argument', 'loc': (3,), 'msg': 'Unexpected positional argument', 'input': 4}])] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[python-[1, 'a', True, 4, 5]-Err('', errors=[{'type': 'unexpected_positional_argument', 'loc': (3,), 'msg': 'Unexpected positional argument', 'input': 4}, {'type': 'unexpected_positional_argument', 'loc': (4,), 'msg': 'Unexpected positional argument', 'input': 5}])] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[python-('x', 'a', 'wrong')-Err('', errors=[{'type': 'int_parsing', 'loc': (0,), 'msg': 'Input should be a valid integer, unable to parse string as an integer', 'input': 'x'}, {'type': 'bool_parsing', 'loc': (2,), 'msg': 'Input should be a valid boolean, unable to interpret input', 'input': 'wrong'}])] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[python-ArgsKwargs(())-Err('3 validation errors for arguments', errors=[{'type': 'missing_positional_only_argument', 'loc': (0,), 'msg': 'Missing required positional only argument', 'input': ArgsKwargs(())}, {'type': 'missing_positional_only_argument', 'loc': (1,), 'msg': 'Missing required positional only argument', 'input': ArgsKwargs(())}, {'type': 'missing_positional_only_argument', 'loc': (2,), 'msg': 'Missing required positional only argument', 'input': ArgsKwargs(())}])] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[json-(1, 'a', True)-((1, 'a', True), {})] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[json-[1, 'a', True]-((1, 'a', True), {})] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[json-ArgsKwargs((1, 'a', True))-((1, 'a', True), {})] SKIPPED [ 24%] tests/validators/test_arguments.py::test_positional_args[json-(1, 'a', 'true')-((1, 'a', True), {})] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[json-'x'-Err('type=arguments_type,')] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[json-ArgsKwargs((1, 'a', True), {'x': 1})-Err('', errors=[{'type': 'unexpected_keyword_argument', 'loc': ('x',), 'msg': 'Unexpected keyword argument', 'input': 1}])] SKIPPED [ 24%] tests/validators/test_arguments.py::test_positional_args[json-[1]-Err('', errors=[{'type': 'missing_positional_only_argument', 'loc': (1,), 'msg': 'Missing required positional only argument', 'input': [1]}, {'type': 'missing_positional_only_argument', 'loc': (2,), 'msg': 'Missing required positional only argument', 'input': [1]}])] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[json-[1, 'a', True, 4]-Err('', errors=[{'type': 'unexpected_positional_argument', 'loc': (3,), 'msg': 'Unexpected positional argument', 'input': 4}])] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[json-[1, 'a', True, 4, 5]-Err('', errors=[{'type': 'unexpected_positional_argument', 'loc': (3,), 'msg': 'Unexpected positional argument', 'input': 4}, {'type': 'unexpected_positional_argument', 'loc': (4,), 'msg': 'Unexpected positional argument', 'input': 5}])] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[json-('x', 'a', 'wrong')-Err('', errors=[{'type': 'int_parsing', 'loc': (0,), 'msg': 'Input should be a valid integer, unable to parse string as an integer', 'input': 'x'}, {'type': 'bool_parsing', 'loc': (2,), 'msg': 'Input should be a valid boolean, unable to interpret input', 'input': 'wrong'}])] PASSED [ 24%] tests/validators/test_arguments.py::test_positional_args[json-ArgsKwargs(())-Err('3 validation errors for arguments', errors=[{'type': 'missing_positional_only_argument', 'loc': (0,), 'msg': 'Missing required positional only argument', 'input': ArgsKwargs(())}, {'type': 'missing_positional_only_argument', 'loc': (1,), 'msg': 'Missing required positional only argument', 'input': ArgsKwargs(())}, {'type': 'missing_positional_only_argument', 'loc': (2,), 'msg': 'Missing required positional only argument', 'input': ArgsKwargs(())}])] SKIPPED [ 24%] tests/validators/test_arguments.py::test_keyword_args[python-ArgsKwargs((), {'a': 1, 'b': 'a', 'c': True})-((), {'a': 1, 'b': 'a', 'c': True})0] PASSED [ 24%] tests/validators/test_arguments.py::test_keyword_args[python-{'a': 1, 'b': 'a', 'c': True}-((), {'a': 1, 'b': 'a', 'c': True})] PASSED [ 24%] tests/validators/test_arguments.py::test_keyword_args[python-ArgsKwargs((), {'a': '1', 'b': 'a', 'c': 'True'})-((), {'a': 1, 'b': 'a', 'c': True})] PASSED [ 24%] tests/validators/test_arguments.py::test_keyword_args[python-ArgsKwargs((), {'a': 1, 'b': 'a', 'c': True})-((), {'a': 1, 'b': 'a', 'c': True})1] PASSED [ 24%] tests/validators/test_arguments.py::test_keyword_args[python-ArgsKwargs((1,), {'a': 1, 'b': 'a', 'c': True})-Err('type=unexpected_positional_argument,')] PASSED [ 24%] tests/validators/test_arguments.py::test_keyword_args[python-ArgsKwargs((), {'a': 1, 'b': 'a', 'c': True, 'd': 'wrong'})-Err('type=unexpected_keyword_argument,', errors=[{'type': 'unexpected_keyword_argument', 'loc': ('d',), 'msg': 'Unexpected keyword argument', 'input': 'wrong'}])] PASSED [ 24%] tests/validators/test_arguments.py::test_keyword_args[python-ArgsKwargs((), {'a': 1, 'b': 'a'})-Err('type=missing_keyword_only_argument,', errors=[{'type': 'missing_keyword_only_argument', 'loc': ('c',), 'msg': 'Missing required keyword only argument', 'input': ArgsKwargs((), {'a': 1, 'b': 'a'})}])] PASSED [ 25%] tests/validators/test_arguments.py::test_keyword_args[python-ArgsKwargs((), {'a': 'x', 'b': 'a', 'c': 'wrong'})-Err('', errors=[{'type': 'int_parsing', 'loc': ('a',), 'msg': 'Input should be a valid integer, unable to parse string as an integer', 'input': 'x'}, {'type': 'bool_parsing', 'loc': ('c',), 'msg': 'Input should be a valid boolean, unable to interpret input', 'input': 'wrong'}])] PASSED [ 25%] tests/validators/test_arguments.py::test_keyword_args[python-ArgsKwargs(())-Err('', errors=[{'type': 'missing_keyword_only_argument', 'loc': ('a',), 'msg': 'Missing required keyword only argument', 'input': ArgsKwargs(())}, {'type': 'missing_keyword_only_argument', 'loc': ('b',), 'msg': 'Missing required keyword only argument', 'input': ArgsKwargs(())}, {'type': 'missing_keyword_only_argument', 'loc': ('c',), 'msg': 'Missing required keyword only argument', 'input': ArgsKwargs(())}])] PASSED [ 25%] tests/validators/test_arguments.py::test_keyword_args[json-ArgsKwargs((), {'a': 1, 'b': 'a', 'c': True})-((), {'a': 1, 'b': 'a', 'c': True})0] SKIPPED [ 25%] tests/validators/test_arguments.py::test_keyword_args[json-{'a': 1, 'b': 'a', 'c': True}-((), {'a': 1, 'b': 'a', 'c': True})] PASSED [ 25%] tests/validators/test_arguments.py::test_keyword_args[json-ArgsKwargs((), {'a': '1', 'b': 'a', 'c': 'True'})-((), {'a': 1, 'b': 'a', 'c': True})] SKIPPED [ 25%] tests/validators/test_arguments.py::test_keyword_args[json-ArgsKwargs((), {'a': 1, 'b': 'a', 'c': True})-((), {'a': 1, 'b': 'a', 'c': True})1] SKIPPED [ 25%] tests/validators/test_arguments.py::test_keyword_args[json-ArgsKwargs((1,), {'a': 1, 'b': 'a', 'c': True})-Err('type=unexpected_positional_argument,')] SKIPPED [ 25%] tests/validators/test_arguments.py::test_keyword_args[json-ArgsKwargs((), {'a': 1, 'b': 'a', 'c': True, 'd': 'wrong'})-Err('type=unexpected_keyword_argument,', errors=[{'type': 'unexpected_keyword_argument', 'loc': ('d',), 'msg': 'Unexpected keyword argument', 'input': 'wrong'}])] SKIPPED [ 25%] tests/validators/test_arguments.py::test_keyword_args[json-ArgsKwargs((), {'a': 1, 'b': 'a'})-Err('type=missing_keyword_only_argument,', errors=[{'type': 'missing_keyword_only_argument', 'loc': ('c',), 'msg': 'Missing required keyword only argument', 'input': ArgsKwargs((), {'a': 1, 'b': 'a'})}])] SKIPPED [ 25%] tests/validators/test_arguments.py::test_keyword_args[json-ArgsKwargs((), {'a': 'x', 'b': 'a', 'c': 'wrong'})-Err('', errors=[{'type': 'int_parsing', 'loc': ('a',), 'msg': 'Input should be a valid integer, unable to parse string as an integer', 'input': 'x'}, {'type': 'bool_parsing', 'loc': ('c',), 'msg': 'Input should be a valid boolean, unable to interpret input', 'input': 'wrong'}])] SKIPPED [ 25%] tests/validators/test_arguments.py::test_keyword_args[json-ArgsKwargs(())-Err('', errors=[{'type': 'missing_keyword_only_argument', 'loc': ('a',), 'msg': 'Missing required keyword only argument', 'input': ArgsKwargs(())}, {'type': 'missing_keyword_only_argument', 'loc': ('b',), 'msg': 'Missing required keyword only argument', 'input': ArgsKwargs(())}, {'type': 'missing_keyword_only_argument', 'loc': ('c',), 'msg': 'Missing required keyword only argument', 'input': ArgsKwargs(())}])] SKIPPED [ 25%] tests/validators/test_arguments.py::test_positional_or_keyword[python-{'a': 1, 'b': 'bb', 'c': True}-((), {'a': 1, 'b': 'bb', 'c': True})] PASSED [ 25%] tests/validators/test_arguments.py::test_positional_or_keyword[python-ArgsKwargs((), {'a': 1, 'b': 'bb', 'c': True})-((), {'a': 1, 'b': 'bb', 'c': True})] PASSED [ 25%] tests/validators/test_arguments.py::test_positional_or_keyword[python-ArgsKwargs((1, 'bb'), {'c': True})-((1, 'bb'), {'c': True})] PASSED [ 25%] tests/validators/test_arguments.py::test_positional_or_keyword[python-ArgsKwargs((1,), {'b': 'bb', 'c': True})-((1,), {'b': 'bb', 'c': True})] PASSED [ 25%] tests/validators/test_arguments.py::test_positional_or_keyword[python-ArgsKwargs((1,), {'a': 11, 'b': 'bb', 'c': True})-Err('type=multiple_argument_values,', errors=[{'type': 'multiple_argument_values', 'loc': ('a',), 'msg': 'Got multiple values for argument', 'input': 11}])] PASSED [ 25%] tests/validators/test_arguments.py::test_positional_or_keyword[python-ArgsKwargs((1, 'bb', 'cc'), {'b': 'bb', 'c': True})-Err('type=unexpected_positional_argument,', errors=[{'type': 'multiple_argument_values', 'loc': ('b',), 'msg': 'Got multiple values for argument', 'input': 'bb'}, {'type': 'unexpected_positional_argument', 'loc': (2,), 'msg': 'Unexpected positional argument', 'input': 'cc'}])] PASSED [ 25%] tests/validators/test_arguments.py::test_positional_or_keyword[python-ArgsKwargs((1, 'b1'), {'a': 11, 'b': 'b2', 'c': True})-Err('type=multiple_argument_values,', errors=[{'type': 'multiple_argument_values', 'loc': ('a',), 'msg': 'Got multiple values for argument', 'input': 11}, {'type': 'multiple_argument_values', 'loc': ('b',), 'msg': 'Got multiple values for argument', 'input': 'b2'}])] PASSED [ 25%] tests/validators/test_arguments.py::test_positional_or_keyword[json-{'a': 1, 'b': 'bb', 'c': True}-((), {'a': 1, 'b': 'bb', 'c': True})] PASSED [ 25%] tests/validators/test_arguments.py::test_positional_or_keyword[json-ArgsKwargs((), {'a': 1, 'b': 'bb', 'c': True})-((), {'a': 1, 'b': 'bb', 'c': True})] SKIPPED [ 25%] tests/validators/test_arguments.py::test_positional_or_keyword[json-ArgsKwargs((1, 'bb'), {'c': True})-((1, 'bb'), {'c': True})] SKIPPED [ 25%] tests/validators/test_arguments.py::test_positional_or_keyword[json-ArgsKwargs((1,), {'b': 'bb', 'c': True})-((1,), {'b': 'bb', 'c': True})] SKIPPED [ 25%] tests/validators/test_arguments.py::test_positional_or_keyword[json-ArgsKwargs((1,), {'a': 11, 'b': 'bb', 'c': True})-Err('type=multiple_argument_values,', errors=[{'type': 'multiple_argument_values', 'loc': ('a',), 'msg': 'Got multiple values for argument', 'input': 11}])] SKIPPED [ 25%] tests/validators/test_arguments.py::test_positional_or_keyword[json-ArgsKwargs((1, 'bb', 'cc'), {'b': 'bb', 'c': True})-Err('type=unexpected_positional_argument,', errors=[{'type': 'multiple_argument_values', 'loc': ('b',), 'msg': 'Got multiple values for argument', 'input': 'bb'}, {'type': 'unexpected_positional_argument', 'loc': (2,), 'msg': 'Unexpected positional argument', 'input': 'cc'}])] SKIPPED [ 25%] tests/validators/test_arguments.py::test_positional_or_keyword[json-ArgsKwargs((1, 'b1'), {'a': 11, 'b': 'b2', 'c': True})-Err('type=multiple_argument_values,', errors=[{'type': 'multiple_argument_values', 'loc': ('a',), 'msg': 'Got multiple values for argument', 'input': 11}, {'type': 'multiple_argument_values', 'loc': ('b',), 'msg': 'Got multiple values for argument', 'input': 'b2'}])] SKIPPED [ 25%] tests/validators/test_arguments.py::test_positional_optional[python-(1,)-((1,), {})] PASSED [ 25%] tests/validators/test_arguments.py::test_positional_optional[python-()-((42,), {})] PASSED [ 25%] tests/validators/test_arguments.py::test_positional_optional[json-(1,)-((1,), {})] PASSED [ 25%] tests/validators/test_arguments.py::test_positional_optional[json-()-((42,), {})] PASSED [ 25%] tests/validators/test_arguments.py::test_p_or_k_optional[python-{'a': 1}-((), {'a': 1})] PASSED [ 25%] tests/validators/test_arguments.py::test_p_or_k_optional[python-ArgsKwargs((), {'a': 1})-((), {'a': 1})0] PASSED [ 25%] tests/validators/test_arguments.py::test_p_or_k_optional[python-ArgsKwargs((), {'a': 1})-((), {'a': 1})1] PASSED [ 25%] tests/validators/test_arguments.py::test_p_or_k_optional[python-ArgsKwargs(())-((), {'a': 1})] PASSED [ 25%] tests/validators/test_arguments.py::test_p_or_k_optional[json-{'a': 1}-((), {'a': 1})] PASSED [ 25%] tests/validators/test_arguments.py::test_p_or_k_optional[json-ArgsKwargs((), {'a': 1})-((), {'a': 1})0] SKIPPED [ 25%] tests/validators/test_arguments.py::test_p_or_k_optional[json-ArgsKwargs((), {'a': 1})-((), {'a': 1})1] SKIPPED [ 26%] tests/validators/test_arguments.py::test_p_or_k_optional[json-ArgsKwargs(())-((), {'a': 1})] SKIPPED [ 26%] tests/validators/test_arguments.py::test_var_args_only[python-[1, 2, 3]-((1, 2, 3), {})] PASSED [ 26%] tests/validators/test_arguments.py::test_var_args_only[python-ArgsKwargs((1, 2, 3))-((1, 2, 3), {})] PASSED [ 26%] tests/validators/test_arguments.py::test_var_args_only[python-[1]-((1,), {})] PASSED [ 26%] tests/validators/test_arguments.py::test_var_args_only[python-[]-((), {})] PASSED [ 26%] tests/validators/test_arguments.py::test_var_args_only[python-ArgsKwargs((1, 2, 3), {'a': 1})-Err('a\\n Unexpected keyword argument [type=unexpected_keyword_argument,')] PASSED [ 26%] tests/validators/test_arguments.py::test_var_args_only[json-[1, 2, 3]-((1, 2, 3), {})] PASSED [ 26%] tests/validators/test_arguments.py::test_var_args_only[json-ArgsKwargs((1, 2, 3))-((1, 2, 3), {})] SKIPPED [ 26%] tests/validators/test_arguments.py::test_var_args_only[json-[1]-((1,), {})] PASSED [ 26%] tests/validators/test_arguments.py::test_var_args_only[json-[]-((), {})] PASSED [ 26%] tests/validators/test_arguments.py::test_var_args_only[json-ArgsKwargs((1, 2, 3), {'a': 1})-Err('a\\n Unexpected keyword argument [type=unexpected_keyword_argument,')] SKIPPED [ 26%] tests/validators/test_arguments.py::test_args_var_args_only[python-[1, 2, 3]-((1, 2, 3), {})] PASSED [ 26%] tests/validators/test_arguments.py::test_args_var_args_only[python-['1', '2', '3']-((1, 2, 3), {})] PASSED [ 26%] tests/validators/test_arguments.py::test_args_var_args_only[python-[1]-((1,), {})] PASSED [ 26%] tests/validators/test_arguments.py::test_args_var_args_only[python-[]-Err('0\\n Missing required positional only argument')] PASSED [ 26%] tests/validators/test_arguments.py::test_args_var_args_only[python-['x']-Err('type=int_parsing,', errors=[{'type': 'int_parsing', 'loc': (0,), 'msg': 'Input should be a valid integer, unable to parse string as an integer', 'input': 'x'}])] PASSED [ 26%] tests/validators/test_arguments.py::test_args_var_args_only[python-[1, 'x', 'y']-Err('type=int_parsing,', errors=[{'type': 'int_parsing', 'loc': (1,), 'msg': 'Input should be a valid integer, unable to parse string as an integer', 'input': 'x'}, {'type': 'int_parsing', 'loc': (2,), 'msg': 'Input should be a valid integer, unable to parse string as an integer', 'input': 'y'}])] PASSED [ 26%] tests/validators/test_arguments.py::test_args_var_args_only[python-ArgsKwargs((1, 2, 3), {'a': 1})-Err('a\\n Unexpected keyword argument [type=unexpected_keyword_argument,')] PASSED [ 26%] tests/validators/test_arguments.py::test_args_var_args_only[json-[1, 2, 3]-((1, 2, 3), {})] PASSED [ 26%] tests/validators/test_arguments.py::test_args_var_args_only[json-['1', '2', '3']-((1, 2, 3), {})] PASSED [ 26%] tests/validators/test_arguments.py::test_args_var_args_only[json-[1]-((1,), {})] PASSED [ 26%] tests/validators/test_arguments.py::test_args_var_args_only[json-[]-Err('0\\n Missing required positional only argument')] PASSED [ 26%] tests/validators/test_arguments.py::test_args_var_args_only[json-['x']-Err('type=int_parsing,', errors=[{'type': 'int_parsing', 'loc': (0,), 'msg': 'Input should be a valid integer, unable to parse string as an integer', 'input': 'x'}])] PASSED [ 26%] tests/validators/test_arguments.py::test_args_var_args_only[json-[1, 'x', 'y']-Err('type=int_parsing,', errors=[{'type': 'int_parsing', 'loc': (1,), 'msg': 'Input should be a valid integer, unable to parse string as an integer', 'input': 'x'}, {'type': 'int_parsing', 'loc': (2,), 'msg': 'Input should be a valid integer, unable to parse string as an integer', 'input': 'y'}])] PASSED [ 26%] tests/validators/test_arguments.py::test_args_var_args_only[json-ArgsKwargs((1, 2, 3), {'a': 1})-Err('a\\n Unexpected keyword argument [type=unexpected_keyword_argument,')] SKIPPED [ 26%] tests/validators/test_arguments.py::test_both[python-ArgsKwargs((1, 'a', 'true'), {'b': 'bb', 'c': 3})-((1, 'a', True), {'b': 'bb', 'c': 3})] PASSED [ 26%] tests/validators/test_arguments.py::test_both[python-ArgsKwargs((1, 'a'), {'a': 'true', 'b': 'bb', 'c': 3})-((1, 'a'), {'a': True, 'b': 'bb', 'c': 3})] PASSED [ 26%] tests/validators/test_arguments.py::test_both[python-ArgsKwargs((1, 'a', 'true', 4, 5), {'b': 'bb', 'c': 3})-Err('type=unexpected_positional_argument,', errors=[{'type': 'unexpected_positional_argument', 'loc': (3,), 'msg': 'Unexpected positional argument', 'input': 4}, {'type': 'unexpected_positional_argument', 'loc': (4,), 'msg': 'Unexpected positional argument', 'input': 5}])] PASSED [ 26%] tests/validators/test_arguments.py::test_both[json-ArgsKwargs((1, 'a', 'true'), {'b': 'bb', 'c': 3})-((1, 'a', True), {'b': 'bb', 'c': 3})] SKIPPED [ 26%] tests/validators/test_arguments.py::test_both[json-ArgsKwargs((1, 'a'), {'a': 'true', 'b': 'bb', 'c': 3})-((1, 'a'), {'a': True, 'b': 'bb', 'c': 3})] SKIPPED [ 26%] tests/validators/test_arguments.py::test_both[json-ArgsKwargs((1, 'a', 'true', 4, 5), {'b': 'bb', 'c': 3})-Err('type=unexpected_positional_argument,', errors=[{'type': 'unexpected_positional_argument', 'loc': (3,), 'msg': 'Unexpected positional argument', 'input': 4}, {'type': 'unexpected_positional_argument', 'loc': (4,), 'msg': 'Unexpected positional argument', 'input': 5}])] SKIPPED [ 26%] tests/validators/test_arguments.py::test_no_args[python-ArgsKwargs(())-((), {})] PASSED [ 26%] tests/validators/test_arguments.py::test_no_args[python-[]-((), {})] PASSED [ 26%] tests/validators/test_arguments.py::test_no_args[python-[1]-Err('0\\n Unexpected positional argument [type=unexpected_positional_argument,')] PASSED [ 26%] tests/validators/test_arguments.py::test_no_args[python-{'a': 1}-Err('a\\n Unexpected keyword argument [type=unexpected_keyword_argument,')] PASSED [ 26%] tests/validators/test_arguments.py::test_no_args[python-ArgsKwargs((1,), {'a': 2})-Err('[type=unexpected_keyword_argument,', errors=[{'type': 'unexpected_positional_argument', 'loc': (0,), 'msg': 'Unexpected positional argument', 'input': 1}, {'type': 'unexpected_keyword_argument', 'loc': ('a',), 'msg': 'Unexpected keyword argument', 'input': 2}])] PASSED [ 27%] tests/validators/test_arguments.py::test_no_args[json-ArgsKwargs(())-((), {})] SKIPPED [ 27%] tests/validators/test_arguments.py::test_no_args[json-[]-((), {})] PASSED [ 27%] tests/validators/test_arguments.py::test_no_args[json-[1]-Err('0\\n Unexpected positional argument [type=unexpected_positional_argument,')] PASSED [ 27%] tests/validators/test_arguments.py::test_no_args[json-{'a': 1}-Err('a\\n Unexpected keyword argument [type=unexpected_keyword_argument,')] PASSED [ 27%] tests/validators/test_arguments.py::test_no_args[json-ArgsKwargs((1,), {'a': 2})-Err('[type=unexpected_keyword_argument,', errors=[{'type': 'unexpected_positional_argument', 'loc': (0,), 'msg': 'Unexpected positional argument', 'input': 1}, {'type': 'unexpected_keyword_argument', 'loc': ('a',), 'msg': 'Unexpected keyword argument', 'input': 2}])] SKIPPED [ 27%] tests/validators/test_arguments.py::test_internal_error[python] PASSED [ 27%] tests/validators/test_arguments.py::test_internal_error[json] PASSED [ 27%] tests/validators/test_arguments.py::test_default_factory[python-ArgsKwargs((1, 2))-((1, 2), {})] PASSED [ 27%] tests/validators/test_arguments.py::test_default_factory[python-ArgsKwargs((1,))-((1,), {'b': 42})] PASSED [ 27%] tests/validators/test_arguments.py::test_default_factory[python-ArgsKwargs((1,), {'b': 3})-((1,), {'b': 3})] PASSED [ 27%] tests/validators/test_arguments.py::test_default_factory[python-ArgsKwargs((), {'a': 1})-((), {'a': 1, 'b': 42})] PASSED [ 27%] tests/validators/test_arguments.py::test_default_factory[json-ArgsKwargs((1, 2))-((1, 2), {})] SKIPPED [ 27%] tests/validators/test_arguments.py::test_default_factory[json-ArgsKwargs((1,))-((1,), {'b': 42})] SKIPPED [ 27%] tests/validators/test_arguments.py::test_default_factory[json-ArgsKwargs((1,), {'b': 3})-((1,), {'b': 3})] SKIPPED [ 27%] tests/validators/test_arguments.py::test_default_factory[json-ArgsKwargs((), {'a': 1})-((), {'a': 1, 'b': 42})] SKIPPED [ 27%] tests/validators/test_arguments.py::test_repr PASSED [ 27%] tests/validators/test_arguments.py::test_build_non_default_follows PASSED [ 27%] tests/validators/test_arguments.py::test_kwargs[python-ArgsKwargs((1, 2))-((1, 2), {})] PASSED [ 27%] tests/validators/test_arguments.py::test_kwargs[python-ArgsKwargs((1,), {'b': '4', 'c': 'a'})-((1,), {'b': 4, 'c': 'a'})] PASSED [ 27%] tests/validators/test_arguments.py::test_kwargs[python-ArgsKwargs((1, 2), {'x': 'abc'})-((1, 2), {'x': 'abc'})] PASSED [ 27%] tests/validators/test_arguments.py::test_kwargs[json-ArgsKwargs((1, 2))-((1, 2), {})] SKIPPED [ 27%] tests/validators/test_arguments.py::test_kwargs[json-ArgsKwargs((1,), {'b': '4', 'c': 'a'})-((1,), {'b': 4, 'c': 'a'})] SKIPPED [ 27%] tests/validators/test_arguments.py::test_kwargs[json-ArgsKwargs((1, 2), {'x': 'abc'})-((1, 2), {'x': 'abc'})] SKIPPED [ 27%] tests/validators/test_arguments.py::test_alias[python-ArgsKwargs((1,))-((1,), {})] PASSED [ 27%] tests/validators/test_arguments.py::test_alias[python-ArgsKwargs((), {'Foo': 1})-((), {'a': 1})] PASSED [ 27%] tests/validators/test_arguments.py::test_alias[python-ArgsKwargs((), {'a': 1})-Err('Foo\\n Missing required argument [type=missing_argument,')] PASSED [ 27%] tests/validators/test_arguments.py::test_alias[json-ArgsKwargs((1,))-((1,), {})] SKIPPED [ 27%] tests/validators/test_arguments.py::test_alias[json-ArgsKwargs((), {'Foo': 1})-((), {'a': 1})] SKIPPED [ 27%] tests/validators/test_arguments.py::test_alias[json-ArgsKwargs((), {'a': 1})-Err('Foo\\n Missing required argument [type=missing_argument,')] SKIPPED [ 27%] tests/validators/test_arguments.py::test_alias_populate_by_name[python-ArgsKwargs((1,))-((1,), {})] PASSED [ 27%] tests/validators/test_arguments.py::test_alias_populate_by_name[python-ArgsKwargs((), {'Foo': 1})-((), {'a': 1})] PASSED [ 27%] tests/validators/test_arguments.py::test_alias_populate_by_name[python-ArgsKwargs((), {'a': 1})-((), {'a': 1})] PASSED [ 27%] tests/validators/test_arguments.py::test_alias_populate_by_name[python-ArgsKwargs((), {'a': 1, 'b': 2})-Err('b\\n Unexpected keyword argument [type=unexpected_keyword_argument,')] PASSED [ 27%] tests/validators/test_arguments.py::test_alias_populate_by_name[python-ArgsKwargs((), {'a': 1, 'Foo': 2})-Err('a\\n Unexpected keyword argument [type=unexpected_keyword_argument,')] PASSED [ 27%] tests/validators/test_arguments.py::test_alias_populate_by_name[json-ArgsKwargs((1,))-((1,), {})] SKIPPED [ 27%] tests/validators/test_arguments.py::test_alias_populate_by_name[json-ArgsKwargs((), {'Foo': 1})-((), {'a': 1})] SKIPPED [ 28%] tests/validators/test_arguments.py::test_alias_populate_by_name[json-ArgsKwargs((), {'a': 1})-((), {'a': 1})] SKIPPED [ 28%] tests/validators/test_arguments.py::test_alias_populate_by_name[json-ArgsKwargs((), {'a': 1, 'b': 2})-Err('b\\n Unexpected keyword argument [type=unexpected_keyword_argument,')] SKIPPED [ 28%] tests/validators/test_arguments.py::test_alias_populate_by_name[json-ArgsKwargs((), {'a': 1, 'Foo': 2})-Err('a\\n Unexpected keyword argument [type=unexpected_keyword_argument,')] SKIPPED [ 28%] tests/validators/test_arguments.py::test_function_any PASSED [ 28%] tests/validators/test_arguments.py::test_function_types PASSED [ 28%] tests/validators/test_arguments.py::test_function_positional_only PASSED [ 28%] tests/validators/test_arguments.py::test_function_positional_only_default PASSED [ 28%] tests/validators/test_arguments.py::test_function_positional_kwargs PASSED [ 28%] tests/validators/test_arguments.py::test_function_args_kwargs PASSED [ 28%] tests/validators/test_arguments.py::test_invalid_schema PASSED [ 28%] tests/validators/test_arguments.py::test_error_display PASSED [ 28%] tests/validators/test_bool.py::test_bool[python-False-False] PASSED [ 28%] tests/validators/test_bool.py::test_bool[python-True-True] PASSED [ 28%] tests/validators/test_bool.py::test_bool[python-0-False] PASSED [ 28%] tests/validators/test_bool.py::test_bool[python-0.0-False] PASSED [ 28%] tests/validators/test_bool.py::test_bool[python-1-True] PASSED [ 28%] tests/validators/test_bool.py::test_bool[python-1.0-True] PASSED [ 28%] tests/validators/test_bool.py::test_bool[python-yes-True] PASSED [ 28%] tests/validators/test_bool.py::test_bool[python-no-False] PASSED [ 28%] tests/validators/test_bool.py::test_bool[python-true-True] PASSED [ 28%] tests/validators/test_bool.py::test_bool[python-false-False] PASSED [ 28%] tests/validators/test_bool.py::test_bool[python-cheese-expected10] PASSED [ 28%] tests/validators/test_bool.py::test_bool[python-2-expected11] PASSED [ 28%] tests/validators/test_bool.py::test_bool[python-input_value12-expected12] PASSED [ 28%] tests/validators/test_bool.py::test_bool[python-1.1-expected13] PASSED [ 28%] tests/validators/test_bool.py::test_bool[python-2-expected14] PASSED [ 28%] tests/validators/test_bool.py::test_bool[python-2.0-expected15] PASSED [ 28%] tests/validators/test_bool.py::test_bool[json-False-False] PASSED [ 28%] tests/validators/test_bool.py::test_bool[json-True-True] PASSED [ 28%] tests/validators/test_bool.py::test_bool[json-0-False] PASSED [ 28%] tests/validators/test_bool.py::test_bool[json-0.0-False] PASSED [ 28%] tests/validators/test_bool.py::test_bool[json-1-True] PASSED [ 28%] tests/validators/test_bool.py::test_bool[json-1.0-True] PASSED [ 28%] tests/validators/test_bool.py::test_bool[json-yes-True] PASSED [ 28%] tests/validators/test_bool.py::test_bool[json-no-False] PASSED [ 28%] tests/validators/test_bool.py::test_bool[json-true-True] PASSED [ 29%] tests/validators/test_bool.py::test_bool[json-false-False] PASSED [ 29%] tests/validators/test_bool.py::test_bool[json-cheese-expected10] PASSED [ 29%] tests/validators/test_bool.py::test_bool[json-2-expected11] PASSED [ 29%] tests/validators/test_bool.py::test_bool[json-input_value12-expected12] PASSED [ 29%] tests/validators/test_bool.py::test_bool[json-1.1-expected13] PASSED [ 29%] tests/validators/test_bool.py::test_bool[json-2-expected14] PASSED [ 29%] tests/validators/test_bool.py::test_bool[json-2.0-expected15] PASSED [ 29%] tests/validators/test_bool.py::test_bool_strict[python] PASSED [ 29%] tests/validators/test_bool.py::test_bool_strict[json] PASSED [ 29%] tests/validators/test_bool.py::test_bool_error PASSED [ 29%] tests/validators/test_bool.py::test_bool_repr PASSED [ 29%] tests/validators/test_bool.py::test_bool_key[python] PASSED [ 29%] tests/validators/test_bool.py::test_bool_key[json] PASSED [ 29%] tests/validators/test_bool.py::test_validate_assignment_not_supported PASSED [ 29%] tests/validators/test_bytes.py::test_strict_bytes_validator PASSED [ 29%] tests/validators/test_bytes.py::test_lax_bytes_validator PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes_python_bytes[opts0-foo-foo] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes_python_bytes[opts1-foo-foo] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes_python_bytes[opts2-foobar-expected2] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes_python_bytes[opts3-foo-foo] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes_python_bytes[opts4-f-expected4] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes_python_bytes[opts5-bytes?-bytes?] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes[python-opts0-foo-foo] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes[python-opts1-foo-foo] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes[python-opts2-foobar-expected2] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes[python-opts3-foo-foo] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes[python-opts4-f-expected4] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes[python-opts5-1-expected5] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes[python-opts6-1.0-expected6] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes[python-opts7-input7-expected7] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes[python-opts8-input8-expected8] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes[json-opts0-foo-foo] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes[json-opts1-foo-foo] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes[json-opts2-foobar-expected2] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes[json-opts3-foo-foo] PASSED [ 29%] tests/validators/test_bytes.py::test_constrained_bytes[json-opts4-f-expected4] PASSED [ 30%] tests/validators/test_bytes.py::test_constrained_bytes[json-opts5-1-expected5] PASSED [ 30%] tests/validators/test_bytes.py::test_constrained_bytes[json-opts6-1.0-expected6] PASSED [ 30%] tests/validators/test_bytes.py::test_constrained_bytes[json-opts7-input7-expected7] PASSED [ 30%] tests/validators/test_bytes.py::test_constrained_bytes[json-opts8-input8-expected8] PASSED [ 30%] tests/validators/test_bytes.py::test_union PASSED [ 30%] tests/validators/test_bytes.py::test_length_ctx PASSED [ 30%] tests/validators/test_call.py::test_function_call_arguments[python-input_value0-6] PASSED [ 30%] tests/validators/test_call.py::test_function_call_arguments[python-input_value1-3] PASSED [ 30%] tests/validators/test_call.py::test_function_call_arguments[python-input_value2-3] PASSED [ 30%] tests/validators/test_call.py::test_function_call_arguments[python-input_value3-expected3] PASSED [ 30%] tests/validators/test_call.py::test_function_call_arguments[python-input_value4-10] PASSED [ 30%] tests/validators/test_call.py::test_function_call_arguments[python-input_value5-expected5] PASSED [ 30%] tests/validators/test_call.py::test_function_call_arguments[json-input_value0-6] PASSED [ 30%] tests/validators/test_call.py::test_function_call_arguments[json-input_value1-3] PASSED [ 30%] tests/validators/test_call.py::test_function_call_arguments[json-input_value2-3] PASSED [ 30%] tests/validators/test_call.py::test_function_call_arguments[json-input_value3-expected3] PASSED [ 30%] tests/validators/test_call.py::test_function_call_arguments[json-input_value4-10] PASSED [ 30%] tests/validators/test_call.py::test_function_call_arguments[json-input_value5-expected5] PASSED [ 30%] tests/validators/test_call.py::test_function_args_any[input_value0-6] PASSED [ 30%] tests/validators/test_call.py::test_function_args_any[input_value1-6] PASSED [ 30%] tests/validators/test_call.py::test_function_args_any[input_value2-3] PASSED [ 30%] tests/validators/test_call.py::test_function_args_any[x-expected3] PASSED [ 30%] tests/validators/test_call.py::test_function_args_any[input_value4-expected4] PASSED [ 30%] tests/validators/test_call.py::test_function_args_any[input_value5-expected5] PASSED [ 30%] tests/validators/test_call.py::test_function_args_any[input_value6-expected6] PASSED [ 30%] tests/validators/test_call.py::test_function_return_any[input_value0-1] PASSED [ 30%] tests/validators/test_call.py::test_function_return_any[input_value1-abc] PASSED [ 30%] tests/validators/test_call.py::test_in_union PASSED [ 30%] tests/validators/test_call.py::test_dataclass PASSED [ 30%] tests/validators/test_call.py::test_named_tuple PASSED [ 30%] tests/validators/test_call.py::test_function_call_partial PASSED [ 30%] tests/validators/test_call.py::test_custom_name PASSED [ 30%] tests/validators/test_callable.py::test_callable PASSED [ 30%] tests/validators/test_callable.py::test_callable_cases[func-True] PASSED [ 30%] tests/validators/test_callable.py::test_callable_cases[-True0] PASSED [ 30%] tests/validators/test_callable.py::test_callable_cases[-True1] PASSED [ 31%] tests/validators/test_callable.py::test_callable_cases[dict-True] PASSED [ 31%] tests/validators/test_callable.py::test_callable_cases[Foo-True] PASSED [ 31%] tests/validators/test_callable.py::test_callable_cases[input_value5-False] PASSED [ 31%] tests/validators/test_callable.py::test_callable_cases[4-False] PASSED [ 31%] tests/validators/test_callable.py::test_callable_cases[ddd-False] PASSED [ 31%] tests/validators/test_callable.py::test_callable_cases[input_value8-False] PASSED [ 31%] tests/validators/test_callable.py::test_callable_cases[input_value9-False] PASSED [ 31%] tests/validators/test_callable.py::test_callable_cases[CallableClass-True] PASSED [ 31%] tests/validators/test_callable.py::test_callable_cases[input_value11-True] PASSED [ 31%] tests/validators/test_callable.py::test_repr PASSED [ 31%] tests/validators/test_chain.py::test_chain PASSED [ 31%] tests/validators/test_chain.py::test_chain_many PASSED [ 31%] tests/validators/test_chain.py::test_chain_error PASSED [ 31%] tests/validators/test_chain.py::test_json[python-1.44-expected0] PASSED [ 31%] tests/validators/test_chain.py::test_json[python-1-expected1] PASSED [ 31%] tests/validators/test_chain.py::test_json[python-1.44-expected2] PASSED [ 31%] tests/validators/test_chain.py::test_json[json-1.44-expected0] PASSED [ 31%] tests/validators/test_chain.py::test_json[json-1-expected1] PASSED [ 31%] tests/validators/test_chain.py::test_json[json-1.44-expected2] PASSED [ 31%] tests/validators/test_chain.py::test_flatten PASSED [ 31%] tests/validators/test_chain.py::test_chain_empty PASSED [ 31%] tests/validators/test_chain.py::test_chain_one PASSED [ 31%] tests/validators/test_custom_error.py::test_custom_error[python] PASSED [ 31%] tests/validators/test_custom_error.py::test_custom_error[json] PASSED [ 31%] tests/validators/test_custom_error.py::test_custom_error_type[python] PASSED [ 31%] tests/validators/test_custom_error.py::test_custom_error_type[json] PASSED [ 31%] tests/validators/test_custom_error.py::test_custom_error_error PASSED [ 31%] tests/validators/test_custom_error.py::test_custom_error_invalid PASSED [ 31%] tests/validators/test_dataclasses.py::test_dataclass_args[python-input_value0-expected0] PASSED [ 31%] tests/validators/test_dataclasses.py::test_dataclass_args[python-input_value1-expected1] PASSED [ 31%] tests/validators/test_dataclasses.py::test_dataclass_args[python-input_value2-expected2] PASSED [ 31%] tests/validators/test_dataclasses.py::test_dataclass_args[python-input_value3-expected3] PASSED [ 31%] tests/validators/test_dataclasses.py::test_dataclass_args[python-input_value4-expected4] PASSED [ 31%] tests/validators/test_dataclasses.py::test_dataclass_args[python-input_value5-expected5] PASSED [ 31%] tests/validators/test_dataclasses.py::test_dataclass_args[python-input_value6-expected6] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args[json-input_value0-expected0] SKIPPED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args[json-input_value1-expected1] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args[json-input_value2-expected2] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args[json-input_value3-expected3] SKIPPED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args[json-input_value4-expected4] SKIPPED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args[json-input_value5-expected5] SKIPPED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args[json-input_value6-expected6] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[python-input_value0-expected0] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[python-input_value1-expected1] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[python-input_value2-expected2] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[python-input_value3-expected3] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[python-input_value4-expected4] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[python-input_value5-expected5] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[python-input_value6-expected6] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[json-input_value0-expected0] SKIPPED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[json-input_value1-expected1] SKIPPED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[json-input_value2-expected2] SKIPPED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[json-input_value3-expected3] SKIPPED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[json-input_value4-expected4] SKIPPED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[json-input_value5-expected5] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[json-input_value6-expected6] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only_no_fields[python-input_value0-expected0] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only_no_fields[python-input_value1-expected1] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only_no_fields[python-input_value2-expected2] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only_no_fields[json-input_value0-expected0] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only_no_fields[json-input_value1-expected1] SKIPPED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only_no_fields[json-input_value2-expected2] PASSED [ 32%] tests/validators/test_dataclasses.py::test_aliases[python] PASSED [ 32%] tests/validators/test_dataclasses.py::test_aliases[json] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_subclass[always-input_value0-expected0] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_subclass[always-input_value1-expected1] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_subclass[always-input_value2-expected2] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_subclass[always-input_value3-expected3] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_subclass[always-input_value4-expected4] PASSED [ 32%] tests/validators/test_dataclasses.py::test_dataclass_subclass[always-input_value5-expected5] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_subclass[subclass-instances-input_value6-expected6] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_subclass[subclass-instances-input_value7-expected7] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_subclass[subclass-instances-input_value8-expected8] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_subclass[subclass-instances-input_value9-expected9] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_subclass[subclass-instances-input_value10-expected10] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_subclass[subclass-instances-input_value11-expected11] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_subclass[subclass-instances-input_value12-expected12] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_subclass[subclass-instances-input_value13-expected13] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_subclass[never-input_value14-expected14] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_subclass[never-input_value15-expected15] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_subclass[never-input_value16-expected16] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_subclass[never-input_value17-expected17] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_subclass[never-input_value18-expected18] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_subclass[never-input_value19-expected19] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_subclass_strict_never_revalidate PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_subclass_subclass_revalidate PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_post_init PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_post_init_args PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_post_init_args_multiple PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_exact_validation[always-input_value0-expected0] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_exact_validation[always-input_value1-expected1] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_exact_validation[always-input_value2-expected2] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_exact_validation[never-input_value3-expected3] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_exact_validation[never-input_value4-expected4] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_exact_validation[never-input_value5-expected5] PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_field_after_validator PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_field_plain_validator PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_field_before_validator PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_field_wrap_validator1 PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_field_wrap_validator2 PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_self_init PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_self_init_alias PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_self_init_alias_field_name PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_self_init_post_init PASSED [ 33%] tests/validators/test_dataclasses.py::test_dataclass_validate_assignment PASSED [ 33%] tests/validators/test_dataclasses.py::test_validate_assignment_function PASSED [ 34%] tests/validators/test_dataclasses.py::test_frozen PASSED [ 34%] tests/validators/test_dataclasses.py::test_frozen_field PASSED [ 34%] tests/validators/test_dataclasses.py::test_extra_behavior_ignore[config0-schema_extra_behavior_kw0] PASSED [ 34%] tests/validators/test_dataclasses.py::test_extra_behavior_ignore[config1-schema_extra_behavior_kw1] PASSED [ 34%] tests/validators/test_dataclasses.py::test_extra_behavior_ignore[config2-schema_extra_behavior_kw2] PASSED [ 34%] tests/validators/test_dataclasses.py::test_extra_behavior_ignore[None-schema_extra_behavior_kw3] PASSED [ 34%] tests/validators/test_dataclasses.py::test_extra_behavior_ignore[config4-schema_extra_behavior_kw4] PASSED [ 34%] tests/validators/test_dataclasses.py::test_extra_behavior_forbid[config0-schema_extra_behavior_kw0] PASSED [ 34%] tests/validators/test_dataclasses.py::test_extra_behavior_forbid[config1-schema_extra_behavior_kw1] PASSED [ 34%] tests/validators/test_dataclasses.py::test_extra_behavior_forbid[config2-schema_extra_behavior_kw2] PASSED [ 34%] tests/validators/test_dataclasses.py::test_extra_behavior_forbid[None-schema_extra_behavior_kw3] PASSED [ 34%] tests/validators/test_dataclasses.py::test_extra_behavior_forbid[config4-schema_extra_behavior_kw4] PASSED [ 34%] tests/validators/test_dataclasses.py::test_extra_behavior_allow[config0-schema_extra_behavior_kw0] PASSED [ 34%] tests/validators/test_dataclasses.py::test_extra_behavior_allow[config1-schema_extra_behavior_kw1] PASSED [ 34%] tests/validators/test_dataclasses.py::test_extra_behavior_allow[config2-schema_extra_behavior_kw2] PASSED [ 34%] tests/validators/test_dataclasses.py::test_extra_behavior_allow[None-schema_extra_behavior_kw3] PASSED [ 34%] tests/validators/test_dataclasses.py::test_extra_behavior_allow[config4-schema_extra_behavior_kw4] PASSED [ 34%] tests/validators/test_dataclasses.py::test_function_validator_wrapping_args_schema_after PASSED [ 34%] tests/validators/test_dataclasses.py::test_function_validator_wrapping_args_schema_before PASSED [ 34%] tests/validators/test_dataclasses.py::test_function_validator_wrapping_args_schema_wrap PASSED [ 34%] tests/validators/test_dataclasses.py::test_custom_dataclass_names PASSED [ 34%] tests/validators/test_dataclasses.py::test_slots PASSED [ 34%] tests/validators/test_dataclasses.py::test_dataclass_slots_field_before_validator PASSED [ 34%] tests/validators/test_dataclasses.py::test_dataclass_slots_field_after_validator PASSED [ 34%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[always-input_value0-expected0] PASSED [ 34%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[always-input_value1-expected1] PASSED [ 34%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[always-input_value2-expected2] PASSED [ 34%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[always-input_value3-expected3] PASSED [ 34%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[always-input_value4-expected4] PASSED [ 34%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[subclass-instances-input_value5-expected5] PASSED [ 34%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[subclass-instances-input_value6-expected6] PASSED [ 34%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[subclass-instances-input_value7-expected7] PASSED [ 34%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[subclass-instances-input_value8-expected8] PASSED [ 34%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[subclass-instances-input_value9-expected9] PASSED [ 34%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[subclass-instances-input_value10-expected10] PASSED [ 34%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[subclass-instances-input_value11-expected11] PASSED [ 35%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[subclass-instances-input_value12-expected12] PASSED [ 35%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[never-input_value13-expected13] PASSED [ 35%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[never-input_value14-expected14] PASSED [ 35%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[never-input_value15-expected15] PASSED [ 35%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[never-input_value16-expected16] PASSED [ 35%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[never-input_value17-expected17] PASSED [ 35%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[never-input_value18-expected18] PASSED [ 35%] tests/validators/test_dataclasses.py::test_slots_mixed PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_json PASSED [ 35%] tests/validators/test_dataclasses.py::test_leak_dataclass[None] PASSED [ 35%] tests/validators/test_dataclasses.py::test_leak_dataclass[field] PASSED [ 35%] tests/validators/test_dataclasses.py::test_leak_dataclass[dataclass] PASSED [ 35%] tests/validators/test_date.py::test_date[date] PASSED [ 35%] tests/validators/test_date.py::test_date[str] PASSED [ 35%] tests/validators/test_date.py::test_date[bytes] PASSED [ 35%] tests/validators/test_date.py::test_date[tuple] PASSED [ 35%] tests/validators/test_date.py::test_date[int] PASSED [ 35%] tests/validators/test_date.py::test_date[int-as-str] PASSED [ 35%] tests/validators/test_date.py::test_date[float] PASSED [ 35%] tests/validators/test_date.py::test_date[float-as-str] PASSED [ 35%] tests/validators/test_date.py::test_date[decimal] PASSED [ 35%] tests/validators/test_date.py::test_date[int-too-high] PASSED [ 35%] tests/validators/test_date.py::test_date[int-too-low] PASSED [ 35%] tests/validators/test_date.py::test_date[datetime-exact] PASSED [ 35%] tests/validators/test_date.py::test_date[datetime-inexact] PASSED [ 35%] tests/validators/test_date.py::test_date[int-inexact] PASSED [ 35%] tests/validators/test_date.py::test_date[float-inexact] PASSED [ 35%] tests/validators/test_date.py::test_date[int-str-inexact] PASSED [ 35%] tests/validators/test_date.py::test_date[float-str-inexact] PASSED [ 35%] tests/validators/test_date.py::test_date[bool] PASSED [ 35%] tests/validators/test_date.py::test_date[time] PASSED [ 35%] tests/validators/test_date.py::test_date[nan] PASSED [ 35%] tests/validators/test_date.py::test_date[inf] PASSED [ 35%] tests/validators/test_date.py::test_date[-inf] PASSED [ 35%] tests/validators/test_date.py::test_date_json[python-2022-06-08-expected0] PASSED [ 35%] tests/validators/test_date.py::test_date_json[python-1453-01-28-expected1] PASSED [ 36%] tests/validators/test_date.py::test_date_json[python-1654646400-expected2] PASSED [ 36%] tests/validators/test_date.py::test_date_json[python-1654646400.0-expected3] PASSED [ 36%] tests/validators/test_date.py::test_date_json[python-1654646401-expected4] PASSED [ 36%] tests/validators/test_date.py::test_date_json[python-wrong-expected5] PASSED [ 36%] tests/validators/test_date.py::test_date_json[python-2000-02-29-expected6] PASSED [ 36%] tests/validators/test_date.py::test_date_json[python-2001-02-29-expected7] PASSED [ 36%] tests/validators/test_date.py::test_date_json[python-input_value8-expected8] PASSED [ 36%] tests/validators/test_date.py::test_date_json[json-2022-06-08-expected0] PASSED [ 36%] tests/validators/test_date.py::test_date_json[json-1453-01-28-expected1] PASSED [ 36%] tests/validators/test_date.py::test_date_json[json-1654646400-expected2] PASSED [ 36%] tests/validators/test_date.py::test_date_json[json-1654646400.0-expected3] PASSED [ 36%] tests/validators/test_date.py::test_date_json[json-1654646401-expected4] PASSED [ 36%] tests/validators/test_date.py::test_date_json[json-wrong-expected5] PASSED [ 36%] tests/validators/test_date.py::test_date_json[json-2000-02-29-expected6] PASSED [ 36%] tests/validators/test_date.py::test_date_json[json-2001-02-29-expected7] PASSED [ 36%] tests/validators/test_date.py::test_date_json[json-input_value8-expected8] PASSED [ 36%] tests/validators/test_date.py::test_date_strict[datetime.date(2022, 6, 8)-datetime.date(2022, 6, 8)] PASSED [ 36%] tests/validators/test_date.py::test_date_strict['2022-06-08'-Err('Input should be a valid date [type=date_type')] PASSED [ 36%] tests/validators/test_date.py::test_date_strict[b'2022-06-08'-Err('Input should be a valid date [type=date_type')] PASSED [ 36%] tests/validators/test_date.py::test_date_strict[1654646400-Err('Input should be a valid date [type=date_type')] PASSED [ 36%] tests/validators/test_date.py::test_date_strict[True-Err('Input should be a valid date [type=date_type')] PASSED [ 36%] tests/validators/test_date.py::test_date_strict[datetime.datetime(2022, 6, 8, 0, 0)-Err('Input should be a valid date [type=date_type')] PASSED [ 36%] tests/validators/test_date.py::test_date_strict_json["2022-06-08"-expected0] PASSED [ 36%] tests/validators/test_date.py::test_date_strict_json["foobar"-expected1] PASSED [ 36%] tests/validators/test_date.py::test_date_strict_json[1654646400-expected2] PASSED [ 36%] tests/validators/test_date.py::test_date_strict_json_ctx PASSED [ 36%] tests/validators/test_date.py::test_date_kwargs[kwargs0-2000-01-01-expected0] PASSED [ 36%] tests/validators/test_date.py::test_date_kwargs[kwargs1-2000-01-01-expected1] PASSED [ 36%] tests/validators/test_date.py::test_date_kwargs[kwargs2-2000-01-02-expected2] PASSED [ 36%] tests/validators/test_date.py::test_date_kwargs[kwargs3-1999-12-31-expected3] PASSED [ 36%] tests/validators/test_date.py::test_date_kwargs[kwargs4-2000-01-01-expected4] PASSED [ 36%] tests/validators/test_date.py::test_date_kwargs[kwargs5-2000-01-01-expected5] PASSED [ 36%] tests/validators/test_date.py::test_date_kwargs[kwargs6-1999-12-31-expected6] PASSED [ 36%] tests/validators/test_date.py::test_date_kwargs[kwargs7-2000-01-02-expected7] PASSED [ 36%] tests/validators/test_date.py::test_date_kwargs[kwargs8-2000-01-01-expected8] PASSED [ 36%] tests/validators/test_date.py::test_invalid_constraint PASSED [ 37%] tests/validators/test_date.py::test_dict_py PASSED [ 37%] tests/validators/test_date.py::test_dict[python] PASSED [ 37%] tests/validators/test_date.py::test_dict[json] PASSED [ 37%] tests/validators/test_date.py::test_union PASSED [ 37%] tests/validators/test_date.py::test_date_past[python-2022-06-08-expected0] PASSED [ 37%] tests/validators/test_date.py::test_date_past[python-1654646400-expected1] PASSED [ 37%] tests/validators/test_date.py::test_date_past[python-2068-06-08-expected2] PASSED [ 37%] tests/validators/test_date.py::test_date_past[python-3105734400-expected3] PASSED [ 37%] tests/validators/test_date.py::test_date_past[json-2022-06-08-expected0] PASSED [ 37%] tests/validators/test_date.py::test_date_past[json-1654646400-expected1] PASSED [ 37%] tests/validators/test_date.py::test_date_past[json-2068-06-08-expected2] PASSED [ 37%] tests/validators/test_date.py::test_date_past[json-3105734400-expected3] PASSED [ 37%] tests/validators/test_date.py::test_date_future[python-2022-06-08-expected0] PASSED [ 37%] tests/validators/test_date.py::test_date_future[python-1654646400-expected1] PASSED [ 37%] tests/validators/test_date.py::test_date_future[python-2068-06-08-expected2] PASSED [ 37%] tests/validators/test_date.py::test_date_future[python-3105734400-expected3] PASSED [ 37%] tests/validators/test_date.py::test_date_future[json-2022-06-08-expected0] PASSED [ 37%] tests/validators/test_date.py::test_date_future[json-1654646400-expected1] PASSED [ 37%] tests/validators/test_date.py::test_date_future[json-2068-06-08-expected2] PASSED [ 37%] tests/validators/test_date.py::test_date_future[json-3105734400-expected3] PASSED [ 37%] tests/validators/test_date.py::test_date_past_future_today PASSED [ 37%] tests/validators/test_date.py::test_offset_too_large PASSED [ 37%] tests/validators/test_datetime.py::test_datetime[input_value0-expected0] PASSED [ 37%] tests/validators/test_datetime.py::test_datetime[input_value1-expected1] PASSED [ 37%] tests/validators/test_datetime.py::test_datetime[2022-06-08T12:13:14-expected2] PASSED [ 37%] tests/validators/test_datetime.py::test_datetime[1000000000000-expected3] PASSED [ 37%] tests/validators/test_datetime.py::test_datetime[2022-06-08T12:13:14-expected4] PASSED [ 37%] tests/validators/test_datetime.py::test_datetime[2022-06-08T12:13:14Z-expected5] PASSED [ 37%] tests/validators/test_datetime.py::test_datetime[input_value6-expected6] PASSED [ 37%] tests/validators/test_datetime.py::test_datetime[input_value7-expected7] PASSED [ 37%] tests/validators/test_datetime.py::test_datetime[input_value8-expected8] PASSED [ 37%] tests/validators/test_datetime.py::test_datetime[1654646400-expected9] PASSED [ 37%] tests/validators/test_datetime.py::test_datetime[input_value10-expected10] PASSED [ 37%] tests/validators/test_datetime.py::test_datetime[input_value11-expected11] PASSED [ 37%] tests/validators/test_datetime.py::test_datetime[input_value12-expected12] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime[1654646400.1234568-expected13] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime[253402300800000-expected14] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime[-20000000000-expected15] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime[nan-expected16] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime[inf-expected17] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime[-inf-expected18] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_strict[input_value0-expected0] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_strict[input_value1-expected1] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_strict[2022-06-08T12:13:14-expected2] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_strict[2022-06-08T12:13:14-expected3] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_strict[input_value4-expected4] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_strict[1654646400-expected5] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_strict[input_value6-expected6] PASSED [ 38%] tests/validators/test_datetime.py::test_keep_tz PASSED [ 38%] tests/validators/test_datetime.py::test_keep_tz_bound PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[python-2022-06-08T12:13:14-expected0] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[python-2022-06-08T12:13:14Z-expected1] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[python-2022-06-08T12:13:14+12:15-expected2] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[python-2022-06-08T12:13:14+23:59-expected3] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[python-1655205632-expected4] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[python-1655205632.331557-expected5] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[python-2022-06-08T12:13:14+24:00-expected6] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[python-True-expected7] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[python-None-expected8] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[python-input_value9-expected9] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[json-2022-06-08T12:13:14-expected0] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[json-2022-06-08T12:13:14Z-expected1] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[json-2022-06-08T12:13:14+12:15-expected2] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[json-2022-06-08T12:13:14+23:59-expected3] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[json-1655205632-expected4] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[json-1655205632.331557-expected5] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[json-2022-06-08T12:13:14+24:00-expected6] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[json-True-expected7] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[json-None-expected8] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_json[json-input_value9-expected9] PASSED [ 38%] tests/validators/test_datetime.py::test_datetime_strict_json[2022-06-08T12:13:14-expected0] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_strict_json[2022-06-08T12:13:14Z-expected1] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_strict_json[123-expected2] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_strict_json[123.4-expected3] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_strict_json[True-expected4] PASSED [ 39%] tests/validators/test_datetime.py::test_custom_timezone_repr PASSED [ 39%] tests/validators/test_datetime.py::test_custom_timezone_utc_repr PASSED [ 39%] tests/validators/test_datetime.py::test_tz_comparison PASSED [ 39%] tests/validators/test_datetime.py::test_tz_info_deepcopy PASSED [ 39%] tests/validators/test_datetime.py::test_tz_info_copy PASSED [ 39%] tests/validators/test_datetime.py::test_custom_tz PASSED [ 39%] tests/validators/test_datetime.py::test_custom_invalid_tz PASSED [ 39%] tests/validators/test_datetime.py::test_dict_py PASSED [ 39%] tests/validators/test_datetime.py::test_dict[python] PASSED [ 39%] tests/validators/test_datetime.py::test_dict[json] PASSED [ 39%] tests/validators/test_datetime.py::test_union PASSED [ 39%] tests/validators/test_datetime.py::test_invalid_constraint PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_past[python-2022-06-08T12:13:14-expected0] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_past[python-2022-06-08T12:13:14Z-expected1] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_past[python-1655205632-expected2] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_past[python-2068-06-08T12:13:14-expected3] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_past[python-3105730800-expected4] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_past[json-2022-06-08T12:13:14-expected0] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_past[json-2022-06-08T12:13:14Z-expected1] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_past[json-1655205632-expected2] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_past[json-2068-06-08T12:13:14-expected3] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_past[json-3105730800-expected4] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_past_timezone PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_future[python-2068-06-08T12:13:14-expected0] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_future[python-2068-06-08T12:13:14Z-expected1] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_future[python-3105730800-expected2] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_future[python-2022-06-08T12:13:14-expected3] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_future[python-1655205632-expected4] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_future[json-2068-06-08T12:13:14-expected0] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_future[json-2068-06-08T12:13:14Z-expected1] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_future[json-3105730800-expected2] PASSED [ 39%] tests/validators/test_datetime.py::test_datetime_future[json-2022-06-08T12:13:14-expected3] PASSED [ 40%] tests/validators/test_datetime.py::test_datetime_future[json-1655205632-expected4] PASSED [ 40%] tests/validators/test_datetime.py::test_datetime_future_timezone PASSED [ 40%] tests/validators/test_datetime.py::test_mock_utc_offset_8_hours PASSED [ 40%] tests/validators/test_datetime.py::test_offset_too_large PASSED [ 40%] tests/validators/test_datetime.py::test_raises_schema_error_for_unknown_constraint_kind PASSED [ 40%] tests/validators/test_datetime.py::test_aware PASSED [ 40%] tests/validators/test_datetime.py::test_naive PASSED [ 40%] tests/validators/test_datetime.py::test_aware_specific PASSED [ 40%] tests/validators/test_datetime.py::test_neg_7200 PASSED [ 40%] tests/validators/test_datetime.py::test_tz_constraint_too_high PASSED [ 40%] tests/validators/test_datetime.py::test_tz_constraint_wrong PASSED [ 40%] tests/validators/test_datetime.py::test_tz_pickle PASSED [ 40%] tests/validators/test_datetime.py::test_tz_hash PASSED [ 40%] tests/validators/test_datetime.py::test_tz_cmp PASSED [ 40%] tests/validators/test_definitions.py::test_list_with_def PASSED [ 40%] tests/validators/test_definitions.py::test_ignored_def PASSED [ 40%] tests/validators/test_definitions.py::test_extract_used_refs_ignores_metadata PASSED [ 40%] tests/validators/test_definitions.py::test_check_ref_used_ignores_metadata PASSED [ 40%] tests/validators/test_definitions.py::test_def_error PASSED [ 40%] tests/validators/test_definitions.py::test_dict_repeat PASSED [ 40%] tests/validators/test_definitions.py::test_repeated_ref PASSED [ 40%] tests/validators/test_definitions.py::test_repeat_after PASSED [ 40%] tests/validators/test_definitions.py::test_deep PASSED [ 40%] tests/validators/test_definitions.py::test_use_after PASSED [ 40%] tests/validators/test_definitions_recursive.py::test_branch_nullable PASSED [ 40%] tests/validators/test_definitions_recursive.py::test_branch_nullable_definitions PASSED [ 40%] tests/validators/test_definitions_recursive.py::test_unused_ref PASSED [ 40%] tests/validators/test_definitions_recursive.py::test_nullable_error PASSED [ 40%] tests/validators/test_definitions_recursive.py::test_list PASSED [ 40%] tests/validators/test_definitions_recursive.py::test_multiple_intertwined PASSED [ 40%] tests/validators/test_definitions_recursive.py::test_model_class PASSED [ 40%] tests/validators/test_definitions_recursive.py::test_invalid_schema PASSED [ 40%] tests/validators/test_definitions_recursive.py::test_outside_parent PASSED [ 40%] tests/validators/test_definitions_recursive.py::test_recursion_branch PASSED [ 40%] tests/validators/test_definitions_recursive.py::test_recursion_branch_from_attributes PASSED [ 40%] tests/validators/test_definitions_recursive.py::test_definition_list PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_multiple_tuple_param[input_value0-expected0] PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_multiple_tuple_param[input_value1-expected1] PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_multiple_tuple_param[input_value2-expected2] PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_multiple_tuple_param[input_value3-expected3] PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_multiple_tuple_param[input_value4-expected4] PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_multiple_tuple_repeat PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_multiple_tuple_recursion PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_multiple_tuple_recursion_once PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_definition_wrap PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_union_ref_strictness PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_union_container_strictness PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_union_cycle[strict=True] PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_union_cycle[strict=False] PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_function_name PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_function_change_id[strict=True] PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_function_change_id[strict=False] PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_many_uses_of_ref PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_error_inside_definition_wrapper PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_recursive_definitions_schema PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_unsorted_definitions_schema PASSED [ 41%] tests/validators/test_definitions_recursive.py::test_validate_assignment PASSED [ 41%] tests/validators/test_dict.py::test_dict[python] PASSED [ 41%] tests/validators/test_dict.py::test_dict[json] PASSED [ 41%] tests/validators/test_dict.py::test_dict_cases[{'1': b'1', '2': b'2'}-{'1': '1', '2': '2'}] PASSED [ 41%] tests/validators/test_dict.py::test_dict_cases[OrderedDict([('a', b'1'), ('b', '2')])-{'a': '1', 'b': '2'}] PASSED [ 41%] tests/validators/test_dict.py::test_dict_cases[{}-{}] PASSED [ 41%] tests/validators/test_dict.py::test_dict_cases['foobar'-Err("Input should be a valid dictionary [type=dict_type, input_value='foobar', input_type=str]")] PASSED [ 41%] tests/validators/test_dict.py::test_dict_cases[[]-Err('Input should be a valid dictionary [type=dict_type,')] PASSED [ 41%] tests/validators/test_dict.py::test_dict_cases[[('x', 'y')]-Err('Input should be a valid dictionary [type=dict_type,')] PASSED [ 41%] tests/validators/test_dict.py::test_dict_cases[[('x', 'y'), ('z', 'z')]-Err('Input should be a valid dictionary [type=dict_type,')] PASSED [ 41%] tests/validators/test_dict.py::test_dict_cases[()-Err('Input should be a valid dictionary [type=dict_type,')] PASSED [ 41%] tests/validators/test_dict.py::test_dict_cases[(('x', 'y'),)-Err('Input should be a valid dictionary [type=dict_type,')] PASSED [ 41%] tests/validators/test_dict.py::test_dict_cases[-Err('Input should be a valid dictionary [type=dict_type,')] PASSED [ 41%] tests/validators/test_dict.py::test_dict_value_error[python] PASSED [ 41%] tests/validators/test_dict.py::test_dict_value_error[json] PASSED [ 41%] tests/validators/test_dict.py::test_dict_error_key_int PASSED [ 42%] tests/validators/test_dict.py::test_dict_error_key_other PASSED [ 42%] tests/validators/test_dict.py::test_dict_any_value PASSED [ 42%] tests/validators/test_dict.py::test_mapping PASSED [ 42%] tests/validators/test_dict.py::test_key_error PASSED [ 42%] tests/validators/test_dict.py::test_mapping_error PASSED [ 42%] tests/validators/test_dict.py::test_mapping_error_yield_1[mapping_items0] PASSED [ 42%] tests/validators/test_dict.py::test_mapping_error_yield_1[mapping_items1] PASSED [ 42%] tests/validators/test_dict.py::test_mapping_error_yield_1[mapping_items2] PASSED [ 42%] tests/validators/test_dict.py::test_mapping_error_yield_1[not list] PASSED [ 42%] tests/validators/test_dict.py::test_dict_length_constraints[kwargs0-input_value0-expected0] PASSED [ 42%] tests/validators/test_dict.py::test_dict_length_constraints[kwargs1-input_value1-expected1] PASSED [ 42%] tests/validators/test_dict.py::test_dict_length_constraints[kwargs2-input_value2-expected2] PASSED [ 42%] tests/validators/test_dict.py::test_dict_length_constraints[kwargs3-input_value3-expected3] PASSED [ 42%] tests/validators/test_dict.py::test_dict_length_constraints[kwargs4-input_value4-expected4] PASSED [ 42%] tests/validators/test_dict.py::test_json_dict PASSED [ 42%] tests/validators/test_float.py::test_float[python-0-0] PASSED [ 42%] tests/validators/test_float.py::test_float[python-1-1] PASSED [ 42%] tests/validators/test_float.py::test_float[python-42-420] PASSED [ 42%] tests/validators/test_float.py::test_float[python-42-421] PASSED [ 42%] tests/validators/test_float.py::test_float[python-42.123-42.123] PASSED [ 42%] tests/validators/test_float.py::test_float[python-42.0-42] PASSED [ 42%] tests/validators/test_float.py::test_float[python-42.5-42.5] PASSED [ 42%] tests/validators/test_float.py::test_float[python-10000000000.0-10000000000.0] PASSED [ 42%] tests/validators/test_float.py::test_float[python-True-1] PASSED [ 42%] tests/validators/test_float.py::test_float[python-False-0] PASSED [ 42%] tests/validators/test_float.py::test_float[python-wrong-expected10] PASSED [ 42%] tests/validators/test_float.py::test_float[python-input_value11-expected11] PASSED [ 42%] tests/validators/test_float.py::test_float[json-0-0] PASSED [ 42%] tests/validators/test_float.py::test_float[json-1-1] PASSED [ 42%] tests/validators/test_float.py::test_float[json-42-420] PASSED [ 42%] tests/validators/test_float.py::test_float[json-42-421] PASSED [ 42%] tests/validators/test_float.py::test_float[json-42.123-42.123] PASSED [ 42%] tests/validators/test_float.py::test_float[json-42.0-42] PASSED [ 42%] tests/validators/test_float.py::test_float[json-42.5-42.5] PASSED [ 42%] tests/validators/test_float.py::test_float[json-10000000000.0-10000000000.0] PASSED [ 42%] tests/validators/test_float.py::test_float[json-True-1] PASSED [ 43%] tests/validators/test_float.py::test_float[json-False-0] PASSED [ 43%] tests/validators/test_float.py::test_float[json-wrong-expected10] PASSED [ 43%] tests/validators/test_float.py::test_float[json-input_value11-expected11] PASSED [ 43%] tests/validators/test_float.py::test_float_strict[python-0-0] PASSED [ 43%] tests/validators/test_float.py::test_float_strict[python-1-1] PASSED [ 43%] tests/validators/test_float.py::test_float_strict[python-42-42] PASSED [ 43%] tests/validators/test_float.py::test_float_strict[python-42.0-42.0] PASSED [ 43%] tests/validators/test_float.py::test_float_strict[python-42.5-42.5] PASSED [ 43%] tests/validators/test_float.py::test_float_strict[python-'42'-Err("Input should be a valid number [type=float_type, input_value='42', input_type=str]")] PASSED [ 43%] tests/validators/test_float.py::test_float_strict[python-True-Err('Input should be a valid number [type=float_type, input_value=True, input_type=bool]')] PASSED [ 43%] tests/validators/test_float.py::test_float_strict[json-0-0] PASSED [ 43%] tests/validators/test_float.py::test_float_strict[json-1-1] PASSED [ 43%] tests/validators/test_float.py::test_float_strict[json-42-42] PASSED [ 43%] tests/validators/test_float.py::test_float_strict[json-42.0-42.0] PASSED [ 43%] tests/validators/test_float.py::test_float_strict[json-42.5-42.5] PASSED [ 43%] tests/validators/test_float.py::test_float_strict[json-'42'-Err("Input should be a valid number [type=float_type, input_value='42', input_type=str]")] PASSED [ 43%] tests/validators/test_float.py::test_float_strict[json-True-Err('Input should be a valid number [type=float_type, input_value=True, input_type=bool]')] PASSED [ 43%] tests/validators/test_float.py::test_float_kwargs[python-kwargs0-0-0] PASSED [ 43%] tests/validators/test_float.py::test_float_kwargs[python-kwargs1-123.456-123.456] PASSED [ 43%] tests/validators/test_float.py::test_float_kwargs[python-kwargs2-0-0] PASSED [ 43%] tests/validators/test_float.py::test_float_kwargs[python-kwargs3--0.1-expected3] PASSED [ 43%] tests/validators/test_float.py::test_float_kwargs[python-kwargs4-0.1-0.1] PASSED [ 43%] tests/validators/test_float.py::test_float_kwargs[python-kwargs5-0-expected5] PASSED [ 43%] tests/validators/test_float.py::test_float_kwargs[python-kwargs6-0-0] PASSED [ 43%] tests/validators/test_float.py::test_float_kwargs[python-kwargs7--1--1] PASSED [ 43%] tests/validators/test_float.py::test_float_kwargs[python-kwargs8-0.1-expected8] PASSED [ 43%] tests/validators/test_float.py::test_float_kwargs[python-kwargs9-0-expected9] PASSED [ 43%] tests/validators/test_float.py::test_float_kwargs[python-kwargs10-1-expected10] PASSED [ 43%] tests/validators/test_float.py::test_float_kwargs[json-kwargs0-0-0] PASSED [ 43%] tests/validators/test_float.py::test_float_kwargs[json-kwargs1-123.456-123.456] PASSED [ 43%] tests/validators/test_float.py::test_float_kwargs[json-kwargs2-0-0] PASSED [ 43%] tests/validators/test_float.py::test_float_kwargs[json-kwargs3--0.1-expected3] PASSED [ 43%] tests/validators/test_float.py::test_float_kwargs[json-kwargs4-0.1-0.1] PASSED [ 43%] tests/validators/test_float.py::test_float_kwargs[json-kwargs5-0-expected5] PASSED [ 43%] tests/validators/test_float.py::test_float_kwargs[json-kwargs6-0-0] PASSED [ 44%] tests/validators/test_float.py::test_float_kwargs[json-kwargs7--1--1] PASSED [ 44%] tests/validators/test_float.py::test_float_kwargs[json-kwargs8-0.1-expected8] PASSED [ 44%] tests/validators/test_float.py::test_float_kwargs[json-kwargs9-0-expected9] PASSED [ 44%] tests/validators/test_float.py::test_float_kwargs[json-kwargs10-1-expected10] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[python-0.5-0.5-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[python-0.5-1-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[python-0.5-0.6-Err('Input should be a multiple of 0.5')] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[python-0.5-0.51-Err('Input should be a multiple of 0.5')] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[python-0.5-0.501-Err('Input should be a multiple of 0.5')] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[python-0.5-1000000.5-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[python-0.5-1000000.49-Err('Input should be a multiple of 0.5')] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-0-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-0.0-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-0.2-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-0.3-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-0.4-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-0.5-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-0.5001-Err('Input should be a multiple of 0.1')] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-1-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-1.0-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-50000000000-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[json-0.5-0.5-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[json-0.5-1-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[json-0.5-0.6-Err('Input should be a multiple of 0.5')] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[json-0.5-0.51-Err('Input should be a multiple of 0.5')] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[json-0.5-0.501-Err('Input should be a multiple of 0.5')] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[json-0.5-1000000.5-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[json-0.5-1000000.49-Err('Input should be a multiple of 0.5')] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-0-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-0.0-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-0.2-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-0.3-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-0.4-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-0.5-None] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-0.5001-Err('Input should be a multiple of 0.1')] PASSED [ 44%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-1-None] PASSED [ 45%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-1.0-None] PASSED [ 45%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-50000000000-None] PASSED [ 45%] tests/validators/test_float.py::test_union_float[python] PASSED [ 45%] tests/validators/test_float.py::test_union_float[json] PASSED [ 45%] tests/validators/test_float.py::test_union_float_simple[python] PASSED [ 45%] tests/validators/test_float.py::test_union_float_simple[json] PASSED [ 45%] tests/validators/test_float.py::test_float_repr PASSED [ 45%] tests/validators/test_float.py::test_float_not_json[input_value0-1.23] PASSED [ 45%] tests/validators/test_float.py::test_float_not_json[input_value1-1.0] PASSED [ 45%] tests/validators/test_float.py::test_float_nan[python] PASSED [ 45%] tests/validators/test_float.py::test_float_nan[json] PASSED [ 45%] tests/validators/test_float.py::test_float_key[python] PASSED [ 45%] tests/validators/test_float.py::test_float_key[json] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[python-NaN-True-expected0] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[python-NaN-False-expected1] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[python-+inf-True-expected2] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[python-+inf-False-expected3] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[python-+infinity-True-expected4] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[python-+infinity-False-expected5] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[python--inf-True-expected6] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[python--inf-False-expected7] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[python--infinity-True-expected8] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[python--infinity-False-expected9] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[python-0.7-True-0.7] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[python-0.7-False-0.7] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[python-pika-True-expected12] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[python-pika-False-expected13] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[json-NaN-True-expected0] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[json-NaN-False-expected1] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[json-+inf-True-expected2] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[json-+inf-False-expected3] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[json-+infinity-True-expected4] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[json-+infinity-False-expected5] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[json--inf-True-expected6] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[json--inf-False-expected7] PASSED [ 45%] tests/validators/test_float.py::test_non_finite_json_values[json--infinity-True-expected8] PASSED [ 46%] tests/validators/test_float.py::test_non_finite_json_values[json--infinity-False-expected9] PASSED [ 46%] tests/validators/test_float.py::test_non_finite_json_values[json-0.7-True-0.7] PASSED [ 46%] tests/validators/test_float.py::test_non_finite_json_values[json-0.7-False-0.7] PASSED [ 46%] tests/validators/test_float.py::test_non_finite_json_values[json-pika-True-expected12] PASSED [ 46%] tests/validators/test_float.py::test_non_finite_json_values[json-pika-False-expected13] PASSED [ 46%] tests/validators/test_float.py::test_non_finite_float_values[nan-True-expected0-True] PASSED [ 46%] tests/validators/test_float.py::test_non_finite_float_values[nan-True-expected0-False] PASSED [ 46%] tests/validators/test_float.py::test_non_finite_float_values[nan-False-expected1-True] PASSED [ 46%] tests/validators/test_float.py::test_non_finite_float_values[nan-False-expected1-False] PASSED [ 46%] tests/validators/test_float.py::test_non_finite_constrained_float_values[inf-True-expected0] PASSED [ 46%] tests/validators/test_float.py::test_non_finite_constrained_float_values[inf-False-expected1] PASSED [ 46%] tests/validators/test_float.py::test_non_finite_constrained_float_values[-inf-True-expected2] PASSED [ 46%] tests/validators/test_float.py::test_non_finite_constrained_float_values[-inf-False-expected3] PASSED [ 46%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1.0e-12-1e-12] PASSED [ 46%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1e-12-1e-12] PASSED [ 46%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[12e-1-1.2] PASSED [ 46%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1.0E-12-1e-12] PASSED [ 46%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1E-12-1e-12] PASSED [ 46%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[12E-1-1.2] PASSED [ 46%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1.0e+12-1000000000000.0] PASSED [ 46%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1e+12-1000000000000.0] PASSED [ 46%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[12e+1-120.0] PASSED [ 46%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1.0E+12-1000000000000.0] PASSED [ 46%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1E+12-1000000000000.0] PASSED [ 46%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[12E+1-120.0] PASSED [ 46%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1.0e12-1000000000000.0] PASSED [ 46%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1e12-1000000000000.0] PASSED [ 46%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[12e1-120.0] PASSED [ 46%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1.0E12-1000000000000.0] PASSED [ 46%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1E12-1000000000000.0] PASSED [ 46%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[12E1-120.0] PASSED [ 46%] tests/validators/test_frozenset.py::test_frozenset_ints_both[python-input_value0-expected0] PASSED [ 46%] tests/validators/test_frozenset.py::test_frozenset_ints_both[python-input_value1-expected1] PASSED [ 46%] tests/validators/test_frozenset.py::test_frozenset_ints_both[python-input_value2-expected2] PASSED [ 46%] tests/validators/test_frozenset.py::test_frozenset_ints_both[python-input_value3-expected3] PASSED [ 46%] tests/validators/test_frozenset.py::test_frozenset_ints_both[json-input_value0-expected0] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_both[json-input_value1-expected1] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_both[json-input_value2-expected2] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_both[json-input_value3-expected3] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_any[input_value0-expected0] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_any[input_value1-expected1] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_any[input_value2-expected2] PASSED [ 47%] tests/validators/test_frozenset.py::test_no_copy PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[python-input_value0-expected0] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[python-foo-expected1] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[python-1-expected2] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[python-1.0-expected3] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[python-False-expected4] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[json-input_value0-expected0] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[json-foo-expected1] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[json-1-expected2] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[json-1.0-expected3] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[json-False-expected4] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value0-expected0] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value1-expected1] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value2-expected2] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value3-expected3] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value4-expected4] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value5-expected5] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value6-expected6] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value7-expected7] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value8-expected8] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value9-expected9] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value10-expected10] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_python[-expected11] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value12-expected12] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value13-expected13] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value14-expected14] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_ints_python[abc-expected15] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_no_validators_python[input_value0-expected0] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_no_validators_python[input_value1-expected1] PASSED [ 47%] tests/validators/test_frozenset.py::test_frozenset_no_validators_python[input_value2-expected2] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_multiple_errors PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs0-input_value0-expected0] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs1-input_value1-expected1] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs2-input_value2-expected2] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs3-input_value3-expected3] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs4-input_value4-expected4] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs5-input_value5-expected5] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs6-input_value6-expected6] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs7-input_value7-expected7] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs8-abc-expected8] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs9-input_value9-expected9] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs10-input_value10-expected10] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs11-input_value11-expected11] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs12-input_value12-expected12] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs13-input_value13-expected13] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs14-input_value14-expected14] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs15-generate_repeats-expected15] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs16-infinite_generator-expected16] PASSED [ 48%] tests/validators/test_frozenset.py::test_union_frozenset_list[input_value0-expected0] PASSED [ 48%] tests/validators/test_frozenset.py::test_union_frozenset_list[input_value1-expected1] PASSED [ 48%] tests/validators/test_frozenset.py::test_union_frozenset_int_frozenset_str[input_value0-expected0] PASSED [ 48%] tests/validators/test_frozenset.py::test_union_frozenset_int_frozenset_str[input_value1-expected1] PASSED [ 48%] tests/validators/test_frozenset.py::test_union_frozenset_int_frozenset_str[input_value2-expected2] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_as_dict_keys[python] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_as_dict_keys[json] PASSED [ 48%] tests/validators/test_frozenset.py::test_repr PASSED [ 48%] tests/validators/test_frozenset.py::test_generator_error PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_from_dict_items[Tuple[Any, Any]] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_from_dict_items[Tuple[int, int]] PASSED [ 48%] tests/validators/test_frozenset.py::test_frozenset_from_dict_items[Any] PASSED [ 48%] tests/validators/test_function.py::test_function_before PASSED [ 48%] tests/validators/test_function.py::test_function_before_no_info PASSED [ 48%] tests/validators/test_function.py::test_function_before_raise PASSED [ 48%] tests/validators/test_function.py::test_function_before_error PASSED [ 48%] tests/validators/test_function.py::test_function_before_error_hide_input[config0-type=string_too_long, input_value='12345x', input_type=str] PASSED [ 48%] tests/validators/test_function.py::test_function_before_error_hide_input[config1-type=string_too_long, input_value='12345x', input_type=str] PASSED [ 49%] tests/validators/test_function.py::test_function_before_error_hide_input[config2-type=string_too_long] PASSED [ 49%] tests/validators/test_function.py::test_function_before_error_model PASSED [ 49%] tests/validators/test_function.py::test_val_info_repr[None-kwargs0-ValidationInfo(config=None, context=None)] PASSED [ 49%] tests/validators/test_function.py::test_val_info_repr[None-kwargs1-ValidationInfo(config=None, context={1: 2})] PASSED [ 49%] tests/validators/test_function.py::test_val_info_repr[None-kwargs2-ValidationInfo(config=None, context=None)] PASSED [ 49%] tests/validators/test_function.py::test_val_info_repr[config3-kwargs3-ValidationInfo(config={'title': 'hello'}, context=None)] PASSED [ 49%] tests/validators/test_function.py::test_function_wrap PASSED [ 49%] tests/validators/test_function.py::test_function_wrap_no_info PASSED [ 49%] tests/validators/test_function.py::test_function_wrap_repr PASSED [ 49%] tests/validators/test_function.py::test_function_wrap_str PASSED [ 49%] tests/validators/test_function.py::test_function_wrap_not_callable PASSED [ 49%] tests/validators/test_function.py::test_wrap_error PASSED [ 49%] tests/validators/test_function.py::test_function_wrap_error_hide_input[config0-type=int_parsing, input_value='wrong', input_type=str] PASSED [ 49%] tests/validators/test_function.py::test_function_wrap_error_hide_input[config1-type=int_parsing, input_value='wrong', input_type=str] PASSED [ 49%] tests/validators/test_function.py::test_function_wrap_error_hide_input[config2-type=int_parsing] PASSED [ 49%] tests/validators/test_function.py::test_function_wrap_location PASSED [ 49%] tests/validators/test_function.py::test_function_wrap_invalid_location PASSED [ 49%] tests/validators/test_function.py::test_function_after PASSED [ 49%] tests/validators/test_function.py::test_function_no_info PASSED [ 49%] tests/validators/test_function.py::test_function_after_raise PASSED [ 49%] tests/validators/test_function.py::test_function_after_error_hide_input[config0-type=value_error, input_value='input value', input_type=str] PASSED [ 49%] tests/validators/test_function.py::test_function_after_error_hide_input[config1-type=value_error, input_value='input value', input_type=str] PASSED [ 49%] tests/validators/test_function.py::test_function_after_error_hide_input[config2-type=value_error] PASSED [ 49%] tests/validators/test_function.py::test_function_after_config PASSED [ 49%] tests/validators/test_function.py::test_config_no_model PASSED [ 49%] tests/validators/test_function.py::test_function_plain PASSED [ 49%] tests/validators/test_function.py::test_function_plain_no_info PASSED [ 49%] tests/validators/test_function.py::test_plain_with_schema PASSED [ 49%] tests/validators/test_function.py::test_validate_assignment PASSED [ 49%] tests/validators/test_function.py::test_function_wrong_sig PASSED [ 49%] tests/validators/test_function.py::test_class_with_validator PASSED [ 49%] tests/validators/test_function.py::test_raise_assertion_error PASSED [ 49%] tests/validators/test_function.py::test_raise_assertion_error_plain PASSED [ 49%] tests/validators/test_function.py::test_error_with_error[ValueError] PASSED [ 49%] tests/validators/test_function.py::test_error_with_error[AssertionError] PASSED [ 50%] tests/validators/test_function.py::test_raise_type_error PASSED [ 50%] tests/validators/test_function.py::test_model_field_before_validator PASSED [ 50%] tests/validators/test_function.py::test_model_field_after_validator PASSED [ 50%] tests/validators/test_function.py::test_model_field_plain_validator PASSED [ 50%] tests/validators/test_function.py::test_model_field_wrap_validator PASSED [ 50%] tests/validators/test_function.py::test_non_model_field_before_validator_tries_to_access_field_info PASSED [ 50%] tests/validators/test_function.py::test_non_model_field_after_validator_tries_to_access_field_info PASSED [ 50%] tests/validators/test_function.py::test_non_model_field_plain_validator_tries_to_access_field_info PASSED [ 50%] tests/validators/test_function.py::test_non_model_field_wrap_validator_tries_to_access_field_info PASSED [ 50%] tests/validators/test_function.py::test_typed_dict_data PASSED [ 50%] tests/validators/test_function.py::test_model_root_function_assignment[before] PASSED [ 50%] tests/validators/test_function.py::test_model_root_function_assignment[after] PASSED [ 50%] tests/validators/test_function.py::test_model_root_function_assignment[wrap] PASSED [ 50%] tests/validators/test_function.py::test_function_validation_info_mode PASSED [ 50%] tests/validators/test_function.py::test_reprs PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_int[python-[1, 2, 3]-[1, 2, 3]] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_int[python-[1, 2, '3']-[1, 2, 3]] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_int[python-{1: 2, 3: 4}-[1, 3]] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_int[python-'123'-[1, 2, 3]] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_int[python-5-Err('[type=iterable_type, input_value=5, input_type=int]')] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_int[python-[1, 'wrong']-Err("[type=int_parsing, input_value='wrong', input_type=str]")] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_int[json-[1, 2, 3]-[1, 2, 3]] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_int[json-[1, 2, '3']-[1, 2, 3]] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_int[json-{1: 2, 3: 4}-[1, 3]] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_int[json-'123'-[1, 2, 3]] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_int[json-5-Err('[type=iterable_type, input_value=5, input_type=int]')] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_int[json-[1, 'wrong']-Err("[type=int_parsing, input_value='wrong', input_type=str]")] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_hide_input[python-config0-type=iterable_type, input_value=5, input_type=int] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_hide_input[python-config1-type=iterable_type, input_value=5, input_type=int] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_hide_input[python-config2-type=iterable_type] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_hide_input[json-config0-type=iterable_type, input_value=5, input_type=int] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_hide_input[json-config1-type=iterable_type, input_value=5, input_type=int] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_hide_input[json-config2-type=iterable_type] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_any[python-[1, 2, 3]-[1, 2, 3]] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_any[python-[1, 2, '3']-[1, 2, '3']] PASSED [ 50%] tests/validators/test_generator.py::test_generator_json_any[python-{'1': 2, '3': 4}-['1', '3']] PASSED [ 51%] tests/validators/test_generator.py::test_generator_json_any[python-'123'-['1', '2', '3']] PASSED [ 51%] tests/validators/test_generator.py::test_generator_json_any[python-5-Err('[type=iterable_type, input_value=5, input_type=int]')] PASSED [ 51%] tests/validators/test_generator.py::test_generator_json_any[python-[1, 'wrong']-[1, 'wrong']] PASSED [ 51%] tests/validators/test_generator.py::test_generator_json_any[json-[1, 2, 3]-[1, 2, 3]] PASSED [ 51%] tests/validators/test_generator.py::test_generator_json_any[json-[1, 2, '3']-[1, 2, '3']] PASSED [ 51%] tests/validators/test_generator.py::test_generator_json_any[json-{'1': 2, '3': 4}-['1', '3']] PASSED [ 51%] tests/validators/test_generator.py::test_generator_json_any[json-'123'-['1', '2', '3']] PASSED [ 51%] tests/validators/test_generator.py::test_generator_json_any[json-5-Err('[type=iterable_type, input_value=5, input_type=int]')] PASSED [ 51%] tests/validators/test_generator.py::test_generator_json_any[json-[1, 'wrong']-[1, 'wrong']] PASSED [ 51%] tests/validators/test_generator.py::test_error_index[python] PASSED [ 51%] tests/validators/test_generator.py::test_error_index[json] PASSED [ 51%] tests/validators/test_generator.py::test_too_long[python] PASSED [ 51%] tests/validators/test_generator.py::test_too_long[json] PASSED [ 51%] tests/validators/test_generator.py::test_too_short[python] PASSED [ 51%] tests/validators/test_generator.py::test_too_short[json] PASSED [ 51%] tests/validators/test_generator.py::test_generator_too_long PASSED [ 51%] tests/validators/test_generator.py::test_generator_too_short PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[python-False-0] PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[python-True-1] PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[python-0-00] PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[python-0-01] PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[python-1-1] PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[python-42-420] PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[python-42-421] PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[python-42.0-420] PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[python-42.0-421] PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[python-123456789.0-123456789] PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[python-123456789123456.00001-expected10] PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[python-10000000000-10000000000] PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[python-9223372036854775807-9223372036854775807] PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[python-float-remainder] PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[python-string] PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[python-list0] PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[python-list1] PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[json-False-0] PASSED [ 51%] tests/validators/test_int.py::test_int_py_and_json[json-True-1] PASSED [ 52%] tests/validators/test_int.py::test_int_py_and_json[json-0-00] PASSED [ 52%] tests/validators/test_int.py::test_int_py_and_json[json-0-01] PASSED [ 52%] tests/validators/test_int.py::test_int_py_and_json[json-1-1] PASSED [ 52%] tests/validators/test_int.py::test_int_py_and_json[json-42-420] PASSED [ 52%] tests/validators/test_int.py::test_int_py_and_json[json-42-421] PASSED [ 52%] tests/validators/test_int.py::test_int_py_and_json[json-42.0-420] PASSED [ 52%] tests/validators/test_int.py::test_int_py_and_json[json-42.0-421] PASSED [ 52%] tests/validators/test_int.py::test_int_py_and_json[json-123456789.0-123456789] PASSED [ 52%] tests/validators/test_int.py::test_int_py_and_json[json-123456789123456.00001-expected10] PASSED [ 52%] tests/validators/test_int.py::test_int_py_and_json[json-10000000000-10000000000] PASSED [ 52%] tests/validators/test_int.py::test_int_py_and_json[json-9223372036854775807-9223372036854775807] PASSED [ 52%] tests/validators/test_int.py::test_int_py_and_json[json-float-remainder] PASSED [ 52%] tests/validators/test_int.py::test_int_py_and_json[json-string] PASSED [ 52%] tests/validators/test_int.py::test_int_py_and_json[json-list0] PASSED [ 52%] tests/validators/test_int.py::test_int_py_and_json[json-list1] PASSED [ 52%] tests/validators/test_int.py::test_int[Decimal('1')-1] PASSED [ 52%] tests/validators/test_int.py::test_int[Decimal('1.0')-1] PASSED [ 52%] tests/validators/test_int.py::test_int[9223372036854775807-9223372036854775807] PASSED [ 52%] tests/validators/test_int.py::test_int['9223372036854775807'-9223372036854775807] PASSED [ 52%] tests/validators/test_int.py::test_int['18446744073709551614'-18446744073709551614] PASSED [ 52%] tests/validators/test_int.py::test_int[9223372036854775808-9223372036854775808] PASSED [ 52%] tests/validators/test_int.py::test_int[-9223372036854775806--9223372036854775806] PASSED [ 52%] tests/validators/test_int.py::test_int[18446744073709551614-18446744073709551614] PASSED [ 52%] tests/validators/test_int.py::test_int[-18446744073709551614--18446744073709551614] PASSED [ 52%] tests/validators/test_int.py::test_int[decimal-remainder] PASSED [ 52%] tests/validators/test_int.py::test_int[tuple] PASSED [ 52%] tests/validators/test_int.py::test_positive_int[input_value0-1] PASSED [ 52%] tests/validators/test_int.py::test_positive_int[input_value1-1] PASSED [ 52%] tests/validators/test_int.py::test_positive_int[9223372036854775807-9223372036854775807] PASSED [ 52%] tests/validators/test_int.py::test_positive_int[9223372036854775808-9223372036854775808] PASSED [ 52%] tests/validators/test_int.py::test_positive_int[-9223372036854775806-expected4] PASSED [ 52%] tests/validators/test_int.py::test_positive_int[18446744073709551614-18446744073709551614] PASSED [ 52%] tests/validators/test_int.py::test_positive_int[999999999999999999999999999999-999999999999999999999999999999] PASSED [ 52%] tests/validators/test_int.py::test_positive_int[0-expected7] PASSED [ 52%] tests/validators/test_int.py::test_positive_int[-1-expected8] PASSED [ 52%] tests/validators/test_int.py::test_positive_int[decimal-remainder] PASSED [ 53%] tests/validators/test_int.py::test_positive_int[tuple] PASSED [ 53%] tests/validators/test_int.py::test_negative_int[-1--1] PASSED [ 53%] tests/validators/test_int.py::test_negative_int[0-expected1] PASSED [ 53%] tests/validators/test_int.py::test_negative_int[-9223372036854775807--9223372036854775807] PASSED [ 53%] tests/validators/test_int.py::test_negative_int[-9223372036854775808--9223372036854775808] PASSED [ 53%] tests/validators/test_int.py::test_negative_int[-999999999999999999999999999999--999999999999999999999999999999] PASSED [ 53%] tests/validators/test_int.py::test_positive_json[1-1] PASSED [ 53%] tests/validators/test_int.py::test_positive_json[9223372036854775807-9223372036854775807] PASSED [ 53%] tests/validators/test_int.py::test_positive_json[9223372036854775808-9223372036854775808] PASSED [ 53%] tests/validators/test_int.py::test_positive_json[18446744073709551614-18446744073709551614] PASSED [ 53%] tests/validators/test_int.py::test_positive_json[1000000000000000019884624838656-1000000000000000019884624838656] PASSED [ 53%] tests/validators/test_int.py::test_positive_json[0-expected5] PASSED [ 53%] tests/validators/test_int.py::test_positive_json[-1-expected6] PASSED [ 53%] tests/validators/test_int.py::test_positive_json[list] PASSED [ 53%] tests/validators/test_int.py::test_negative_json[-1--1] PASSED [ 53%] tests/validators/test_int.py::test_negative_json[0-expected1] PASSED [ 53%] tests/validators/test_int.py::test_negative_json[-9223372036854775807--9223372036854775807] PASSED [ 53%] tests/validators/test_int.py::test_negative_json[-9223372036854775808--9223372036854775808] PASSED [ 53%] tests/validators/test_int.py::test_negative_json[-18446744073709551614--18446744073709551614] PASSED [ 53%] tests/validators/test_int.py::test_int_strict[python-0-0] PASSED [ 53%] tests/validators/test_int.py::test_int_strict[python-1-1] PASSED [ 53%] tests/validators/test_int.py::test_int_strict[python-42-42] PASSED [ 53%] tests/validators/test_int.py::test_int_strict[python-float-exact] PASSED [ 53%] tests/validators/test_int.py::test_int_strict[python-float-remainder] PASSED [ 53%] tests/validators/test_int.py::test_int_strict[python-string] PASSED [ 53%] tests/validators/test_int.py::test_int_strict[python-bool] PASSED [ 53%] tests/validators/test_int.py::test_int_strict[json-0-0] PASSED [ 53%] tests/validators/test_int.py::test_int_strict[json-1-1] PASSED [ 53%] tests/validators/test_int.py::test_int_strict[json-42-42] PASSED [ 53%] tests/validators/test_int.py::test_int_strict[json-float-exact] PASSED [ 53%] tests/validators/test_int.py::test_int_strict[json-float-remainder] PASSED [ 53%] tests/validators/test_int.py::test_int_strict[json-string] PASSED [ 53%] tests/validators/test_int.py::test_int_strict[json-bool] PASSED [ 53%] tests/validators/test_int.py::test_int_kwargs[python-{}-0-0] PASSED [ 53%] tests/validators/test_int.py::test_int_kwargs[python-{}-'123.000'-123] PASSED [ 53%] tests/validators/test_int.py::test_int_kwargs[python-{'ge': 0}-0-0] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[python-{'ge': 0}--1-Err('Input should be greater than or equal to 0 [type=greater_than_equal, input_value=-1, input_type=int]')] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[python-{'gt': 0}-1-1] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[python-{'gt': 0}-0-Err('Input should be greater than 0 [type=greater_than, input_value=0, input_type=int]')] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[python-{'le': 0}-0-0] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[python-{'le': 0}--1--1] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[python-{'le': 0}-1-Err('Input should be less than or equal to 0')] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[python-{'lt': 0}-0-Err('Input should be less than 0')] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[python-{'lt': 0}-1-Err('Input should be less than 0')] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[python-{'multiple_of': 5}-15-15] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[python-{'multiple_of': 5}-6-Err('Input should be a multiple of 5')] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[json-{}-0-0] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[json-{}-'123.000'-123] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[json-{'ge': 0}-0-0] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[json-{'ge': 0}--1-Err('Input should be greater than or equal to 0 [type=greater_than_equal, input_value=-1, input_type=int]')] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[json-{'gt': 0}-1-1] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[json-{'gt': 0}-0-Err('Input should be greater than 0 [type=greater_than, input_value=0, input_type=int]')] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[json-{'le': 0}-0-0] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[json-{'le': 0}--1--1] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[json-{'le': 0}-1-Err('Input should be less than or equal to 0')] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[json-{'lt': 0}-0-Err('Input should be less than 0')] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[json-{'lt': 0}-1-Err('Input should be less than 0')] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[json-{'multiple_of': 5}-15-15] PASSED [ 54%] tests/validators/test_int.py::test_int_kwargs[json-{'multiple_of': 5}-6-Err('Input should be a multiple of 5')] PASSED [ 54%] tests/validators/test_int.py::test_union_int[python] PASSED [ 54%] tests/validators/test_int.py::test_union_int[json] PASSED [ 54%] tests/validators/test_int.py::test_union_int_simple[python] PASSED [ 54%] tests/validators/test_int.py::test_union_int_simple[json] PASSED [ 54%] tests/validators/test_int.py::test_int_repr PASSED [ 54%] tests/validators/test_int.py::test_too_long PASSED [ 54%] tests/validators/test_int.py::test_long_python PASSED [ 54%] tests/validators/test_int.py::test_long_python_inequality PASSED [ 54%] tests/validators/test_int.py::test_long_json PASSED [ 54%] tests/validators/test_int.py::test_int_key[python] PASSED [ 54%] tests/validators/test_int.py::test_int_key[json] PASSED [ 54%] tests/validators/test_is_instance.py::test_validate_json PASSED [ 54%] tests/validators/test_is_instance.py::test_is_instance PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_cases[Foo-input_val0-True] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_cases[Foo-Foo-False] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_cases[Foo-input_val2-True] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_cases[Foo-Bar-False] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_cases[Bar-input_val4-False] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_cases[Bar-Foo-False] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_cases[dict-input_val6-True] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_cases[dict-input_val7-False] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_cases[type-Foo-True] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_cases[type-input_val9-False] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_invalid[123] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_invalid[foo] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_invalid[input_cls2] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_invalid[input_cls3] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_invalid[input_cls4] PASSED [ 55%] tests/validators/test_is_instance.py::test_instancecheck PASSED [ 55%] tests/validators/test_is_instance.py::test_repr PASSED [ 55%] tests/validators/test_is_instance.py::test_is_type[Foo-True] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_type[input_val1-False] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_type[str-True] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_type[foo-False] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_type[int-True] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_type[1-False] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_type[type-True] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_type[Foobar-True] PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_dict PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_dict_not_str PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_sequence PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_tuple PASSED [ 55%] tests/validators/test_is_instance.py::test_class_repr PASSED [ 55%] tests/validators/test_is_instance.py::test_is_instance_json_type_before_validator PASSED [ 55%] tests/validators/test_is_subclass.py::test_is_subclass_basic PASSED [ 55%] tests/validators/test_is_subclass.py::test_is_subclass[Foo-True] PASSED [ 55%] tests/validators/test_is_subclass.py::test_is_subclass[Foobar-True] PASSED [ 55%] tests/validators/test_is_subclass.py::test_is_subclass[Bar-False] PASSED [ 55%] tests/validators/test_is_subclass.py::test_is_subclass[type-False] PASSED [ 56%] tests/validators/test_is_subclass.py::test_is_subclass[1-False] PASSED [ 56%] tests/validators/test_is_subclass.py::test_is_subclass[foo-False] PASSED [ 56%] tests/validators/test_is_subclass.py::test_is_subclass[input_value6-False] PASSED [ 56%] tests/validators/test_is_subclass.py::test_is_subclass[input_value7-False] PASSED [ 56%] tests/validators/test_is_subclass.py::test_is_subclass[input_value8-False] PASSED [ 56%] tests/validators/test_is_subclass.py::test_not_parent PASSED [ 56%] tests/validators/test_is_subclass.py::test_invalid_type PASSED [ 56%] tests/validators/test_is_subclass.py::test_custom_repr PASSED [ 56%] tests/validators/test_json.py::test_any[python-{"a": 1}-expected0] PASSED [ 56%] tests/validators/test_json.py::test_any[python-"a"-a] PASSED [ 56%] tests/validators/test_json.py::test_any[python-1-1] PASSED [ 56%] tests/validators/test_json.py::test_any[python-[1, 2, 3, "4"]-expected3] PASSED [ 56%] tests/validators/test_json.py::test_any[python-{1: 2}-expected4] PASSED [ 56%] tests/validators/test_json.py::test_any[python-44-expected5] PASSED [ 56%] tests/validators/test_json.py::test_any[json-{"a": 1}-expected0] PASSED [ 56%] tests/validators/test_json.py::test_any[json-"a"-a] PASSED [ 56%] tests/validators/test_json.py::test_any[json-1-1] PASSED [ 56%] tests/validators/test_json.py::test_any[json-[1, 2, 3, "4"]-expected3] PASSED [ 56%] tests/validators/test_json.py::test_any[json-{1: 2}-expected4] PASSED [ 56%] tests/validators/test_json.py::test_any[json-44-expected5] PASSED [ 56%] tests/validators/test_json.py::test_any_python[{"a": 1}-expected0] PASSED [ 56%] tests/validators/test_json.py::test_any_python[{"a": 1}-expected1] PASSED [ 56%] tests/validators/test_json.py::test_any_python[input_value2-expected2] PASSED [ 56%] tests/validators/test_json.py::test_any_python[xx-expected3] PASSED [ 56%] tests/validators/test_json.py::test_any_python[xx-expected4] PASSED [ 56%] tests/validators/test_json.py::test_any_python[input_value5-expected5] PASSED [ 56%] tests/validators/test_json.py::test_list_int[python-[1]-expected0] PASSED [ 56%] tests/validators/test_json.py::test_list_int[python-[1, 2, 3, "4"]-expected1] PASSED [ 56%] tests/validators/test_json.py::test_list_int[python-44-expected2] PASSED [ 56%] tests/validators/test_json.py::test_list_int[python-"x"-expected3] PASSED [ 56%] tests/validators/test_json.py::test_list_int[python-[1, 2, 3, "err"]-expected4] PASSED [ 56%] tests/validators/test_json.py::test_list_int[json-[1]-expected0] PASSED [ 56%] tests/validators/test_json.py::test_list_int[json-[1, 2, 3, "4"]-expected1] PASSED [ 56%] tests/validators/test_json.py::test_list_int[json-44-expected2] PASSED [ 56%] tests/validators/test_json.py::test_list_int[json-"x"-expected3] PASSED [ 57%] tests/validators/test_json.py::test_list_int[json-[1, 2, 3, "err"]-expected4] PASSED [ 57%] tests/validators/test_json.py::test_dict_key[python] PASSED [ 57%] tests/validators/test_json.py::test_dict_key[json] PASSED [ 57%] tests/validators/test_json.py::test_any_schema_no_schema PASSED [ 57%] tests/validators/test_json_or_python.py::test_json_or_python PASSED [ 57%] tests/validators/test_lax_or_strict.py::test_lax_or_strict PASSED [ 57%] tests/validators/test_lax_or_strict.py::test_lax_or_strict_default_strict PASSED [ 57%] tests/validators/test_list.py::test_list_py_or_json[python-[1, 2, 3]-[1, 2, 3]] PASSED [ 57%] tests/validators/test_list.py::test_list_py_or_json[python-[1, 2, '3']-[1, 2, 3]] PASSED [ 57%] tests/validators/test_list.py::test_list_py_or_json[python-5-Err('Input should be a valid (list|array) \\\\[type=list_type, input_value=5, input_type=int\\\\]')] PASSED [ 57%] tests/validators/test_list.py::test_list_py_or_json[python-'5'-Err("Input should be a valid (list|array) \\\\[type=list_type, input_value='5', input_type=str\\\\]")] PASSED [ 57%] tests/validators/test_list.py::test_list_py_or_json[json-[1, 2, 3]-[1, 2, 3]] PASSED [ 57%] tests/validators/test_list.py::test_list_py_or_json[json-[1, 2, '3']-[1, 2, 3]] PASSED [ 57%] tests/validators/test_list.py::test_list_py_or_json[json-5-Err('Input should be a valid (list|array) \\\\[type=list_type, input_value=5, input_type=int\\\\]')] PASSED [ 57%] tests/validators/test_list.py::test_list_py_or_json[json-'5'-Err("Input should be a valid (list|array) \\\\[type=list_type, input_value='5', input_type=str\\\\]")] PASSED [ 57%] tests/validators/test_list.py::test_list_strict PASSED [ 57%] tests/validators/test_list.py::test_list_no_copy PASSED [ 57%] tests/validators/test_list.py::test_list_int[[1, 2, '3']-[1, 2, 3]] PASSED [ 57%] tests/validators/test_list.py::test_list_int[(1, 2, '3')-[1, 2, 3]] PASSED [ 57%] tests/validators/test_list.py::test_list_int[deque([1, 2, '3'])-[1, 2, 3]] PASSED [ 57%] tests/validators/test_list.py::test_list_int[{'3', 1, 2}-IsList(1, 2, 3, check_order=False)] PASSED [ 57%] tests/validators/test_list.py::test_list_int[-[1, 2, 3]] PASSED [ 57%] tests/validators/test_list.py::test_list_int[frozenset({'3', 1, 2})-IsList(1, 2, 3, check_order=False)] PASSED [ 57%] tests/validators/test_list.py::test_list_int[dict_keys([1, 2, '3'])-[1, 2, 3]] PASSED [ 57%] tests/validators/test_list.py::test_list_int[dict_values([10, 20, '30'])-[10, 20, 30]] PASSED [ 57%] tests/validators/test_list.py::test_list_int[{1: 10, 2: 20, '3': '30'}-Err('Input should be a valid list [type=list_type,')] PASSED [ 57%] tests/validators/test_list.py::test_list_int[ at 0x7fb87e2ba5a0>-[1, 2, 3]] PASSED [ 57%] tests/validators/test_list.py::test_list_int['456'-Err("Input should be a valid list [type=list_type, input_value='456', input_type=str]")] PASSED [ 57%] tests/validators/test_list.py::test_list_int[b'789'-Err("Input should be a valid list [type=list_type, input_value=b'789', input_type=bytes]")] PASSED [ 57%] tests/validators/test_list.py::test_list_json PASSED [ 57%] tests/validators/test_list.py::test_list_any[input_value0-expected0] PASSED [ 57%] tests/validators/test_list.py::test_list_any[input_value1-expected1] PASSED [ 57%] tests/validators/test_list.py::test_list_any[input_value2-expected2] PASSED [ 57%] tests/validators/test_list.py::test_list_any[input_value3-expected3] PASSED [ 57%] tests/validators/test_list.py::test_list_any[input_value4-expected4] PASSED [ 57%] tests/validators/test_list.py::test_list_any[input_value5-expected5] PASSED [ 58%] tests/validators/test_list.py::test_list_any[input_value6-expected6] PASSED [ 58%] tests/validators/test_list.py::test_list_error[input_value0-0] PASSED [ 58%] tests/validators/test_list.py::test_list_error[input_value1-0] PASSED [ 58%] tests/validators/test_list.py::test_list_error[input_value2-0] PASSED [ 58%] tests/validators/test_list.py::test_list_error[input_value3-3] PASSED [ 58%] tests/validators/test_list.py::test_list_error[input_value4-3] PASSED [ 58%] tests/validators/test_list.py::test_list_error[input_value5-3] PASSED [ 58%] tests/validators/test_list.py::test_list_length_constraints[kwargs0-input_value0-expected0] PASSED [ 58%] tests/validators/test_list.py::test_list_length_constraints[kwargs1-input_value1-expected1] PASSED [ 58%] tests/validators/test_list.py::test_list_length_constraints[kwargs2-input_value2-expected2] PASSED [ 58%] tests/validators/test_list.py::test_list_length_constraints[kwargs3-input_value3-expected3] PASSED [ 58%] tests/validators/test_list.py::test_list_length_constraints[kwargs4-input_value4-expected4] PASSED [ 58%] tests/validators/test_list.py::test_list_length_constraints[kwargs5-input_value5-expected5] PASSED [ 58%] tests/validators/test_list.py::test_list_length_constraints[kwargs6-input_value6-expected6] PASSED [ 58%] tests/validators/test_list.py::test_list_length_constraints[kwargs7-input_value7-expected7] PASSED [ 58%] tests/validators/test_list.py::test_list_length_constraints[kwargs8-infinite_generator-expected8] PASSED [ 58%] tests/validators/test_list.py::test_list_length_constraints_omit[input_value0-expected0] PASSED [ 58%] tests/validators/test_list.py::test_list_length_constraints_omit[input_value1-expected1] PASSED [ 58%] tests/validators/test_list.py::test_list_length_constraints_omit[input_value2-expected2] PASSED [ 58%] tests/validators/test_list.py::test_length_ctx PASSED [ 58%] tests/validators/test_list.py::test_list_function PASSED [ 58%] tests/validators/test_list.py::test_list_function_val_error PASSED [ 58%] tests/validators/test_list.py::test_list_function_internal_error PASSED [ 58%] tests/validators/test_list.py::test_generator_error PASSED [ 58%] tests/validators/test_list.py::test_list_from_dict_items[Tuple[Any, Any]] PASSED [ 58%] tests/validators/test_list.py::test_list_from_dict_items[Tuple[int, int]] PASSED [ 58%] tests/validators/test_list.py::test_list_from_dict_items[Any] PASSED [ 58%] tests/validators/test_list.py::test_bad_iter[int] PASSED [ 58%] tests/validators/test_list.py::test_bad_iter[any] PASSED [ 58%] tests/validators/test_list.py::test_max_length_fail_fast[True] PASSED [ 58%] tests/validators/test_list.py::test_max_length_fail_fast[False] PASSED [ 58%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=[1, 2, 3], output=[1, 2, 3], strict=True)] PASSED [ 58%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=[1, 2, 3], output=[1, 2, 3], strict=False)] PASSED [ 58%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=[1, 2, 3], output=[1, 2, 3], strict=None)] PASSED [ 58%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=(1, 2, 3), output=Err('Input should be a valid list [type=list_type,'), strict=True)] PASSED [ 58%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=frozenset({1, 2, 3}), output=Err('Input should be a valid list [type=list_type,'), strict=True)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input={1, 2, 3}, output=Err('Input should be a valid list [type=list_type,'), strict=True)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=deque([1, 2, 3]), output=Err('Input should be a valid list [type=list_type,'), strict=True)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=dict_keys([1, 2, 3]), output=Err('Input should be a valid list [type=list_type,'), strict=True)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=dict_values([1, 2, 3]), output=Err('Input should be a valid list [type=list_type,'), strict=True)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=MySequence([1, 2, 3]), output=Err('Input should be a valid list [type=list_type,'), strict=True)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=KeysView(MyMapping({1: 'a', 2: 'b', 3: 'c'})), output=Err('Input should be a valid list [type=list_type,'), strict=True)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=ValuesView(MyMapping({'a': 1, 'b': 2, 'c': 3})), output=Err('Input should be a valid list [type=list_type,'), strict=True)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input= at 0x7fb87d6d5d80>, output=Err('Input should be a valid list [type=list_type,'), strict=True)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input='123', output=Err('Input should be a valid list [type=list_type,'), strict=True)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=b'123', output=Err('Input should be a valid list [type=list_type,'), strict=True)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=(1, 2, 3), output=[1, 2, 3], strict=False)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=frozenset({1, 2, 3}), output=[1, 2, 3], strict=False)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input={1, 2, 3}, output=[1, 2, 3], strict=False)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=deque([1, 2, 3]), output=[1, 2, 3], strict=False)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=dict_keys([1, 2, 3]), output=[1, 2, 3], strict=False)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=dict_values([1, 2, 3]), output=[1, 2, 3], strict=False)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=MySequence([1, 2, 3]), output=[1, 2, 3], strict=False)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=KeysView(MyMapping({1: 'a', 2: 'b', 3: 'c'})), output=[1, 2, 3], strict=False)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=ValuesView(MyMapping({'a': 1, 'b': 2, 'c': 3})), output=[1, 2, 3], strict=False)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input= at 0x7fb87d6d5d80>, output=[1, 2, 3], strict=False)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input='123', output=Err('Input should be a valid list [type=list_type,'), strict=False)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=b'123', output=Err('Input should be a valid list [type=list_type,'), strict=False)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=MyMapping({1: 'a', 2: 'b', 3: 'c'}), output=Err('Input should be a valid list [type=list_type,'), strict=False)] PASSED [ 59%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input={1: 'a', 2: 'b', 3: 'c'}, output=Err('Input should be a valid list [type=list_type,'), strict=False)] PASSED [ 59%] tests/validators/test_list.py::test_list_dict_items_input[ListInputTestCase(input=dict_items([(1, 1), (2, 2), (3, 3)]), output=Err('Input should be a valid list [type=list_type,'), strict=True)] PASSED [ 59%] tests/validators/test_list.py::test_list_dict_items_input[ListInputTestCase(input=ItemsView(MyMapping({1: 1, 2: 2, 3: 3})), output=Err('Input should be a valid list [type=list_type,'), strict=True)] PASSED [ 59%] tests/validators/test_list.py::test_list_dict_items_input[ListInputTestCase(input=dict_items([(1, 1), (2, 2), (3, 3)]), output=[(1, 1), (2, 2), (3, 3)], strict=False)] PASSED [ 59%] tests/validators/test_list.py::test_list_dict_items_input[ListInputTestCase(input=ItemsView(MyMapping({1: 1, 2: 2, 3: 3})), output=[(1, 1), (2, 2), (3, 3)], strict=False)] PASSED [ 59%] tests/validators/test_literal.py::test_literal_py_and_json[python-kwarg_expected0-1-1] PASSED [ 59%] tests/validators/test_literal.py::test_literal_py_and_json[python-wrong-single-int] PASSED [ 59%] tests/validators/test_literal.py::test_literal_py_and_json[python-kwarg_expected2-foo-foo] PASSED [ 59%] tests/validators/test_literal.py::test_literal_py_and_json[python-wrong-single-str] PASSED [ 59%] tests/validators/test_literal.py::test_literal_py_and_json[python-kwarg_expected4-1-1] PASSED [ 59%] tests/validators/test_literal.py::test_literal_py_and_json[python-kwarg_expected5-2-2] PASSED [ 59%] tests/validators/test_literal.py::test_literal_py_and_json[python-wrong-multiple-int0] PASSED [ 59%] tests/validators/test_literal.py::test_literal_py_and_json[python-kwarg_expected7-4-4] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[python-wrong-multiple-int1] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[python-kwarg_expected9-a-a] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[python-wrong-multiple-str] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[python-kwarg_expected11-1-1] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[python-kwarg_expected12-1-1] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[python-wrong-str-int] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[json-kwarg_expected0-1-1] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[json-wrong-single-int] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[json-kwarg_expected2-foo-foo] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[json-wrong-single-str] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[json-kwarg_expected4-1-1] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[json-kwarg_expected5-2-2] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[json-wrong-multiple-int0] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[json-kwarg_expected7-4-4] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[json-wrong-multiple-int1] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[json-kwarg_expected9-a-a] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[json-wrong-multiple-str] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[json-kwarg_expected11-1-1] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[json-kwarg_expected12-1-1] PASSED [ 60%] tests/validators/test_literal.py::test_literal_py_and_json[json-wrong-str-int] PASSED [ 60%] tests/validators/test_literal.py::test_literal_not_json[kwarg_expected0-whatever-whatever] PASSED [ 60%] tests/validators/test_literal.py::test_literal_not_json[kwarg_expected1-input_value1-expected1] PASSED [ 60%] tests/validators/test_literal.py::test_literal_not_json[kwarg_expected2-input_value2-expected2] PASSED [ 60%] tests/validators/test_literal.py::test_literal_not_json[wrong-general] PASSED [ 60%] tests/validators/test_literal.py::test_literal_not_json[kwarg_expected4-bite-bite] PASSED [ 60%] tests/validators/test_literal.py::test_literal_not_json[single-byte] PASSED [ 60%] tests/validators/test_literal.py::test_build_error PASSED [ 60%] tests/validators/test_literal.py::test_literal_none PASSED [ 60%] tests/validators/test_literal.py::test_union PASSED [ 60%] tests/validators/test_literal.py::test_enum_value PASSED [ 60%] tests/validators/test_literal.py::test_str_enum_values PASSED [ 60%] tests/validators/test_literal.py::test_int_enum_values PASSED [ 60%] tests/validators/test_literal.py::test_mix_int_enum_with_int[-err0] PASSED [ 60%] tests/validators/test_literal.py::test_mix_int_enum_with_int[-err1] PASSED [ 60%] tests/validators/test_literal.py::test_mix_str_enum_with_str[-err0] PASSED [ 60%] tests/validators/test_literal.py::test_mix_str_enum_with_str[-err1] PASSED [ 61%] tests/validators/test_model.py::test_model_class PASSED [ 61%] tests/validators/test_model.py::test_model_class_extra PASSED [ 61%] tests/validators/test_model.py::test_model_class_setattr PASSED [ 61%] tests/validators/test_model.py::test_model_class_root_validator_wrap PASSED [ 61%] tests/validators/test_model.py::test_model_class_root_validator_before PASSED [ 61%] tests/validators/test_model.py::test_model_class_root_validator_after PASSED [ 61%] tests/validators/test_model.py::test_function_ask[before] PASSED [ 61%] tests/validators/test_model.py::test_function_ask[after] PASSED [ 61%] tests/validators/test_model.py::test_function_ask[wrap] PASSED [ 61%] tests/validators/test_model.py::test_function_plain_ask PASSED [ 61%] tests/validators/test_model.py::test_union_sub_schema PASSED [ 61%] tests/validators/test_model.py::test_tagged_union_sub_schema PASSED [ 61%] tests/validators/test_model.py::test_bad_sub_schema PASSED [ 61%] tests/validators/test_model.py::test_model_class_function_after PASSED [ 61%] tests/validators/test_model.py::test_model_class_not_type PASSED [ 61%] tests/validators/test_model.py::test_model_class_instance_direct PASSED [ 61%] tests/validators/test_model.py::test_model_class_instance_subclass PASSED [ 61%] tests/validators/test_model.py::test_model_class_instance_subclass_revalidate PASSED [ 61%] tests/validators/test_model.py::test_model_class_strict PASSED [ 61%] tests/validators/test_model.py::test_model_class_strict_json PASSED [ 61%] tests/validators/test_model.py::test_internal_error PASSED [ 61%] tests/validators/test_model.py::test_revalidate_always PASSED [ 61%] tests/validators/test_model.py::test_revalidate_subclass_instances PASSED [ 61%] tests/validators/test_model.py::test_revalidate_extra PASSED [ 61%] tests/validators/test_model.py::test_post_init PASSED [ 61%] tests/validators/test_model.py::test_revalidate_post_init PASSED [ 61%] tests/validators/test_model.py::test_post_init_validation_error PASSED [ 61%] tests/validators/test_model.py::test_post_init_internal_error PASSED [ 61%] tests/validators/test_model.py::test_post_init_mutate PASSED [ 61%] tests/validators/test_model.py::test_validate_assignment PASSED [ 61%] tests/validators/test_model.py::test_validate_assignment_function PASSED [ 61%] tests/validators/test_model.py::test_validate_assignment_no_fields_set PASSED [ 61%] tests/validators/test_model.py::test_frozen PASSED [ 61%] tests/validators/test_model.py::test_validate_assignment_model_validator_function[general_after_validator_function-call10-call20] PASSED [ 61%] tests/validators/test_model.py::test_validate_assignment_model_validator_function[general_before_validator_function-call11-call21] PASSED [ 61%] tests/validators/test_model.py::test_validate_assignment_model_validator_function[general_wrap_validator_function-call12-call22] PASSED [ 62%] tests/validators/test_model.py::test_model_error PASSED [ 62%] tests/validators/test_model_fields.py::test_simple PASSED [ 62%] tests/validators/test_model_fields.py::test_strict PASSED [ 62%] tests/validators/test_model_fields.py::test_with_default PASSED [ 62%] tests/validators/test_model_fields.py::test_missing_error PASSED [ 62%] tests/validators/test_model_fields.py::test_config[{}-{'a': '123'}-({'a': 123, 'b': 4.2}, None, {'a'})] PASSED [ 62%] tests/validators/test_model_fields.py::test_config[{}-Map(a=123)-({'a': 123, 'b': 4.2}, None, {'a'})] PASSED [ 62%] tests/validators/test_model_fields.py::test_config[{}-{b'a': '123'}-Err('Field required [type=missing,')] PASSED [ 62%] tests/validators/test_model_fields.py::test_config[{}-{'a': '123', 'c': 4}-({'a': 123, 'b': 4.2}, None, {'a'})] PASSED [ 62%] tests/validators/test_model_fields.py::test_config[{'extra_fields_behavior': 'allow'}-{'a': '123', 'c': 4}-({'a': 123, 'b': 4.2}, {'c': 4}, {'c', 'a'})] PASSED [ 62%] tests/validators/test_model_fields.py::test_config[{'extra_fields_behavior': 'allow'}-{'a': '123', b'c': 4}-Err('Keys should be strings [type=invalid_key,')] PASSED [ 62%] tests/validators/test_model_fields.py::test_config[{'strict': True}-Map(a=123)-Err('Input should be a valid dictionary or instance of Model [type=model_type,')] PASSED [ 62%] tests/validators/test_model_fields.py::test_config[{}-{'a': '123', 'b': '4.7'}-({'a': 123, 'b': 4.7}, None, {'a', 'b'})] PASSED [ 62%] tests/validators/test_model_fields.py::test_config[{}-{'a': '123', 'b': 'nan'}-({'a': 123, 'b': FunctionCheck(isnan)}, None, {'a', 'b'})] PASSED [ 62%] tests/validators/test_model_fields.py::test_config[{'allow_inf_nan': False}-{'a': '123', 'b': 'nan'}-Err('Input should be a finite number [type=finite_number,')] PASSED [ 62%] tests/validators/test_model_fields.py::test_ignore_extra PASSED [ 62%] tests/validators/test_model_fields.py::test_forbid_extra PASSED [ 62%] tests/validators/test_model_fields.py::test_allow_extra_invalid PASSED [ 62%] tests/validators/test_model_fields.py::test_allow_extra_wrong PASSED [ 62%] tests/validators/test_model_fields.py::test_str_config PASSED [ 62%] tests/validators/test_model_fields.py::test_validate_assignment PASSED [ 62%] tests/validators/test_model_fields.py::test_validate_assignment_strict_field PASSED [ 62%] tests/validators/test_model_fields.py::test_validate_assignment_functions PASSED [ 62%] tests/validators/test_model_fields.py::test_validate_assignment_ignore_extra PASSED [ 62%] tests/validators/test_model_fields.py::test_validate_assignment_allow_extra PASSED [ 62%] tests/validators/test_model_fields.py::test_validate_assignment_allow_extra_validate PASSED [ 62%] tests/validators/test_model_fields.py::test_validate_assignment_with_strict PASSED [ 62%] tests/validators/test_model_fields.py::test_json_error PASSED [ 62%] tests/validators/test_model_fields.py::test_missing_schema_key PASSED [ 62%] tests/validators/test_model_fields.py::test_fields_required_by_default PASSED [ 62%] tests/validators/test_model_fields.py::test_fields_required_by_default_with_default PASSED [ 62%] tests/validators/test_model_fields.py::test_alias[python] PASSED [ 62%] tests/validators/test_model_fields.py::test_alias[json] PASSED [ 62%] tests/validators/test_model_fields.py::test_empty_string_field_name[python] PASSED [ 62%] tests/validators/test_model_fields.py::test_empty_string_field_name[json] PASSED [ 63%] tests/validators/test_model_fields.py::test_empty_string_aliases[python] PASSED [ 63%] tests/validators/test_model_fields.py::test_empty_string_aliases[json] PASSED [ 63%] tests/validators/test_model_fields.py::test_alias_allow_pop[python] PASSED [ 63%] tests/validators/test_model_fields.py::test_alias_allow_pop[json] PASSED [ 63%] tests/validators/test_model_fields.py::test_alias_path[python-{'foo': {'bar': '123'}}-({'field_a': 123}, None, {'field_a'})] PASSED [ 63%] tests/validators/test_model_fields.py::test_alias_path[python-{'x': '123'}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 63%] tests/validators/test_model_fields.py::test_alias_path[python-{'foo': '123'}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 63%] tests/validators/test_model_fields.py::test_alias_path[python-{'foo': [1, 2, 3]}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 63%] tests/validators/test_model_fields.py::test_alias_path[python-{'foo': {'bat': '123'}}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 63%] tests/validators/test_model_fields.py::test_alias_path[json-{'foo': {'bar': '123'}}-({'field_a': 123}, None, {'field_a'})] PASSED [ 63%] tests/validators/test_model_fields.py::test_alias_path[json-{'x': '123'}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 63%] tests/validators/test_model_fields.py::test_alias_path[json-{'foo': '123'}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 63%] tests/validators/test_model_fields.py::test_alias_path[json-{'foo': [1, 2, 3]}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 63%] tests/validators/test_model_fields.py::test_alias_path[json-{'foo': {'bat': '123'}}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'foo': {'bar': {'bat': '123'}}}-({'field_a': 123}, None, {'field_a'})] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'foo': [1, 2, 3, 4]}-({'field_a': 4}, None, {'field_a'})] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'foo': (1, 2, 3, 4)}-({'field_a': 4}, None, {'field_a'})] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'spam': 5}-({'field_a': 5}, None, {'field_a'})] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'spam': 1, 'foo': {'bar': {'bat': 2}}}-({'field_a': 2}, None, {'field_a'})] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'foo': {'x': 2}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'x': '123'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'x': {2: 33}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'foo': '01234'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'foo': [1]}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'foo': {'bar': {'bat': '123'}}}-({'field_a': 123}, None, {'field_a'})] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'foo': [1, 2, 3, 4]}-({'field_a': 4}, None, {'field_a'})] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'foo': (1, 2, 3, 4)}-({'field_a': 4}, None, {'field_a'})] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'spam': 5}-({'field_a': 5}, None, {'field_a'})] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'spam': 1, 'foo': {'bar': {'bat': 2}}}-({'field_a': 2}, None, {'field_a'})] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'foo': {'x': 2}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'x': '123'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'x': {2: 33}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'foo': '01234'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'foo': [1]}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_negative[{'foo': {-2: '123'}}-({'field_a': 123}, None, {'field_a'})] PASSED [ 63%] tests/validators/test_model_fields.py::test_aliases_path_negative[{'foo': [1, 42, 'xx']}-({'field_a': 42}, None, {'field_a'})] PASSED [ 64%] tests/validators/test_model_fields.py::test_aliases_path_negative[{'foo': [42, 'xxx', 42]}-Err('Input should be a valid integer,')] PASSED [ 64%] tests/validators/test_model_fields.py::test_aliases_path_negative[{'foo': [42]}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 64%] tests/validators/test_model_fields.py::test_aliases_path_negative[{'foo': {'xx': '123'}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 64%] tests/validators/test_model_fields.py::test_aliases_path_negative[{'foo': {'-2': '123'}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 64%] tests/validators/test_model_fields.py::test_aliases_path_negative[{'foo': {2: '123'}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 64%] tests/validators/test_model_fields.py::test_aliases_path_negative[{'foo': 'foobar'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 64%] tests/validators/test_model_fields.py::test_aliases_path_negative[{'foo': {0, 1, 2}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 64%] tests/validators/test_model_fields.py::test_aliases_path_negative_json[python-{'foo': [1, 42, 'xx']}-({'field_a': 42}, None, {'field_a'})] PASSED [ 64%] tests/validators/test_model_fields.py::test_aliases_path_negative_json[python-{'foo': [42, 'xxx', 42]}-Err('Input should be a valid integer,')] PASSED [ 64%] tests/validators/test_model_fields.py::test_aliases_path_negative_json[python-{'foo': [42]}-Err('foo.-2\\\\n +Field required \\\\[type=missing,')] PASSED [ 64%] tests/validators/test_model_fields.py::test_aliases_path_negative_json[json-{'foo': [1, 42, 'xx']}-({'field_a': 42}, None, {'field_a'})] PASSED [ 64%] tests/validators/test_model_fields.py::test_aliases_path_negative_json[json-{'foo': [42, 'xxx', 42]}-Err('Input should be a valid integer,')] PASSED [ 64%] tests/validators/test_model_fields.py::test_aliases_path_negative_json[json-{'foo': [42]}-Err('foo.-2\\\\n +Field required \\\\[type=missing,')] PASSED [ 64%] tests/validators/test_model_fields.py::test_aliases_debug PASSED [ 64%] tests/validators/test_model_fields.py::test_paths_allow_by_name[python-{'foo': {'bar': 42}}] PASSED [ 64%] tests/validators/test_model_fields.py::test_paths_allow_by_name[python-{'foo': 42}] PASSED [ 64%] tests/validators/test_model_fields.py::test_paths_allow_by_name[python-{'field_a': 42}] PASSED [ 64%] tests/validators/test_model_fields.py::test_paths_allow_by_name[json-{'foo': {'bar': 42}}] PASSED [ 64%] tests/validators/test_model_fields.py::test_paths_allow_by_name[json-{'foo': 42}] PASSED [ 64%] tests/validators/test_model_fields.py::test_paths_allow_by_name[json-{'field_a': 42}] PASSED [ 64%] tests/validators/test_model_fields.py::test_alias_build_error[{'validation_alias': ['foo', ['bar']]}-'Input should be a valid string'] PASSED [ 64%] tests/validators/test_model_fields.py::test_alias_build_error[{'validation_alias': []}-'Lookup paths should have at least one element'] PASSED [ 64%] tests/validators/test_model_fields.py::test_alias_build_error[{'validation_alias': [[]]}-'Each alias path should have at least one element'] PASSED [ 64%] tests/validators/test_model_fields.py::test_alias_build_error[{'validation_alias': [123]}-"TypeError: 'int' object cannot be converted to 'PyList'"] PASSED [ 64%] tests/validators/test_model_fields.py::test_alias_build_error[{'validation_alias': [[[]]]}-'Input should be a valid string'] PASSED [ 64%] tests/validators/test_model_fields.py::test_alias_build_error[{'validation_alias': [[1, 'foo']]}-'TypeError: The first item in an alias path should be a string'] PASSED [ 64%] tests/validators/test_model_fields.py::test_alias_error_loc_alias[python] PASSED [ 64%] tests/validators/test_model_fields.py::test_alias_error_loc_alias[json] PASSED [ 64%] tests/validators/test_model_fields.py::test_alias_error_loc_field_names[python] PASSED [ 64%] tests/validators/test_model_fields.py::test_alias_error_loc_field_names[json] PASSED [ 64%] tests/validators/test_model_fields.py::test_empty_model PASSED [ 64%] tests/validators/test_model_fields.py::test_model_fields_deep PASSED [ 64%] tests/validators/test_model_fields.py::test_from_attributes[schema--({'a': 1, 'b': 2, 'c': 'ham'}, None, {'c', 'b', 'a'})] PASSED [ 64%] tests/validators/test_model_fields.py::test_from_attributes[schema-MyDataclass(a=1, b=2, c='ham')-({'a': 1, 'b': 2, 'c': 'ham'}, None, {'c', 'b', 'a'})] PASSED [ 64%] tests/validators/test_model_fields.py::test_from_attributes[schema-Cls(a=1, b=2, c='ham')-({'a': 1, 'b': 2, 'c': 'ham'}, None, {'c', 'b', 'a'})] PASSED [ 64%] tests/validators/test_model_fields.py::test_from_attributes[schema-{'a': 1, 'b': 2, 'c': 'ham'}-({'a': 1, 'b': 2, 'c': 'ham'}, None, {'c', 'b', 'a'})] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[schema-Map(a=1, b=2, c='ham')-({'a': 1, 'b': 2, 'c': 'ham'}, None, {'c', 'b', 'a'})] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[schema-(Cls(a=1, b=2), {'c': 'ham'})-({'a': 1, 'b': 2, 'c': 'ham'}, None, {'c', 'b', 'a'})] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[schema-(Cls(a=1, b=2), {'c': 'bacon'})-({'a': 1, 'b': 2, 'c': 'bacon'}, None, {'c', 'b', 'a'})] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[schema-(Cls(a=1, b=2, c='ham'), {'c': 'bacon'})-({'a': 1, 'b': 2, 'c': 'bacon'}, None, {'c', 'b', 'a'})] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[schema-(Cls(a=1, b=2, c='ham'), {'d': 'bacon'})-({'a': 1, 'b': 2, 'c': 'ham'}, None, {'c', 'b', 'a'})] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[schema--Err('[type=model_attributes_type,')] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[schema-'123'-Err('Input should be a valid dictionary or object to extract fields from [type=model_attributes_type,')] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[schema-[(1, 2)]-Err('type=model_attributes_type,')] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[schema-((1, 2),)-Err('type=model_attributes_type,')] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[validation--({'a': 1, 'b': 2, 'c': 'ham'}, None, {'c', 'b', 'a'})] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[validation-MyDataclass(a=1, b=2, c='ham')-({'a': 1, 'b': 2, 'c': 'ham'}, None, {'c', 'b', 'a'})] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[validation-Cls(a=1, b=2, c='ham')-({'a': 1, 'b': 2, 'c': 'ham'}, None, {'c', 'b', 'a'})] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[validation-{'a': 1, 'b': 2, 'c': 'ham'}-({'a': 1, 'b': 2, 'c': 'ham'}, None, {'c', 'b', 'a'})] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[validation-Map(a=1, b=2, c='ham')-({'a': 1, 'b': 2, 'c': 'ham'}, None, {'c', 'b', 'a'})] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[validation-(Cls(a=1, b=2), {'c': 'ham'})-({'a': 1, 'b': 2, 'c': 'ham'}, None, {'c', 'b', 'a'})] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[validation-(Cls(a=1, b=2), {'c': 'bacon'})-({'a': 1, 'b': 2, 'c': 'bacon'}, None, {'c', 'b', 'a'})] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[validation-(Cls(a=1, b=2, c='ham'), {'c': 'bacon'})-({'a': 1, 'b': 2, 'c': 'bacon'}, None, {'c', 'b', 'a'})] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[validation-(Cls(a=1, b=2, c='ham'), {'d': 'bacon'})-({'a': 1, 'b': 2, 'c': 'ham'}, None, {'c', 'b', 'a'})] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[validation--Err('[type=model_attributes_type,')] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[validation-'123'-Err('Input should be a valid dictionary or object to extract fields from [type=model_attributes_type,')] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[validation-[(1, 2)]-Err('type=model_attributes_type,')] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes[validation-((1, 2),)-Err('type=model_attributes_type,')] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes_type_error PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes_by_name PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes_override_true PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes_override_false PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes_missing PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes_error PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes_extra PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes_extra_ignore_no_attributes_accessed PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes_extra_forbid PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes_function[Cls(a=1)-{'a': 1}] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes_function[Cls(a=)-{'a': }] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes_function[Cls(a= at 0x7fb87cefca40>)-{'a': HasRepr(IsStr(regex='.+.+'))}] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes_function[Cls(a=['/usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0', '/usr/lib64/python311.zip', '/usr/lib64/python3.11', '/usr/lib64/python3.11/lib-dynload', '/usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0/.run_venv/lib64/python3/site-packages', '/usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0/.run_venv/lib/python3/site-packages', '/usr/lib64/python3/site-packages', '/usr/lib64/python3/site-packages/gtk-2.0', '/usr/lib/python3/site-packages'])-{'a': ['/usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0', '/usr/lib64/python311.zip', '/usr/lib64/python3.11', '/usr/lib64/python3.11/lib-dynload', '/usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0/.run_venv/lib64/python3/site-packages', '/usr/src/RPM/BUILD/python3-module-pydantic-core-2.4.0/.run_venv/lib/python3/site-packages', '/usr/lib64/python3/site-packages', '/usr/lib64/python3/site-packages/gtk-2.0', '/usr/lib/python3/site-packages']}] PASSED [ 65%] tests/validators/test_model_fields.py::test_from_attributes_function[Cls(a=)-{'a': }] PASSED [ 66%] tests/validators/test_model_fields.py::test_from_attributes_error_error PASSED [ 66%] tests/validators/test_model_fields.py::test_from_attributes_path[{'foo': {'bar': {'bat': '123'}}}-{'my_field': 123}] PASSED [ 66%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(foo=Cls(bar=Cls(bat='123')))-{'my_field': 123}] PASSED [ 66%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(foo={'bar': {'bat': '123'}})-{'my_field': 123}] PASSED [ 66%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(foo=[1, 2, 3, 4])-{'my_field': 4}] PASSED [ 66%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(foo=(1, 2, 3, 4))-{'my_field': 4}] PASSED [ 66%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(spam=5)-{'my_field': 5}] PASSED [ 66%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(spam=1, foo=Cls(bar=Cls(bat=2)))-{'my_field': 2}] PASSED [ 66%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(x='123')-Err('my_field\\\\n +Field required \\\\[type=missing,')] PASSED [ 66%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(x={2: 33})-Err('my_field\\\\n +Field required \\\\[type=missing,')] PASSED [ 66%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(foo='01234')-Err('my_field\\\\n +Field required \\\\[type=missing,')] PASSED [ 66%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(foo=[1])-Err('my_field\\\\n +Field required \\\\[type=missing,')] PASSED [ 66%] tests/validators/test_model_fields.py::test_from_attributes_path[-Err('Input should be a valid dictionary')] PASSED [ 66%] tests/validators/test_model_fields.py::test_from_attributes_path_error PASSED [ 66%] tests/validators/test_model_fields.py::test_alias_extra[python] PASSED [ 66%] tests/validators/test_model_fields.py::test_alias_extra[json] PASSED [ 66%] tests/validators/test_model_fields.py::test_alias_extra_from_attributes PASSED [ 66%] tests/validators/test_model_fields.py::test_alias_extra_by_name[python] PASSED [ 66%] tests/validators/test_model_fields.py::test_alias_extra_by_name[json] PASSED [ 66%] tests/validators/test_model_fields.py::test_alias_extra_forbid[python] PASSED [ 66%] tests/validators/test_model_fields.py::test_alias_extra_forbid[json] PASSED [ 66%] tests/validators/test_model_fields.py::test_with_default_factory PASSED [ 66%] tests/validators/test_model_fields.py::test_bad_default_factory[-unsupported operand type(s) for +: 'int' and 'str'] PASSED [ 66%] tests/validators/test_model_fields.py::test_bad_default_factory[-() missing 1 required positional argument: 'x'] PASSED [ 66%] tests/validators/test_model_fields.py::TestOnError::test_on_error_bad_name PASSED [ 66%] tests/validators/test_model_fields.py::TestOnError::test_on_error_bad_default PASSED [ 66%] tests/validators/test_model_fields.py::TestOnError::test_on_error_raise_by_default[python] PASSED [ 66%] tests/validators/test_model_fields.py::TestOnError::test_on_error_raise_by_default[json] PASSED [ 66%] tests/validators/test_model_fields.py::TestOnError::test_on_error_raise_explicit[python] PASSED [ 66%] tests/validators/test_model_fields.py::TestOnError::test_on_error_raise_explicit[json] PASSED [ 66%] tests/validators/test_model_fields.py::TestOnError::test_on_error_default[python] PASSED [ 66%] tests/validators/test_model_fields.py::TestOnError::test_on_error_default[json] PASSED [ 66%] tests/validators/test_model_fields.py::TestOnError::test_on_error_default_factory[python] PASSED [ 66%] tests/validators/test_model_fields.py::TestOnError::test_on_error_default_factory[json] PASSED [ 66%] tests/validators/test_model_fields.py::TestOnError::test_wrap_on_error[python] PASSED [ 66%] tests/validators/test_model_fields.py::TestOnError::test_wrap_on_error[json] PASSED [ 67%] tests/validators/test_model_fields.py::test_frozen_field PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extra_validator=unset-config0-schema_extra_behavior_kw0] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extra_validator=unset-config1-schema_extra_behavior_kw1] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extra_validator=unset-config2-schema_extra_behavior_kw2] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extra_validator=unset-None-schema_extra_behavior_kw3] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extra_validator=unset-config4-schema_extra_behavior_kw4] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extra_validator=None-config0-schema_extra_behavior_kw0] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extra_validator=None-config1-schema_extra_behavior_kw1] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extra_validator=None-config2-schema_extra_behavior_kw2] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extra_validator=None-None-schema_extra_behavior_kw3] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extra_validator=None-config4-schema_extra_behavior_kw4] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extra_validator=int-config0-schema_extra_behavior_kw0] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extra_validator=int-config1-schema_extra_behavior_kw1] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extra_validator=int-config2-schema_extra_behavior_kw2] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extra_validator=int-None-schema_extra_behavior_kw3] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extra_validator=int-config4-schema_extra_behavior_kw4] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_forbid[config0-schema_extra_behavior_kw0] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_forbid[config1-schema_extra_behavior_kw1] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_forbid[config2-schema_extra_behavior_kw2] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_forbid[None-schema_extra_behavior_kw3] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_forbid[config4-schema_extra_behavior_kw4] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_ignore[config0-schema_extra_behavior_kw0] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_ignore[config1-schema_extra_behavior_kw1] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_ignore[None-schema_extra_behavior_kw2] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_ignore[config3-schema_extra_behavior_kw3] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_ignore[config4-schema_extra_behavior_kw4] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_ignore[config5-schema_extra_behavior_kw5] PASSED [ 67%] tests/validators/test_model_fields.py::test_extra_behavior_ignore[None-schema_extra_behavior_kw6] PASSED [ 67%] tests/validators/test_model_init.py::test_model_init PASSED [ 67%] tests/validators/test_model_init.py::test_model_init_nested PASSED [ 67%] tests/validators/test_model_init.py::test_function_before PASSED [ 67%] tests/validators/test_model_init.py::test_function_after PASSED [ 67%] tests/validators/test_model_init.py::test_function_wrap PASSED [ 67%] tests/validators/test_model_init.py::test_simple PASSED [ 67%] tests/validators/test_model_init.py::test_model_custom_init PASSED [ 67%] tests/validators/test_model_init.py::test_model_custom_init_nested PASSED [ 68%] tests/validators/test_model_init.py::test_model_custom_init_extra PASSED [ 68%] tests/validators/test_model_init.py::test_model_custom_init_revalidate PASSED [ 68%] tests/validators/test_model_init.py::test_leak_model[None] PASSED [ 68%] tests/validators/test_model_init.py::test_leak_model[field] PASSED [ 68%] tests/validators/test_model_init.py::test_leak_model[model] PASSED [ 68%] tests/validators/test_model_root.py::test_model_root PASSED [ 68%] tests/validators/test_model_root.py::test_revalidate PASSED [ 68%] tests/validators/test_model_root.py::test_revalidate_with_default PASSED [ 68%] tests/validators/test_model_root.py::test_init PASSED [ 68%] tests/validators/test_model_root.py::test_assignment PASSED [ 68%] tests/validators/test_model_root.py::test_field_function PASSED [ 68%] tests/validators/test_model_root.py::test_extra PASSED [ 68%] tests/validators/test_model_root.py::test_fields_set PASSED [ 68%] tests/validators/test_model_root.py::test_construct_from_validate_default PASSED [ 68%] tests/validators/test_none.py::test_python_none PASSED [ 68%] tests/validators/test_none.py::test_json_none PASSED [ 68%] tests/validators/test_nullable.py::test_nullable PASSED [ 68%] tests/validators/test_nullable.py::test_union_nullable_bool_int PASSED [ 68%] tests/validators/test_nullable.py::test_leak_nullable PASSED [ 68%] tests/validators/test_set.py::test_set_ints_both[python-input_value0-expected0] PASSED [ 68%] tests/validators/test_set.py::test_set_ints_both[python-input_value1-expected1] PASSED [ 68%] tests/validators/test_set.py::test_set_ints_both[python-input_value2-expected2] PASSED [ 68%] tests/validators/test_set.py::test_set_ints_both[python-input_value3-expected3] PASSED [ 68%] tests/validators/test_set.py::test_set_ints_both[python-5-expected4] PASSED [ 68%] tests/validators/test_set.py::test_set_ints_both[json-input_value0-expected0] PASSED [ 68%] tests/validators/test_set.py::test_set_ints_both[json-input_value1-expected1] PASSED [ 68%] tests/validators/test_set.py::test_set_ints_both[json-input_value2-expected2] PASSED [ 68%] tests/validators/test_set.py::test_set_ints_both[json-input_value3-expected3] PASSED [ 68%] tests/validators/test_set.py::test_set_ints_both[json-5-expected4] PASSED [ 68%] tests/validators/test_set.py::test_set_no_validators_both[python-input_value0-expected0] PASSED [ 68%] tests/validators/test_set.py::test_set_no_validators_both[json-input_value0-expected0] PASSED [ 68%] tests/validators/test_set.py::test_frozenset_no_validators_both[python-input_value0-expected0] PASSED [ 68%] tests/validators/test_set.py::test_frozenset_no_validators_both[python-foo-expected1] PASSED [ 68%] tests/validators/test_set.py::test_frozenset_no_validators_both[python-1-expected2] PASSED [ 68%] tests/validators/test_set.py::test_frozenset_no_validators_both[python-1.0-expected3] PASSED [ 69%] tests/validators/test_set.py::test_frozenset_no_validators_both[python-False-expected4] PASSED [ 69%] tests/validators/test_set.py::test_frozenset_no_validators_both[json-input_value0-expected0] PASSED [ 69%] tests/validators/test_set.py::test_frozenset_no_validators_both[json-foo-expected1] PASSED [ 69%] tests/validators/test_set.py::test_frozenset_no_validators_both[json-1-expected2] PASSED [ 69%] tests/validators/test_set.py::test_frozenset_no_validators_both[json-1.0-expected3] PASSED [ 69%] tests/validators/test_set.py::test_frozenset_no_validators_both[json-False-expected4] PASSED [ 69%] tests/validators/test_set.py::test_set_ints_python[input_value0-expected0] PASSED [ 69%] tests/validators/test_set.py::test_set_ints_python[input_value1-expected1] PASSED [ 69%] tests/validators/test_set.py::test_set_ints_python[input_value2-expected2] PASSED [ 69%] tests/validators/test_set.py::test_set_ints_python[input_value3-expected3] PASSED [ 69%] tests/validators/test_set.py::test_set_ints_python[input_value4-expected4] PASSED [ 69%] tests/validators/test_set.py::test_set_ints_python[input_value5-expected5] PASSED [ 69%] tests/validators/test_set.py::test_set_ints_python[input_value6-expected6] PASSED [ 69%] tests/validators/test_set.py::test_set_ints_python[input_value7-expected7] PASSED [ 69%] tests/validators/test_set.py::test_set_ints_python[input_value8-expected8] PASSED [ 69%] tests/validators/test_set.py::test_set_ints_python[input_value9-expected9] PASSED [ 69%] tests/validators/test_set.py::test_set_ints_python[input_value10-expected10] PASSED [ 69%] tests/validators/test_set.py::test_set_ints_python[-expected11] PASSED [ 69%] tests/validators/test_set.py::test_set_ints_python[input_value12-expected12] PASSED [ 69%] tests/validators/test_set.py::test_set_ints_python[input_value13-expected13] PASSED [ 69%] tests/validators/test_set.py::test_set_ints_python[abc-expected14] PASSED [ 69%] tests/validators/test_set.py::test_set_no_validators_python[input_value0-expected0] PASSED [ 69%] tests/validators/test_set.py::test_set_no_validators_python[input_value1-expected1] PASSED [ 69%] tests/validators/test_set.py::test_set_multiple_errors PASSED [ 69%] tests/validators/test_set.py::test_set_kwargs[{'strict': True}-{1, 2, 3}-{1, 2, 3}] PASSED [ 69%] tests/validators/test_set.py::test_set_kwargs[{'strict': True}-set()-set()] PASSED [ 69%] tests/validators/test_set.py::test_set_kwargs[{'strict': True}-[1, 2, 3, 2, 3]-Err('Input should be a valid set [type=set_type,')] PASSED [ 69%] tests/validators/test_set.py::test_set_kwargs[{'strict': True}-[]-Err('Input should be a valid set [type=set_type,')] PASSED [ 69%] tests/validators/test_set.py::test_set_kwargs[{'strict': True}-()-Err('Input should be a valid set [type=set_type,')] PASSED [ 69%] tests/validators/test_set.py::test_set_kwargs[{'strict': True}-(1, 2, 3)-Err('Input should be a valid set [type=set_type,')] PASSED [ 69%] tests/validators/test_set.py::test_set_kwargs[{'strict': True}-frozenset({1, 2, 3})-Err('Input should be a valid set [type=set_type,')] PASSED [ 69%] tests/validators/test_set.py::test_set_kwargs[{'strict': True}-'abc'-Err('Input should be a valid set [type=set_type,')] PASSED [ 69%] tests/validators/test_set.py::test_set_kwargs[{'min_length': 3}-{1, 2, 3}-{1, 2, 3}] PASSED [ 69%] tests/validators/test_set.py::test_set_kwargs[{'min_length': 3}-{1, 2}-Err('Set should have at least 3 items after validation, not 2 [type=too_short,')] PASSED [ 69%] tests/validators/test_set.py::test_set_kwargs[{'max_length': 3}-{1, 2, 3, 4}-Err('Set should have at most 3 items after validation, not 4 [type=too_long,')] PASSED [ 69%] tests/validators/test_set.py::test_set_kwargs[{'max_length': 3}-[1, 2, 3, 4]-Err('Set should have at most 3 items after validation, not 4 [type=too_long,')] PASSED [ 70%] tests/validators/test_set.py::test_set_kwargs[{'max_length': 3, 'items_schema': {'type': 'int'}}-{1, 2, 3, 4}-Err('type=too_long,')] PASSED [ 70%] tests/validators/test_set.py::test_set_kwargs[{'max_length': 3, 'items_schema': {'type': 'int'}}-[1, 2, 3, 4]-Err('type=too_long,')] PASSED [ 70%] tests/validators/test_set.py::test_set_kwargs[{'max_length': 3}-[1, 1, 2, 2, 3, 3]-{1, 2, 3}] PASSED [ 70%] tests/validators/test_set.py::test_set_kwargs[{'max_length': 3}--{1, 2, 3}] PASSED [ 70%] tests/validators/test_set.py::test_set_kwargs[{'max_length': 3}--Err('Set should have at most 3 items after validation, not 4 [type=too_long,')] PASSED [ 70%] tests/validators/test_set.py::test_union_set_list[input_value0-expected0] PASSED [ 70%] tests/validators/test_set.py::test_union_set_list[input_value1-expected1] PASSED [ 70%] tests/validators/test_set.py::test_union_set_int_set_str[input_value0-expected0] PASSED [ 70%] tests/validators/test_set.py::test_union_set_int_set_str[input_value1-expected1] PASSED [ 70%] tests/validators/test_set.py::test_union_set_int_set_str[input_value2-expected2] PASSED [ 70%] tests/validators/test_set.py::test_set_as_dict_keys[python] PASSED [ 70%] tests/validators/test_set.py::test_set_as_dict_keys[json] PASSED [ 70%] tests/validators/test_set.py::test_generator_error PASSED [ 70%] tests/validators/test_set.py::test_set_from_dict_items[Tuple[Any, Any]] PASSED [ 70%] tests/validators/test_set.py::test_set_from_dict_items[Tuple[int, int]] PASSED [ 70%] tests/validators/test_set.py::test_set_from_dict_items[Any] PASSED [ 70%] tests/validators/test_set.py::test_set_any[input_value0-expected0] PASSED [ 70%] tests/validators/test_set.py::test_set_any[input_value1-expected1] PASSED [ 70%] tests/validators/test_set.py::test_set_any[input_value2-expected2] PASSED [ 70%] tests/validators/test_set.py::test_set_any[input_value3-expected3] PASSED [ 70%] tests/validators/test_set.py::test_set_any[input_value4-expected4] PASSED [ 70%] tests/validators/test_string.py::test_str[python-foobar-foobar] PASSED [ 70%] tests/validators/test_string.py::test_str[python-123-expected1] PASSED [ 70%] tests/validators/test_string.py::test_str[python-123.456-expected2] PASSED [ 70%] tests/validators/test_string.py::test_str[python-False-expected3] PASSED [ 70%] tests/validators/test_string.py::test_str[python-True-expected4] PASSED [ 70%] tests/validators/test_string.py::test_str[python-input_value5-expected5] PASSED [ 70%] tests/validators/test_string.py::test_str[json-foobar-foobar] PASSED [ 70%] tests/validators/test_string.py::test_str[json-123-expected1] PASSED [ 70%] tests/validators/test_string.py::test_str[json-123.456-expected2] PASSED [ 70%] tests/validators/test_string.py::test_str[json-False-expected3] PASSED [ 70%] tests/validators/test_string.py::test_str[json-True-expected4] PASSED [ 70%] tests/validators/test_string.py::test_str[json-input_value5-expected5] PASSED [ 70%] tests/validators/test_string.py::test_str_not_json[foobar-foobar0] PASSED [ 70%] tests/validators/test_string.py::test_str_not_json[\U0001f408 Hello \ud800World-\U0001f408 Hello \ud800World] PASSED [ 70%] tests/validators/test_string.py::test_str_not_json[foobar-foobar1] PASSED [ 71%] tests/validators/test_string.py::test_str_not_json[input_value3-foobar] PASSED [ 71%] tests/validators/test_string.py::test_str_not_json[\x81-expected4] PASSED [ 71%] tests/validators/test_string.py::test_str_not_json[input_value5-expected5] PASSED [ 71%] tests/validators/test_string.py::test_str_not_json[\x00-\x00] PASSED [ 71%] tests/validators/test_string.py::test_str_not_json[123-expected7] PASSED [ 71%] tests/validators/test_string.py::test_str_not_json[input_value8-expected8] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[python-kwargs0-abc-abc] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[python-kwargs1-Foobar-Foobar] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[python-kwargs2-fooBar-FOOBAR] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[python-kwargs3-fooBar-foobar] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[python-kwargs4- foobar -foobar] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[python-kwargs5- fooBar-FOOBAR] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[python-kwargs6-12345-12345] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[python-kwargs7-1234-expected7] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[python-kwargs8-12345-12345] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[python-kwargs9-123456-expected9] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[python-kwargs10-12345-12345] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[python-kwargs11-foobar 123-foobar 123] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[python-kwargs12-12345a-expected12] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[python-kwargs13-1234 -1234] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[python-kwargs14-abc-ABC] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[python-kwargs15-foobar 123 -foobar 123] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[python-kwargs16-\U0001f408 Hello-\U0001f408 Hello] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[json-kwargs0-abc-abc] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[json-kwargs1-Foobar-Foobar] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[json-kwargs2-fooBar-FOOBAR] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[json-kwargs3-fooBar-foobar] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[json-kwargs4- foobar -foobar] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[json-kwargs5- fooBar-FOOBAR] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[json-kwargs6-12345-12345] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[json-kwargs7-1234-expected7] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[json-kwargs8-12345-12345] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[json-kwargs9-123456-expected9] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[json-kwargs10-12345-12345] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[json-kwargs11-foobar 123-foobar 123] PASSED [ 71%] tests/validators/test_string.py::test_constrained_str[json-kwargs12-12345a-expected12] PASSED [ 72%] tests/validators/test_string.py::test_constrained_str[json-kwargs13-1234 -1234] PASSED [ 72%] tests/validators/test_string.py::test_constrained_str[json-kwargs14-abc-ABC] PASSED [ 72%] tests/validators/test_string.py::test_constrained_str[json-kwargs15-foobar 123 -foobar 123] PASSED [ 72%] tests/validators/test_string.py::test_constrained_str[json-kwargs16-\U0001f408 Hello-\U0001f408 Hello] PASSED [ 72%] tests/validators/test_string.py::test_constrained_str_py_only[kwargs0-abc-abc] PASSED [ 72%] tests/validators/test_string.py::test_constrained_str_py_only[kwargs1-Foobar-Foobar] PASSED [ 72%] tests/validators/test_string.py::test_constrained_str_py_only[kwargs2-123-expected2] PASSED [ 72%] tests/validators/test_string.py::test_unicode_error PASSED [ 72%] tests/validators/test_string.py::test_str_constrained[short string] PASSED [ 72%] tests/validators/test_string.py::test_str_constrained[long string] PASSED [ 72%] tests/validators/test_string.py::test_str_constrained[short string with unicode characters] PASSED [ 72%] tests/validators/test_string.py::test_str_constrained[long string with unicode characters] PASSED [ 72%] tests/validators/test_string.py::test_str_constrained[a lot of `\u0430`s] PASSED [ 72%] tests/validators/test_string.py::test_str_constrained_config PASSED [ 72%] tests/validators/test_string.py::test_invalid_regex PASSED [ 72%] tests/validators/test_string.py::test_regex_error PASSED [ 72%] tests/validators/test_string.py::test_default_validator PASSED [ 72%] tests/validators/test_string.py::test_strict_subclass[False] PASSED [ 72%] tests/validators/test_string.py::test_strict_subclass[True] PASSED [ 72%] tests/validators/test_string.py::test_lax_subclass[{}] PASSED [ 72%] tests/validators/test_string.py::test_lax_subclass[{'to_lower': True}] PASSED [ 72%] tests/validators/test_string.py::test_subclass_preserved PASSED [ 72%] tests/validators/test_tagged_union.py::test_simple_tagged_union[python-{'foo': 'apple', 'bar': '123'}-{'foo': 'apple', 'bar': 123}] PASSED [ 72%] tests/validators/test_tagged_union.py::test_simple_tagged_union[python-{'foo': 'banana', 'spam': [1, 2, '3']}-{'foo': 'banana', 'spam': [1, 2, 3]}] PASSED [ 72%] tests/validators/test_tagged_union.py::test_simple_tagged_union[python-{'foo': 'apple', 'bar': 'wrong'}-Err('Input should be a valid integer', errors=[{'type': 'int_parsing', 'loc': ('apple', 'bar'), 'msg': 'Input should be a valid integer, unable to parse string as an integer', 'input': 'wrong'}])] PASSED [ 72%] tests/validators/test_tagged_union.py::test_simple_tagged_union[python-{'foo': 'banana'}-Err('Field required', errors=[{'type': 'missing', 'loc': ('banana', 'spam'), 'msg': 'Field required', 'input': {'foo': 'banana'}}])] PASSED [ 72%] tests/validators/test_tagged_union.py::test_simple_tagged_union[python-{'foo': 'other'}-Err('union_tag_invalid', errors=[{'type': 'union_tag_invalid', 'loc': (), 'msg': "Input tag 'other' found using 'foo' does not match any of the expected tags: 'apple', 'banana'", 'input': {'foo': 'other'}, 'ctx': {'discriminator': "'foo'", 'tag': 'other', 'expected_tags': "'apple', 'banana'"}}])] PASSED [ 72%] tests/validators/test_tagged_union.py::test_simple_tagged_union[python-{}-Err('union_tag_not_found', errors=[{'type': 'union_tag_not_found', 'loc': (), 'msg': "Unable to extract tag using discriminator 'foo'", 'input': {}, 'ctx': {'discriminator': "'foo'"}}])] PASSED [ 72%] tests/validators/test_tagged_union.py::test_simple_tagged_union[python-'not a dict'-Err('dict_type', errors=[{'type': 'dict_type', 'loc': (), 'msg': IsAnyStr(regex='Input should be (a valid dictionary|an object)'), 'input': 'not a dict'}])] PASSED [ 72%] tests/validators/test_tagged_union.py::test_simple_tagged_union[json-{'foo': 'apple', 'bar': '123'}-{'foo': 'apple', 'bar': 123}] PASSED [ 72%] tests/validators/test_tagged_union.py::test_simple_tagged_union[json-{'foo': 'banana', 'spam': [1, 2, '3']}-{'foo': 'banana', 'spam': [1, 2, 3]}] PASSED [ 72%] tests/validators/test_tagged_union.py::test_simple_tagged_union[json-{'foo': 'apple', 'bar': 'wrong'}-Err('Input should be a valid integer', errors=[{'type': 'int_parsing', 'loc': ('apple', 'bar'), 'msg': 'Input should be a valid integer, unable to parse string as an integer', 'input': 'wrong'}])] PASSED [ 72%] tests/validators/test_tagged_union.py::test_simple_tagged_union[json-{'foo': 'banana'}-Err('Field required', errors=[{'type': 'missing', 'loc': ('banana', 'spam'), 'msg': 'Field required', 'input': {'foo': 'banana'}}])] PASSED [ 72%] tests/validators/test_tagged_union.py::test_simple_tagged_union[json-{'foo': 'other'}-Err('union_tag_invalid', errors=[{'type': 'union_tag_invalid', 'loc': (), 'msg': "Input tag 'other' found using 'foo' does not match any of the expected tags: 'apple', 'banana'", 'input': {'foo': 'other'}, 'ctx': {'discriminator': "'foo'", 'tag': 'other', 'expected_tags': "'apple', 'banana'"}}])] PASSED [ 72%] tests/validators/test_tagged_union.py::test_simple_tagged_union[json-{}-Err('union_tag_not_found', errors=[{'type': 'union_tag_not_found', 'loc': (), 'msg': "Unable to extract tag using discriminator 'foo'", 'input': {}, 'ctx': {'discriminator': "'foo'"}}])] PASSED [ 72%] tests/validators/test_tagged_union.py::test_simple_tagged_union[json-'not a dict'-Err('dict_type', errors=[{'type': 'dict_type', 'loc': (), 'msg': IsAnyStr(regex='Input should be (a valid dictionary|an object)'), 'input': 'not a dict'}])] PASSED [ 73%] tests/validators/test_tagged_union.py::test_int_choice_keys[python-input_value0-expected0] PASSED [ 73%] tests/validators/test_tagged_union.py::test_int_choice_keys[python-input_value1-expected1] PASSED [ 73%] tests/validators/test_tagged_union.py::test_int_choice_keys[python-input_value2-expected2] PASSED [ 73%] tests/validators/test_tagged_union.py::test_int_choice_keys[python-input_value3-expected3] PASSED [ 73%] tests/validators/test_tagged_union.py::test_int_choice_keys[json-input_value0-expected0] PASSED [ 73%] tests/validators/test_tagged_union.py::test_int_choice_keys[json-input_value1-expected1] PASSED [ 73%] tests/validators/test_tagged_union.py::test_int_choice_keys[json-input_value2-expected2] PASSED [ 73%] tests/validators/test_tagged_union.py::test_int_choice_keys[json-input_value3-expected3] PASSED [ 73%] tests/validators/test_tagged_union.py::test_enum_keys PASSED [ 73%] tests/validators/test_tagged_union.py::test_discriminator_path[python] PASSED [ 73%] tests/validators/test_tagged_union.py::test_discriminator_path[json] PASSED [ 73%] tests/validators/test_tagged_union.py::test_discriminator_function[python-foo-foo] PASSED [ 73%] tests/validators/test_tagged_union.py::test_discriminator_function[python-123-123] PASSED [ 73%] tests/validators/test_tagged_union.py::test_discriminator_function[python-baz-expected2] PASSED [ 73%] tests/validators/test_tagged_union.py::test_discriminator_function[python-None-expected3] PASSED [ 73%] tests/validators/test_tagged_union.py::test_discriminator_function[python-input_value4-expected4] PASSED [ 73%] tests/validators/test_tagged_union.py::test_discriminator_function[json-foo-foo] PASSED [ 73%] tests/validators/test_tagged_union.py::test_discriminator_function[json-123-123] PASSED [ 73%] tests/validators/test_tagged_union.py::test_discriminator_function[json-baz-expected2] PASSED [ 73%] tests/validators/test_tagged_union.py::test_discriminator_function[json-None-expected3] PASSED [ 73%] tests/validators/test_tagged_union.py::test_discriminator_function[json-input_value4-expected4] PASSED [ 73%] tests/validators/test_tagged_union.py::test_int_discriminator_function[python-foo-foo] PASSED [ 73%] tests/validators/test_tagged_union.py::test_int_discriminator_function[python-123-123] PASSED [ 73%] tests/validators/test_tagged_union.py::test_int_discriminator_function[python-None-expected2] PASSED [ 73%] tests/validators/test_tagged_union.py::test_int_discriminator_function[python-input_value3-expected3] PASSED [ 73%] tests/validators/test_tagged_union.py::test_int_discriminator_function[json-foo-foo] PASSED [ 73%] tests/validators/test_tagged_union.py::test_int_discriminator_function[json-123-123] PASSED [ 73%] tests/validators/test_tagged_union.py::test_int_discriminator_function[json-None-expected2] PASSED [ 73%] tests/validators/test_tagged_union.py::test_int_discriminator_function[json-input_value3-expected3] PASSED [ 73%] tests/validators/test_tagged_union.py::test_from_attributes PASSED [ 73%] tests/validators/test_tagged_union.py::test_use_ref PASSED [ 73%] tests/validators/test_tagged_union.py::test_downcast_error PASSED [ 73%] tests/validators/test_tagged_union.py::test_custom_error PASSED [ 73%] tests/validators/test_tagged_union.py::test_custom_error_type PASSED [ 73%] tests/validators/test_time.py::test_time[time] PASSED [ 73%] tests/validators/test_time.py::test_time[time-micro] PASSED [ 74%] tests/validators/test_time.py::test_time[time-tz] PASSED [ 74%] tests/validators/test_time.py::test_time[str] PASSED [ 74%] tests/validators/test_time.py::test_time[str-tz] PASSED [ 74%] tests/validators/test_time.py::test_time[bytes] PASSED [ 74%] tests/validators/test_time.py::test_time[tuple] PASSED [ 74%] tests/validators/test_time.py::test_time[date] PASSED [ 74%] tests/validators/test_time.py::test_time[datetime] PASSED [ 74%] tests/validators/test_time.py::test_time[int] PASSED [ 74%] tests/validators/test_time.py::test_time[nan] PASSED [ 74%] tests/validators/test_time.py::test_time[inf] PASSED [ 74%] tests/validators/test_time.py::test_time[-inf] PASSED [ 74%] tests/validators/test_time.py::test_time[decimal] PASSED [ 74%] tests/validators/test_time.py::test_time[decimal-6dig] PASSED [ 74%] tests/validators/test_time.py::test_time[decimal-7dig-up] PASSED [ 74%] tests/validators/test_time.py::test_time[decimal-7dig-down] PASSED [ 74%] tests/validators/test_time.py::test_time_json[python-str] PASSED [ 74%] tests/validators/test_time.py::test_time_json[python-str-micro] PASSED [ 74%] tests/validators/test_time.py::test_time_json[python-str-micro-6dig0] PASSED [ 74%] tests/validators/test_time.py::test_time_json[python-str-micro-6dig1] PASSED [ 74%] tests/validators/test_time.py::test_time_json[python-str-micro-7dig] PASSED [ 74%] tests/validators/test_time.py::test_time_json[python-int] PASSED [ 74%] tests/validators/test_time.py::test_time_json[python-float] PASSED [ 74%] tests/validators/test_time.py::test_time_json[python-float.0] PASSED [ 74%] tests/validators/test_time.py::test_time_json[python-int-zero] PASSED [ 74%] tests/validators/test_time.py::test_time_json[python-too-high] PASSED [ 74%] tests/validators/test_time.py::test_time_json[python-negative] PASSED [ 74%] tests/validators/test_time.py::test_time_json[python-too-high-2**32] PASSED [ 74%] tests/validators/test_time.py::test_time_json[python-too-high-2**64] PASSED [ 74%] tests/validators/test_time.py::test_time_json[python-too-high-2**100] PASSED [ 74%] tests/validators/test_time.py::test_time_json[python-bool] PASSED [ 74%] tests/validators/test_time.py::test_time_json[json-str] PASSED [ 74%] tests/validators/test_time.py::test_time_json[json-str-micro] PASSED [ 74%] tests/validators/test_time.py::test_time_json[json-str-micro-6dig0] PASSED [ 74%] tests/validators/test_time.py::test_time_json[json-str-micro-6dig1] PASSED [ 74%] tests/validators/test_time.py::test_time_json[json-str-micro-7dig] PASSED [ 75%] tests/validators/test_time.py::test_time_json[json-int] PASSED [ 75%] tests/validators/test_time.py::test_time_json[json-float] PASSED [ 75%] tests/validators/test_time.py::test_time_json[json-float.0] PASSED [ 75%] tests/validators/test_time.py::test_time_json[json-int-zero] PASSED [ 75%] tests/validators/test_time.py::test_time_json[json-too-high] PASSED [ 75%] tests/validators/test_time.py::test_time_json[json-negative] PASSED [ 75%] tests/validators/test_time.py::test_time_json[json-too-high-2**32] PASSED [ 75%] tests/validators/test_time.py::test_time_json[json-too-high-2**64] PASSED [ 75%] tests/validators/test_time.py::test_time_json[json-too-high-2**100] PASSED [ 75%] tests/validators/test_time.py::test_time_json[json-bool] PASSED [ 75%] tests/validators/test_time.py::test_time_error_microseconds_overflow[python] PASSED [ 75%] tests/validators/test_time.py::test_time_error_microseconds_overflow[json] PASSED [ 75%] tests/validators/test_time.py::test_time_strict[input_value0-expected0] PASSED [ 75%] tests/validators/test_time.py::test_time_strict[12:13:14-expected1] PASSED [ 75%] tests/validators/test_time.py::test_time_strict[12:13:14-expected2] PASSED [ 75%] tests/validators/test_time.py::test_time_strict[1654646400-expected3] PASSED [ 75%] tests/validators/test_time.py::test_time_strict[True-expected4] PASSED [ 75%] tests/validators/test_time.py::test_time_strict[input_value5-expected5] PASSED [ 75%] tests/validators/test_time.py::test_time_strict[input_value6-expected6] PASSED [ 75%] tests/validators/test_time.py::test_time_strict_json["12:13:14"-expected0] PASSED [ 75%] tests/validators/test_time.py::test_time_strict_json["foobar"-expected1] PASSED [ 75%] tests/validators/test_time.py::test_time_strict_json[123-expected2] PASSED [ 75%] tests/validators/test_time.py::test_time_kwargs[kwargs0-12:13:14-expected0] PASSED [ 75%] tests/validators/test_time.py::test_time_kwargs[kwargs1-00:12-expected1] PASSED [ 75%] tests/validators/test_time.py::test_time_kwargs[kwargs2-01:00-expected2] PASSED [ 75%] tests/validators/test_time.py::test_time_kwargs[kwargs3-01:01-expected3] PASSED [ 75%] tests/validators/test_time.py::test_time_kwargs[kwargs4-input_value4-expected4] PASSED [ 75%] tests/validators/test_time.py::test_time_kwargs[kwargs5-input_value5-expected5] PASSED [ 75%] tests/validators/test_time.py::test_time_kwargs[kwargs6-00:59-expected6] PASSED [ 75%] tests/validators/test_time.py::test_time_kwargs[kwargs7-01:00-expected7] PASSED [ 75%] tests/validators/test_time.py::test_time_kwargs[kwargs8-01:00-expected8] PASSED [ 75%] tests/validators/test_time.py::test_time_kwargs[kwargs9-00:59-expected9] PASSED [ 75%] tests/validators/test_time.py::test_time_kwargs[kwargs10-12:13:14.123457-expected10] PASSED [ 75%] tests/validators/test_time.py::test_time_kwargs[kwargs11-12:13:14.123456-expected11] PASSED [ 75%] tests/validators/test_time.py::test_time_kwargs[kwargs12-12:13:14.123456-expected12] PASSED [ 75%] tests/validators/test_time.py::test_time_bound_ctx PASSED [ 76%] tests/validators/test_time.py::test_invalid_constraint PASSED [ 76%] tests/validators/test_time.py::test_dict_py PASSED [ 76%] tests/validators/test_time.py::test_dict[python] PASSED [ 76%] tests/validators/test_time.py::test_dict[json] PASSED [ 76%] tests/validators/test_time.py::test_union PASSED [ 76%] tests/validators/test_time.py::test_aware PASSED [ 76%] tests/validators/test_time.py::test_naive PASSED [ 76%] tests/validators/test_time.py::test_aware_specific PASSED [ 76%] tests/validators/test_time.py::test_neg_7200 PASSED [ 76%] tests/validators/test_time.py::test_tz_constraint_too_high PASSED [ 76%] tests/validators/test_time.py::test_tz_constraint_wrong PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta[datetime.timedelta(days=-3, seconds=7201, microseconds=500000)-datetime.timedelta(days=-3, seconds=7201, microseconds=500000)] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta[datetime.timedelta(days=17, seconds=3723, microseconds=500000)-datetime.timedelta(days=17, seconds=3723, microseconds=500000)] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta['P0Y0M3D2WT1H2M3.5S'-datetime.timedelta(days=17, seconds=3723, microseconds=500000)] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta[b'P0Y0M3D2WT1H2M3.5S'-datetime.timedelta(days=17, seconds=3723, microseconds=500000)] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta[(-1,)-Err('Input should be a valid timedelta [type=time_delta_type')] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta[b'-1'-Err('Input should be a valid timedelta, "day" identifier in duration not correctly formatted [type=time_delta_parsing')] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta[3601-datetime.timedelta(seconds=3601)] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta[Decimal('3601.123456')-datetime.timedelta(seconds=3601, microseconds=123456)] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta[Decimal('3601.1234562')-datetime.timedelta(seconds=3601, microseconds=123456)] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta[Decimal('3601.1234568')-datetime.timedelta(seconds=3601, microseconds=123457)] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta[-3601-datetime.timedelta(days=-1, seconds=82799)] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta[Decimal('-3601.222222')-datetime.timedelta(days=-1, seconds=82798, microseconds=777778)] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta[Decimal('-3601.2222222')-datetime.timedelta(days=-1, seconds=82798, microseconds=777778)] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta[Decimal('-3601.2222227')-datetime.timedelta(days=-1, seconds=82798, microseconds=777777)] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta[nan-Err('Input should be a valid timedelta, NaN values not permitted')] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta[inf-Err('Input should be a valid timedelta, durations may not exceed 999,999,999 days')] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta[-inf-Err('Input should be a valid timedelta, durations may not exceed 999,999,999 days')] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta[datetime.timedelta(days=999999999, seconds=86399, microseconds=999999)-datetime.timedelta(days=999999999, seconds=86399, microseconds=999999)] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta['02:03:04.05'-datetime.timedelta(seconds=7384, microseconds=50000)] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta['02:03:04.05broken'-Err('Input should be a valid timedelta, unexpected extra characters at the end of the input')] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta_json['"P0Y0M3D2WT1H2M3.5S"'-datetime.timedelta(days=17, seconds=3723, microseconds=500000)] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta_json['"errordata"'-Err('Input should be a valid duration, invalid digit in duration [type=time_delta_parsing')] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta_json['true'-Err('Input should be a valid duration [type=time_delta_type')] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta_json['3601'-datetime.timedelta(seconds=3601)] PASSED [ 76%] tests/validators/test_timedelta.py::test_timedelta_json['3601.123456'-datetime.timedelta(seconds=3601, microseconds=123456)] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_json['-3601'-datetime.timedelta(days=-1, seconds=82799)] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_json['-3601.222222'-datetime.timedelta(days=-1, seconds=82798, microseconds=777778)] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_json['-3601.2222222'-datetime.timedelta(days=-1, seconds=82798, microseconds=777778)] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_json['3600.999999'-datetime.timedelta(seconds=3600, microseconds=999999)] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_strict[input_value0-expected0] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_strict[P0Y0M3D2WT1H2M3.5S-expected1] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_strict[P0Y0M3D2WT1H2M3.5S-expected2] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_strict_json["P0Y0M3D2WT1H2M3.5S"-expected0] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_strict_json["12345"-expected1] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_strict_json[true-expected2] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{}-'P0Y0M3D2WT1H2M3S'-datetime.timedelta(days=17, seconds=3723)] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'le': datetime.timedelta(days=3)}-'P2DT1H'-datetime.timedelta(days=2, seconds=3600)] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'le': datetime.timedelta(days=3)}-'P3DT0H'-datetime.timedelta(days=3)] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'le': datetime.timedelta(days=3)}-'P3DT1H'-Err('Input should be less than or equal to datetime.timedelta(days=3)')] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'lt': datetime.timedelta(days=3)}-'P2DT1H'-datetime.timedelta(days=2, seconds=3600)] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'lt': datetime.timedelta(days=3)}-'P3DT1H'-Err('Input should be less than datetime.timedelta(days=3)')] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'ge': datetime.timedelta(days=3)}-'P3DT1H'-datetime.timedelta(days=3, seconds=3600)] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'ge': datetime.timedelta(days=3)}-'P3D'-datetime.timedelta(days=3)] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'ge': datetime.timedelta(days=3)}-'P2DT1H'-Err('Input should be greater than or equal to datetime.timedelta(days=3)')] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'gt': datetime.timedelta(days=3)}-'P3DT1H'-datetime.timedelta(days=3, seconds=3600)] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'gt': 'P3D'}-'P2DT1H'-Err('Input should be greater than datetime.timedelta(days=3)')] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'le': datetime.timedelta(days=-2, seconds=86399, microseconds=877000)}-'-PT86400.123S'-datetime.timedelta(days=-2, seconds=86399, microseconds=877000)] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'le': datetime.timedelta(days=-2, seconds=86399, microseconds=877000)}-'-PT86400.124S'-datetime.timedelta(days=-2, seconds=86399, microseconds=876000)] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'le': datetime.timedelta(days=-2, seconds=86399, microseconds=877000)}-'-PT86400.122S'-Err('Input should be less than or equal to datetime.timedelta(days=-2, seconds=86399, microseconds=877000) [type=less_than_equal')] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'gt': datetime.timedelta(days=-2, seconds=86399, microseconds=877000)}-datetime.timedelta(days=-2, seconds=86399, microseconds=878000)-datetime.timedelta(days=-2, seconds=86399, microseconds=878000)] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'gt': datetime.timedelta(days=-2, seconds=86399, microseconds=877000)}-'-PT86400.122S'-datetime.timedelta(days=-2, seconds=86399, microseconds=878000)] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'gt': datetime.timedelta(days=-2, seconds=86399, microseconds=877000)}-'-PT86400.124S'-Err('Input should be greater than datetime.timedelta(days=-2, seconds=86399, microseconds=877000) [type=greater_than')] PASSED [ 77%] tests/validators/test_timedelta.py::test_timedelta_kwargs_strict PASSED [ 77%] tests/validators/test_timedelta.py::test_invalid_constraint PASSED [ 77%] tests/validators/test_timedelta.py::test_dict_py PASSED [ 77%] tests/validators/test_timedelta.py::test_dict_key[python] PASSED [ 77%] tests/validators/test_timedelta.py::test_dict_key[json] PASSED [ 77%] tests/validators/test_timedelta.py::test_dict_value[python] PASSED [ 77%] tests/validators/test_timedelta.py::test_dict_value[json] PASSED [ 77%] tests/validators/test_timedelta.py::test_union PASSED [ 77%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=3)-{'positive': True, 'day': 3, 'second': 0, 'microsecond': 0}] PASSED [ 78%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=2, seconds=42, microseconds=123000)-{'positive': True, 'day': 2, 'second': 42, 'microsecond': 123000}] PASSED [ 78%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=-1)-{'positive': False, 'day': 1, 'second': 0, 'microsecond': 0}] PASSED [ 78%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=1, seconds=10)-{'positive': True, 'day': 1, 'second': 10, 'microsecond': 0}] PASSED [ 78%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=1, seconds=10, microseconds=123000)-{'positive': True, 'day': 1, 'second': 10, 'microsecond': 123000}] PASSED [ 78%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=-2, seconds=86390)-{'positive': False, 'day': 1, 'second': 10, 'microsecond': 0}] PASSED [ 78%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=-2, seconds=86389, microseconds=877000)-{'positive': False, 'day': 1, 'second': 10, 'microsecond': 123000}] PASSED [ 78%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=-4, seconds=43200)-{'positive': False, 'day': 3, 'second': 43200, 'microsecond': 0}] PASSED [ 78%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=-4, microseconds=456)-{'positive': False, 'day': 3, 'second': 86399, 'microsecond': 999544}] PASSED [ 78%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=-1, seconds=20000)-{'positive': False, 'day': 0, 'second': 66400, 'microsecond': 0}] PASSED [ 78%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=-1, seconds=86399, microseconds=1)-{'positive': False, 'day': 0, 'second': 0, 'microsecond': 999999}] PASSED [ 78%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=999999999, seconds=86399, microseconds=999999)-{'positive': True, 'day': 999999999, 'second': 86399, 'microsecond': 999999}] PASSED [ 78%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=-999999999)-{'positive': False, 'day': 999999999, 'second': 0, 'microsecond': 0}] PASSED [ 78%] tests/validators/test_timedelta.py::test_large_value PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_json[python-'variable'-{'type': 'int'}-[1, 2, 3]-(1, 2, 3)] PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_json[python-'variable'-{'type': 'int'}-1-Err('[type=tuple_type, input_value=1, input_type=int]')] PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_json[python-'positional'-[{'type': 'int'}, {'type': 'int'}, {'type': 'int'}]-[1, 2, '3']-(1, 2, 3)] PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_json[python-'positional'-[{'type': 'int'}, {'type': 'int'}, {'type': 'int'}]-5-Err('[type=tuple_type, input_value=5, input_type=int]')] PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_json[json-'variable'-{'type': 'int'}-[1, 2, 3]-(1, 2, 3)] PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_json[json-'variable'-{'type': 'int'}-1-Err('[type=tuple_type, input_value=1, input_type=int]')] PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_json[json-'positional'-[{'type': 'int'}, {'type': 'int'}, {'type': 'int'}]-[1, 2, '3']-(1, 2, 3)] PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_json[json-'positional'-[{'type': 'int'}, {'type': 'int'}, {'type': 'int'}]-5-Err('[type=tuple_type, input_value=5, input_type=int]')] PASSED [ 78%] tests/validators/test_tuple.py::test_any_no_copy PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_strict_passes_with_tuple[variable-items0-input_value0-expected0] PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_strict_passes_with_tuple[variable-items1-input_value1-expected1] PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_strict_passes_with_tuple[positional-items2-input_value2-expected2] PASSED [ 78%] tests/validators/test_tuple.py::test_empty_positional_tuple PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_strict_fails_without_tuple[list-variable-items0] PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_strict_fails_without_tuple[list-positional-items1] PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_strict_fails_without_tuple[set-variable-items0] PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_strict_fails_without_tuple[set-positional-items1] PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_strict_fails_without_tuple[frozenset-variable-items0] PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_strict_fails_without_tuple[frozenset-positional-items1] PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_var_len_kwargs[{}-(1, 2, 3, 4)-(1, 2, 3, 4)] PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_var_len_kwargs[{'min_length': 3}-(1, 2, 3, 4)-(1, 2, 3, 4)] PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_var_len_kwargs[{'min_length': 3}-(1, 2)-Err('Tuple should have at least 3 items after validation, not 2 [type=too_short,')] PASSED [ 78%] tests/validators/test_tuple.py::test_tuple_var_len_kwargs[{'max_length': 4}-(1, 2, 3, 4)-(1, 2, 3, 4)] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_var_len_kwargs[{'max_length': 3}-(1, 2, 3, 4)-Err('Tuple should have at most 3 items after validation, not 4 [type=too_long,')] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_var_len_kwargs[{'max_length': 3}-[1, 2, 3, 4]-Err('Tuple should have at most 3 items after validation, not 4 [type=too_long,')] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_var_len_kwargs[{'max_length': 3}--Err('Tuple should have at most 3 items after validation, not 4 [type=too_long,')] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_validate[(1, 2, '3')-(1, 2, 3)-variable-items0] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_validate[(1, 2, '3')-(1, 2, 3)-positional-items1] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_validate[[1, 2, '3']-(1, 2, 3)-variable-items0] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_validate[[1, 2, '3']-(1, 2, 3)-positional-items1] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_validate[deque([1, 2, '3'])-(1, 2, 3)-variable-items0] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_validate[deque([1, 2, '3'])-(1, 2, 3)-positional-items1] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_validate[dict_keys([1, 2, '3'])-(1, 2, 3)-variable-items0] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_validate[dict_keys([1, 2, '3'])-(1, 2, 3)-positional-items1] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_validate[dict_values([10, 20, '30'])-(10, 20, 30)-variable-items0] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_validate[dict_values([10, 20, '30'])-(10, 20, 30)-positional-items1] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_validate[{1: 10, 2: 20, '3': '30'}-Err('Input should be a valid tuple [type=tuple_type,')-variable-items0] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_validate[{1: 10, 2: 20, '3': '30'}-Err('Input should be a valid tuple [type=tuple_type,')-positional-items1] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_validate[{'3', 1, 2}-IsTuple(1, 2, 3, check_order=False)-variable-items0] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_validate[{'3', 1, 2}-IsTuple(1, 2, 3, check_order=False)-positional-items1] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_validate[frozenset({'3', 1, 2})-IsTuple(1, 2, 3, check_order=False)-variable-items0] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_validate[frozenset({'3', 1, 2})-IsTuple(1, 2, 3, check_order=False)-positional-items1] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_validate_iterator[variable-items0] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_validate_iterator[positional-items1] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_var_len_errors[input_value0-0] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_var_len_errors[input_value1-0] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_var_len_errors[input_value2-3] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_var_len_errors[input_value3-3] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_var_len_errors[input_value4-index4] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_fix_len_errors[input_value0-items0-0] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_fix_len_errors[input_value1-items1-0] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_fix_len_errors[input_value2-items2-3] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_fix_len_errors[input_value3-items3-3] PASSED [ 79%] tests/validators/test_tuple.py::test_tuple_fix_len_errors[input_value4-items4-index4] PASSED [ 79%] tests/validators/test_tuple.py::test_multiple_missing[python] PASSED [ 79%] tests/validators/test_tuple.py::test_multiple_missing[json] PASSED [ 79%] tests/validators/test_tuple.py::test_extra_arguments[python] PASSED [ 79%] tests/validators/test_tuple.py::test_extra_arguments[json] PASSED [ 79%] tests/validators/test_tuple.py::test_positional_empty[python] PASSED [ 80%] tests/validators/test_tuple.py::test_positional_empty[json] PASSED [ 80%] tests/validators/test_tuple.py::test_positional_empty_extra[python] PASSED [ 80%] tests/validators/test_tuple.py::test_positional_empty_extra[json] PASSED [ 80%] tests/validators/test_tuple.py::test_union_tuple_list[input_value0-expected0] PASSED [ 80%] tests/validators/test_tuple.py::test_union_tuple_list[input_value1-expected1] PASSED [ 80%] tests/validators/test_tuple.py::test_union_tuple_var_len[(1, 2, 3)-(1, 2, 3)] PASSED [ 80%] tests/validators/test_tuple.py::test_union_tuple_var_len[('a', 'b', 'c')-('a', 'b', 'c')] PASSED [ 80%] tests/validators/test_tuple.py::test_union_tuple_var_len[('a', b'a', 'c')-('a', 'a', 'c')] PASSED [ 80%] tests/validators/test_tuple.py::test_union_tuple_var_len[[5]-Err('2 validation errors for union', errors=[{'type': 'tuple_type', 'loc': ('tuple[int, ...]',), 'msg': 'Input should be a valid tuple', 'input': [5]}, {'type': 'tuple_type', 'loc': ('tuple[str, ...]',), 'msg': 'Input should be a valid tuple', 'input': [5]}])] PASSED [ 80%] tests/validators/test_tuple.py::test_union_tuple_fix_len[(1, 2, 3)-(1, 2, 3)] PASSED [ 80%] tests/validators/test_tuple.py::test_union_tuple_fix_len[('a', 'b', 'c')-('a', 'b', 'c')] PASSED [ 80%] tests/validators/test_tuple.py::test_union_tuple_fix_len[[5, '1', 1]-Err('2 validation errors for union', errors=[{'type': 'tuple_type', 'loc': ('tuple[int, int, int]',), 'msg': 'Input should be a valid tuple', 'input': [5, '1', 1]}, {'type': 'tuple_type', 'loc': ('tuple[str, str, str]',), 'msg': 'Input should be a valid tuple', 'input': [5, '1', 1]}])] PASSED [ 80%] tests/validators/test_tuple.py::test_tuple_fix_error PASSED [ 80%] tests/validators/test_tuple.py::test_tuple_fix_extra[input_value0-expected0] PASSED [ 80%] tests/validators/test_tuple.py::test_tuple_fix_extra[input_value1-expected1] PASSED [ 80%] tests/validators/test_tuple.py::test_tuple_fix_extra[input_value2-expected2] PASSED [ 80%] tests/validators/test_tuple.py::test_tuple_fix_extra[input_value3-expected3] PASSED [ 80%] tests/validators/test_tuple.py::test_tuple_fix_extra[input_value4-expected4] PASSED [ 80%] tests/validators/test_tuple.py::test_tuple_fix_extra[input_value5-expected5] PASSED [ 80%] tests/validators/test_tuple.py::test_tuple_fix_extra_any PASSED [ 80%] tests/validators/test_tuple.py::test_generator_error PASSED [ 80%] tests/validators/test_tuple.py::test_frozenset_from_dict_items[Tuple[Any, Any]] PASSED [ 80%] tests/validators/test_tuple.py::test_frozenset_from_dict_items[Tuple[int, int]] PASSED [ 80%] tests/validators/test_tuple.py::test_frozenset_from_dict_items[Any] PASSED [ 80%] tests/validators/test_tuple.py::test_length_constraints_omit[input_value0-expected0] PASSED [ 80%] tests/validators/test_tuple.py::test_length_constraints_omit[input_value1-expected1] PASSED [ 80%] tests/validators/test_tuple.py::test_length_constraints_omit[input_value2-expected2] PASSED [ 80%] tests/validators/test_typed_dict.py::test_simple PASSED [ 80%] tests/validators/test_typed_dict.py::test_strict PASSED [ 80%] tests/validators/test_typed_dict.py::test_with_default PASSED [ 80%] tests/validators/test_typed_dict.py::test_missing_error PASSED [ 80%] tests/validators/test_typed_dict.py::test_config[{}-{'a': '123'}-{'a': 123}] PASSED [ 80%] tests/validators/test_typed_dict.py::test_config[{}-Map(a=123)-{'a': 123}] PASSED [ 80%] tests/validators/test_typed_dict.py::test_config[{}-{b'a': '123'}-Err('Field required [type=missing,')] PASSED [ 80%] tests/validators/test_typed_dict.py::test_config[{}-{'a': '123', 'c': 4}-{'a': 123}] PASSED [ 80%] tests/validators/test_typed_dict.py::test_config[{'extra_fields_behavior': 'allow'}-{'a': '123', 'c': 4}-{'a': 123, 'c': 4}] PASSED [ 81%] tests/validators/test_typed_dict.py::test_config[{'extra_fields_behavior': 'allow'}-{'a': '123', b'c': 4}-Err('Keys should be strings [type=invalid_key,')] PASSED [ 81%] tests/validators/test_typed_dict.py::test_config[{'strict': True}-Map(a=123)-Err('Input should be a valid dictionary [type=dict_type,')] PASSED [ 81%] tests/validators/test_typed_dict.py::test_config[{}-{'a': '123', 'b': '4.7'}-{'a': 123, 'b': 4.7}] PASSED [ 81%] tests/validators/test_typed_dict.py::test_config[{}-{'a': '123', 'b': 'nan'}-{'a': 123, 'b': FunctionCheck(isnan)}] PASSED [ 81%] tests/validators/test_typed_dict.py::test_config[{'allow_inf_nan': False}-{'a': '123', 'b': 'nan'}-Err('Input should be a finite number [type=finite_number,')] PASSED [ 81%] tests/validators/test_typed_dict.py::test_ignore_extra PASSED [ 81%] tests/validators/test_typed_dict.py::test_forbid_extra PASSED [ 81%] tests/validators/test_typed_dict.py::test_allow_extra_invalid PASSED [ 81%] tests/validators/test_typed_dict.py::test_allow_extra_wrong PASSED [ 81%] tests/validators/test_typed_dict.py::test_str_config PASSED [ 81%] tests/validators/test_typed_dict.py::test_json_error PASSED [ 81%] tests/validators/test_typed_dict.py::test_missing_schema_key PASSED [ 81%] tests/validators/test_typed_dict.py::test_fields_required_by_default PASSED [ 81%] tests/validators/test_typed_dict.py::test_fields_required_by_default_with_optional PASSED [ 81%] tests/validators/test_typed_dict.py::test_fields_required_by_default_with_default PASSED [ 81%] tests/validators/test_typed_dict.py::test_all_optional_fields PASSED [ 81%] tests/validators/test_typed_dict.py::test_all_optional_fields_with_required_fields PASSED [ 81%] tests/validators/test_typed_dict.py::test_field_required_and_default PASSED [ 81%] tests/validators/test_typed_dict.py::test_alias[python] PASSED [ 81%] tests/validators/test_typed_dict.py::test_alias[json] PASSED [ 81%] tests/validators/test_typed_dict.py::test_empty_string_field_name[python] PASSED [ 81%] tests/validators/test_typed_dict.py::test_empty_string_field_name[json] PASSED [ 81%] tests/validators/test_typed_dict.py::test_empty_string_aliases[python] PASSED [ 81%] tests/validators/test_typed_dict.py::test_empty_string_aliases[json] PASSED [ 81%] tests/validators/test_typed_dict.py::test_alias_allow_pop[python] PASSED [ 81%] tests/validators/test_typed_dict.py::test_alias_allow_pop[json] PASSED [ 81%] tests/validators/test_typed_dict.py::test_alias_path[python-{'foo': {'bar': '123'}}-{'field_a': 123}] PASSED [ 81%] tests/validators/test_typed_dict.py::test_alias_path[python-{'x': '123'}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 81%] tests/validators/test_typed_dict.py::test_alias_path[python-{'foo': '123'}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 81%] tests/validators/test_typed_dict.py::test_alias_path[python-{'foo': [1, 2, 3]}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 81%] tests/validators/test_typed_dict.py::test_alias_path[python-{'foo': {'bat': '123'}}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 81%] tests/validators/test_typed_dict.py::test_alias_path[json-{'foo': {'bar': '123'}}-{'field_a': 123}] PASSED [ 81%] tests/validators/test_typed_dict.py::test_alias_path[json-{'x': '123'}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 81%] tests/validators/test_typed_dict.py::test_alias_path[json-{'foo': '123'}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 81%] tests/validators/test_typed_dict.py::test_alias_path[json-{'foo': [1, 2, 3]}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_alias_path[json-{'foo': {'bat': '123'}}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'foo': {'bar': {'bat': '123'}}}-{'field_a': 123}] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'foo': [1, 2, 3, 4]}-{'field_a': 4}] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'foo': (1, 2, 3, 4)}-{'field_a': 4}] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'spam': 5}-{'field_a': 5}] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'spam': 1, 'foo': {'bar': {'bat': 2}}}-{'field_a': 2}] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'foo': {'x': 2}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'x': '123'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'x': {2: 33}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'foo': '01234'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'foo': [1]}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'foo': {'bar': {'bat': '123'}}}-{'field_a': 123}] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'foo': [1, 2, 3, 4]}-{'field_a': 4}] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'foo': (1, 2, 3, 4)}-{'field_a': 4}] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'spam': 5}-{'field_a': 5}] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'spam': 1, 'foo': {'bar': {'bat': 2}}}-{'field_a': 2}] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'foo': {'x': 2}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'x': '123'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'x': {2: 33}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'foo': '01234'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'foo': [1]}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_negative[{'foo': {-2: '123'}}-{'field_a': 123}] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_negative[{'foo': [1, 42, 'xx']}-{'field_a': 42}] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_negative[{'foo': [42, 'xxx', 42]}-Err('Input should be a valid integer,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_negative[{'foo': [42]}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_negative[{'foo': {'xx': '123'}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_negative[{'foo': {'-2': '123'}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_negative[{'foo': {2: '123'}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_negative[{'foo': 'foobar'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_negative[{'foo': {0, 1, 2}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_negative_json[python-{'foo': [1, 42, 'xx']}-{'field_a': 42}] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_negative_json[python-{'foo': [42, 'xxx', 42]}-Err('Input should be a valid integer,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_negative_json[python-{'foo': [42]}-Err('foo.-2\\\\n +Field required \\\\[type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_negative_json[json-{'foo': [1, 42, 'xx']}-{'field_a': 42}] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_negative_json[json-{'foo': [42, 'xxx', 42]}-Err('Input should be a valid integer,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_aliases_path_negative_json[json-{'foo': [42]}-Err('foo.-2\\\\n +Field required \\\\[type=missing,')] PASSED [ 83%] tests/validators/test_typed_dict.py::test_aliases_debug PASSED [ 83%] tests/validators/test_typed_dict.py::test_paths_allow_by_name[python-{'foo': {'bar': 42}}] PASSED [ 83%] tests/validators/test_typed_dict.py::test_paths_allow_by_name[python-{'foo': 42}] PASSED [ 83%] tests/validators/test_typed_dict.py::test_paths_allow_by_name[python-{'field_a': 42}] PASSED [ 83%] tests/validators/test_typed_dict.py::test_paths_allow_by_name[json-{'foo': {'bar': 42}}] PASSED [ 83%] tests/validators/test_typed_dict.py::test_paths_allow_by_name[json-{'foo': 42}] PASSED [ 83%] tests/validators/test_typed_dict.py::test_paths_allow_by_name[json-{'field_a': 42}] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_build_error[{'validation_alias': ['foo', ['bar']]}-'Input should be a valid string'] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_build_error[{'validation_alias': []}-'Lookup paths should have at least one element'] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_build_error[{'validation_alias': [[]]}-'Each alias path should have at least one element'] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_build_error[{'validation_alias': [123]}-"TypeError: 'int' object cannot be converted to 'PyList'"] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_build_error[{'validation_alias': [[[]]]}-'Input should be a valid string'] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_build_error[{'validation_alias': [[1, 'foo']]}-'TypeError: The first item in an alias path should be a string'] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_error_loc_alias[python] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_error_loc_alias[json] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_error_loc_field_names[python] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_error_loc_field_names[json] PASSED [ 83%] tests/validators/test_typed_dict.py::test_empty_model PASSED [ 83%] tests/validators/test_typed_dict.py::test_model_deep PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_extra[python] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_extra[json] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_extra_by_name[python] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_extra_by_name[json] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_extra_forbid[python] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_extra_forbid[json] PASSED [ 83%] tests/validators/test_typed_dict.py::test_with_default_factory PASSED [ 83%] tests/validators/test_typed_dict.py::test_field_required_and_default_factory PASSED [ 83%] tests/validators/test_typed_dict.py::test_bad_default_factory[-unsupported operand type(s) for +: 'int' and 'str'] PASSED [ 83%] tests/validators/test_typed_dict.py::test_bad_default_factory[-() missing 1 required positional argument: 'x'] PASSED [ 83%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_bad_name PASSED [ 83%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_bad_omit PASSED [ 83%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_bad_default PASSED [ 83%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_raise_by_default[python] PASSED [ 83%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_raise_by_default[json] PASSED [ 83%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_raise_explicit[python] PASSED [ 83%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_raise_explicit[json] PASSED [ 84%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_omit[python] PASSED [ 84%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_omit[json] PASSED [ 84%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_omit_with_default[python] PASSED [ 84%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_omit_with_default[json] PASSED [ 84%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_default[python] PASSED [ 84%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_default[json] PASSED [ 84%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_default_factory[python] PASSED [ 84%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_default_factory[json] PASSED [ 84%] tests/validators/test_typed_dict.py::TestOnError::test_wrap_on_error[python] PASSED [ 84%] tests/validators/test_typed_dict.py::TestOnError::test_wrap_on_error[json] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extra_validator=unset-config0-schema_extra_behavior_kw0] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extra_validator=unset-config1-schema_extra_behavior_kw1] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extra_validator=unset-config2-schema_extra_behavior_kw2] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extra_validator=unset-None-schema_extra_behavior_kw3] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extra_validator=unset-config4-schema_extra_behavior_kw4] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extra_validator=None-config0-schema_extra_behavior_kw0] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extra_validator=None-config1-schema_extra_behavior_kw1] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extra_validator=None-config2-schema_extra_behavior_kw2] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extra_validator=None-None-schema_extra_behavior_kw3] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extra_validator=None-config4-schema_extra_behavior_kw4] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extra_validator=int-config0-schema_extra_behavior_kw0] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extra_validator=int-config1-schema_extra_behavior_kw1] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extra_validator=int-config2-schema_extra_behavior_kw2] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extra_validator=int-None-schema_extra_behavior_kw3] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extra_validator=int-config4-schema_extra_behavior_kw4] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_forbid[config0-schema_extra_behavior_kw0] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_forbid[config1-schema_extra_behavior_kw1] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_forbid[config2-schema_extra_behavior_kw2] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_forbid[None-schema_extra_behavior_kw3] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_forbid[config4-schema_extra_behavior_kw4] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_ignore[config0-schema_extra_behavior_kw0] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_ignore[config1-schema_extra_behavior_kw1] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_ignore[None-schema_extra_behavior_kw2] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_ignore[config3-schema_extra_behavior_kw3] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_ignore[config4-schema_extra_behavior_kw4] PASSED [ 84%] tests/validators/test_typed_dict.py::test_extra_behavior_ignore[config5-schema_extra_behavior_kw5] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_ignore[None-schema_extra_behavior_kw6] PASSED [ 85%] tests/validators/test_typed_dict.py::test_leak_typed_dict PASSED [ 85%] tests/validators/test_union.py::test_union_bool_int[True-True] PASSED [ 85%] tests/validators/test_union.py::test_union_bool_int[False-False] PASSED [ 85%] tests/validators/test_union.py::test_union_bool_int[true-True] PASSED [ 85%] tests/validators/test_union.py::test_union_bool_int[false-False] PASSED [ 85%] tests/validators/test_union.py::test_union_bool_int[1-1] PASSED [ 85%] tests/validators/test_union.py::test_union_bool_int[0-0] PASSED [ 85%] tests/validators/test_union.py::test_union_bool_int[123-1230] PASSED [ 85%] tests/validators/test_union.py::test_union_bool_int[123-1231] PASSED [ 85%] tests/validators/test_union.py::test_union_bool_int[0-False] PASSED [ 85%] tests/validators/test_union.py::test_union_bool_int[1-True] PASSED [ 85%] tests/validators/test_union.py::test_union_int_bool[True-True] PASSED [ 85%] tests/validators/test_union.py::test_union_int_bool[False-False] PASSED [ 85%] tests/validators/test_union.py::test_union_int_bool[true-True] PASSED [ 85%] tests/validators/test_union.py::test_union_int_bool[false-False] PASSED [ 85%] tests/validators/test_union.py::test_union_int_bool[1-10] PASSED [ 85%] tests/validators/test_union.py::test_union_int_bool[0-00] PASSED [ 85%] tests/validators/test_union.py::test_union_int_bool[123-1230] PASSED [ 85%] tests/validators/test_union.py::test_union_int_bool[123-1231] PASSED [ 85%] tests/validators/test_union.py::test_union_int_bool[0-01] PASSED [ 85%] tests/validators/test_union.py::test_union_int_bool[1-11] PASSED [ 85%] tests/validators/test_union.py::TestModelClass::test_model_a PASSED [ 85%] tests/validators/test_union.py::TestModelClass::test_model_b PASSED [ 85%] tests/validators/test_union.py::TestModelClass::test_exact_check PASSED [ 85%] tests/validators/test_union.py::TestModelClass::test_error PASSED [ 85%] tests/validators/test_union.py::TestModelClassSimilar::test_model_a PASSED [ 85%] tests/validators/test_union.py::TestModelClassSimilar::test_model_b_ignored PASSED [ 85%] tests/validators/test_union.py::TestModelClassSimilar::test_model_b_not_ignored PASSED [ 85%] tests/validators/test_union.py::test_nullable_via_union PASSED [ 85%] tests/validators/test_union.py::test_union_list_bool_int PASSED [ 85%] tests/validators/test_union.py::test_no_choices PASSED [ 85%] tests/validators/test_union.py::test_empty_choices PASSED [ 85%] tests/validators/test_union.py::test_one_choice PASSED [ 85%] tests/validators/test_union.py::test_strict_union PASSED [ 85%] tests/validators/test_union.py::test_custom_error PASSED [ 86%] tests/validators/test_union.py::test_custom_error_type PASSED [ 86%] tests/validators/test_union.py::test_custom_error_type_context PASSED [ 86%] tests/validators/test_union.py::test_dirty_behaviour PASSED [ 86%] tests/validators/test_union.py::test_int_float PASSED [ 86%] tests/validators/test_union.py::test_str_float PASSED [ 86%] tests/validators/test_union.py::test_strict_check PASSED [ 86%] tests/validators/test_union.py::test_no_strict_check PASSED [ 86%] tests/validators/test_union.py::test_strict_reference PASSED [ 86%] tests/validators/test_url.py::test_url_ok[python] PASSED [ 86%] tests/validators/test_url.py::test_url_ok[json] PASSED [ 86%] tests/validators/test_url.py::test_url_from_constructor_ok PASSED [ 86%] tests/validators/test_url.py::test_url_cases[-expected0-SCHEMA_VALIDATOR] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[-expected0-URI_CLASS] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[:,-expected1-SCHEMA_VALIDATOR] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[:,-expected1-URI_CLASS] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[http://example.com-expected2-SCHEMA_VALIDATOR] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[http://example.com-expected2-URI_CLASS] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[http://exa\nmple.com-expected3-SCHEMA_VALIDATOR] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[http://exa\nmple.com-expected3-URI_CLASS] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[xxx-expected4-SCHEMA_VALIDATOR] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[xxx-expected4-URI_CLASS] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[http://-expected5-SCHEMA_VALIDATOR] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[http://-expected5-URI_CLASS] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[https://xn----expected6-SCHEMA_VALIDATOR] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[https://xn----expected6-URI_CLASS] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[http://example.com:65535-http://example.com:65535/-SCHEMA_VALIDATOR] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[http://example.com:65535-http://example.com:65535/-URI_CLASS] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[http:\\\\example.com-http://example.com/-SCHEMA_VALIDATOR] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[http:\\\\example.com-http://example.com/-URI_CLASS] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[http:example.com-http://example.com/-SCHEMA_VALIDATOR] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[http:example.com-http://example.com/-URI_CLASS] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[http://example.com:65536-expected10-SCHEMA_VALIDATOR] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[http://example.com:65536-expected10-URI_CLASS] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[http://1...1-expected11-SCHEMA_VALIDATOR] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[http://1...1-expected11-URI_CLASS] PASSED [ 86%] tests/validators/test_url.py::test_url_cases[https://[2001:0db8:85a3:0000:0000:8a2e:0370:7334[-expected12-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[https://[2001:0db8:85a3:0000:0000:8a2e:0370:7334[-expected12-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[https://[-expected13-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[https://[-expected13-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[https://example com-expected14-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[https://example com-expected14-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http://exam%ple.com-expected15-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http://exam%ple.com-expected15-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http:// /-expected16-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http:// /-expected16-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[/more-expected17-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[/more-expected17-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http://example.com./foobar-expected18-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http://example.com./foobar-expected18-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http://example.com-expected19-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http://example.com-expected19-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http:/foo-expected20-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http:/foo-expected20-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http:///foo-expected21-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http:///foo-expected21-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http://exam_ple.com-expected22-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http://exam_ple.com-expected22-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http://exam-ple.com-expected23-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http://exam-ple.com-expected23-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http://example-.com-expected24-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http://example-.com-expected24-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[https://\xa3\xa3\xa3.com-expected25-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[https://\xa3\xa3\xa3.com-expected25-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[https://foobar.\xa3\xa3\xa3.com-expected26-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[https://foobar.\xa3\xa3\xa3.com-expected26-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[https://foo.\xa3$.money.com-expected27-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[https://foo.\xa3$.money.com-expected27-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[https://xn--9aaa.com/-expected28-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[https://xn--9aaa.com/-expected28-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[https://m\xfcnchen/-expected29-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[https://m\xfcnchen/-expected29-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://\xe0.\u05d0\u0308.com-expected30-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://\xe0.\u05d0\u0308.com-expected30-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[ssh://xn--9aaa.com/-ssh://xn--9aaa.com/-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[ssh://xn--9aaa.com/-ssh://xn--9aaa.com/-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[ssh://m\xfcnchen.com/-ssh://m%C3%BCnchen.com/-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[ssh://m\xfcnchen.com/-ssh://m%C3%BCnchen.com/-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[ssh://example/-ssh://example/-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[ssh://example/-ssh://example/-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[ssh://\xa3\xa3\xa3/-ssh://%C2%A3%C2%A3%C2%A3/-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[ssh://\xa3\xa3\xa3/-ssh://%C2%A3%C2%A3%C2%A3/-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[ssh://%C2%A3%C2%A3%C2%A3/-ssh://%C2%A3%C2%A3%C2%A3/-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[ssh://%C2%A3%C2%A3%C2%A3/-ssh://%C2%A3%C2%A3%C2%A3/-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[ftp://127.0.0.1-expected36-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[ftp://127.0.0.1-expected36-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[wss://1.1.1.1-expected37-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[wss://1.1.1.1-expected37-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[snap://[::1]-expected38-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[snap://[::1]-expected38-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[ftp://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]-expected39-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[ftp://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]-expected39-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[foobar://127.0.0.1-expected40-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[foobar://127.0.0.1-expected40-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[mysql://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]-expected41-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[mysql://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]-expected41-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[mysql://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]/thing-expected42-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[mysql://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]/thing-expected42-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[https:/more-expected43-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[https:/more-expected43-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[https:more-expected44-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[https:more-expected44-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[file:///foobar-expected45-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[file:///foobar-expected45-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[file:///:80-expected46-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[file:///:80-expected46-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[file://:80-expected47-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[file://:80-expected47-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[foobar://:80-expected48-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[foobar://:80-expected48-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[file:\\\\foobar\\more-expected49-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[file:\\\\foobar\\more-expected49-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http:\\\\foobar\\more-expected50-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http:\\\\foobar\\more-expected50-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[mongo:\\\\foobar\\more-expected51-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[mongo:\\\\foobar\\more-expected51-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[mongodb+srv://server.example.com/-mongodb+srv://server.example.com/-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[mongodb+srv://server.example.com/-mongodb+srv://server.example.com/-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http://example.com.-expected53-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http://example.com.-expected53-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http:/example.com-expected54-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http:/example.com-expected54-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http:/foo-expected55-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http:/foo-expected55-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http://foo-expected56-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http://foo-expected56-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http:///foo-expected57-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http:///foo-expected57-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http:////foo-expected58-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http:////foo-expected58-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http://--expected59-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http://--expected59-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http:////example.com-expected60-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http:////example.com-expected60-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[https://\xa3\xa3\xa3.com-expected61-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[https://\xa3\xa3\xa3.com-expected61-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[https://\xa3\xa3\xa3.com.-expected62-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[https://\xa3\xa3\xa3.com.-expected62-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[https://xn--9aaa.com/-expected63-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[https://xn--9aaa.com/-expected63-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[https://m\xfcnchen/-expected64-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[https://m\xfcnchen/-expected64-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http://\xe0.\u05d0\u0308.com-expected65-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http://\xe0.\u05d0\u0308.com-expected65-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[ftp://xn--0ca.xn--ssa73l.com-expected66-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[ftp://xn--0ca.xn--ssa73l.com-expected66-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[https://foobar.\xa3\xa3\xa3.com/-expected67-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[https://foobar.\xa3\xa3\xa3.com/-expected67-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[https://\xa3\xa3\xa3.com-expected68-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[https://\xa3\xa3\xa3.com-expected68-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[https://xn--9aaa.com/-expected69-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[https://xn--9aaa.com/-expected69-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[wss://1.1.1.1-expected70-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[wss://1.1.1.1-expected70-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[file:///foobar-expected71-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[file:///foobar-expected71-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[postgresql+py-postgresql://user:pass@localhost:5432/app-expected72-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[postgresql+py-postgresql://user:pass@localhost:5432/app-expected72-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[https://https/-expected73-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[https://https/-expected73-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http://user:@example.org-expected74-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http://user:@example.org-expected74-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http://us@er:p[ass@example.org-expected75-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http://us@er:p[ass@example.org-expected75-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http://us%40er:p%5Bass@example.org-expected76-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http://us%40er:p%5Bass@example.org-expected76-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http://us[]er:p,ass@example.org-expected77-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http://us[]er:p,ass@example.org-expected77-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http://%2F:@example.org-expected78-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http://%2F:@example.org-expected78-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[foo://user:@example.org-expected79-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[foo://user:@example.org-expected79-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[foo://us@er:p[ass@example.org-expected80-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[foo://us@er:p[ass@example.org-expected80-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[foo://us%40er:p%5Bass@example.org-expected81-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[foo://us%40er:p%5Bass@example.org-expected81-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[foo://us[]er:p,ass@example.org-expected82-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[foo://us[]er:p,ass@example.org-expected82-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[foo://%2F:@example.org-expected83-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[foo://%2F:@example.org-expected83-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[HTTP://EXAMPLE.ORG-expected84-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[HTTP://EXAMPLE.ORG-expected84-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[HTTP://EXAMPLE.org-expected85-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[HTTP://EXAMPLE.org-expected85-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[POSTGRES://EXAMPLE.ORG-expected86-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[POSTGRES://EXAMPLE.ORG-expected86-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[https://twitter.com/@handle-expected87-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[https://twitter.com/@handle-expected87-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[ https://www.example.com \n-https://www.example.com/-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[ https://www.example.com \n-https://www.example.com/-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[https://www.\u0430\u0440\u0440\u04cf\u0435.com/-https://www.xn--80ak6aa92e.com/-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[https://www.\u0430\u0440\u0440\u04cf\u0435.com/-https://www.xn--80ak6aa92e.com/-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[https://exampl\xa3e.org-https://xn--example-gia.org/-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[https://exampl\xa3e.org-https://xn--example-gia.org/-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[https://example.\u73e0\u5b9d-https://example.xn--pbt977c/-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[https://example.\u73e0\u5b9d-https://example.xn--pbt977c/-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[https://example.verm\xf6gensberatung-https://example.xn--vermgensberatung-pwb/-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[https://example.verm\xf6gensberatung-https://example.xn--vermgensberatung-pwb/-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[https://example.\u0440\u0444-https://example.xn--p1ai/-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[https://example.\u0440\u0444-https://example.xn--p1ai/-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[https://exampl\xa3e.\u73e0\u5b9d-https://xn--example-gia.xn--pbt977c/-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[https://exampl\xa3e.\u73e0\u5b9d-https://xn--example-gia.xn--pbt977c/-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[ht\U0001f4a3tp://example.org-expected95-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[ht\U0001f4a3tp://example.org-expected95-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[http://us\xdfer:pas\u211ds@a\U0001f4a3b.com:123/c?d=e&d=f#g-expected96-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[http://us\xdfer:pas\u211ds@a\U0001f4a3b.com:123/c?d=e&d=f#g-expected96-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_defaults_single_url[validator_kwargs0-http://example.org-expected0] PASSED [ 91%] tests/validators/test_url.py::test_url_defaults_single_url[validator_kwargs1-redis://-expected1] PASSED [ 91%] tests/validators/test_url.py::test_url_defaults_multi_host_url[validator_kwargs0-http://example.org-expected0] PASSED [ 91%] tests/validators/test_url.py::test_url_defaults_multi_host_url[validator_kwargs1-redis://-expected1] PASSED [ 91%] tests/validators/test_url.py::test_url_defaults_multi_host_url[validator_kwargs2-redis://localhost,127.0.0.1-expected2] PASSED [ 91%] tests/validators/test_url.py::test_url_defaults_multi_host_url[validator_kwargs3-redis://-expected3] PASSED [ 91%] tests/validators/test_url.py::test_multi_host_url[http://example.org:1234/baz-expected0] PASSED [ 91%] tests/validators/test_url.py::test_multi_host_url[redis://localhost,127.0.0.1-expected1] PASSED [ 91%] tests/validators/test_url.py::test_multi_host_url[redis://-expected2] PASSED [ 91%] tests/validators/test_url.py::test_multi_host_default_host_no_comma PASSED [ 92%] tests/validators/test_url.py::test_url_error[http://example.com-expected0] PASSED [ 92%] tests/validators/test_url.py::test_url_error[http://exa\nmple.com-expected1] PASSED [ 92%] tests/validators/test_url.py::test_url_error[xxx-expected2] PASSED [ 92%] tests/validators/test_url.py::test_url_error[http:/foo-expected3] PASSED [ 92%] tests/validators/test_url.py::test_url_error[http:///foo-expected4] PASSED [ 92%] tests/validators/test_url.py::test_url_error[http:////foo-expected5] PASSED [ 92%] tests/validators/test_url.py::test_url_error[http://exam_ple.com-expected6] PASSED [ 92%] tests/validators/test_url.py::test_url_error[https:/more-expected7] PASSED [ 92%] tests/validators/test_url.py::test_url_error[https:more-expected8] PASSED [ 92%] tests/validators/test_url.py::test_url_error[file:///foobar-expected9] PASSED [ 92%] tests/validators/test_url.py::test_url_error[file://:80-expected10] PASSED [ 92%] tests/validators/test_url.py::test_url_error[file:/xx-expected11] PASSED [ 92%] tests/validators/test_url.py::test_url_error[foobar://:80-expected12] PASSED [ 92%] tests/validators/test_url.py::test_url_error[mongodb+srv://server.example.com/-mongodb+srv://server.example.com/] PASSED [ 92%] tests/validators/test_url.py::test_url_error[http://user:@example.org-http://user@example.org/0] PASSED [ 92%] tests/validators/test_url.py::test_url_error[http://us[er:@example.org-expected15] PASSED [ 92%] tests/validators/test_url.py::test_url_error[http://us%5Ber:bar@example.org-http://us%5Ber:bar@example.org/] PASSED [ 92%] tests/validators/test_url.py::test_url_error[http://user:@example.org-http://user@example.org/1] PASSED [ 92%] tests/validators/test_url.py::test_url_error[mongodb://us%5Ber:bar@example.org-mongodb://us%5Ber:bar@example.org] PASSED [ 92%] tests/validators/test_url.py::test_url_error[mongodb://us@er@example.org-expected19] PASSED [ 92%] tests/validators/test_url.py::test_no_host PASSED [ 92%] tests/validators/test_url.py::test_max_length PASSED [ 92%] tests/validators/test_url.py::test_allowed_schemes_ok PASSED [ 92%] tests/validators/test_url.py::test_allowed_schemes_error PASSED [ 92%] tests/validators/test_url.py::test_allowed_schemes_errors PASSED [ 92%] tests/validators/test_url.py::test_url_query_repeat PASSED [ 92%] tests/validators/test_url.py::test_url_to_url PASSED [ 92%] tests/validators/test_url.py::test_url_to_constraint PASSED [ 92%] tests/validators/test_url.py::test_wrong_type_lax PASSED [ 92%] tests/validators/test_url.py::test_wrong_type_strict PASSED [ 92%] tests/validators/test_url.py::test_username[https://apple:pie@example.com/foo-https://apple:pie@example.com/foo-apple-pie] PASSED [ 92%] tests/validators/test_url.py::test_username[https://apple:@example.com/foo-https://apple@example.com/foo-apple-None] PASSED [ 92%] tests/validators/test_url.py::test_username[https://app$le:pie@example.com/foo-https://app$le:pie@example.com/foo-app$le-pie] PASSED [ 92%] tests/validators/test_url.py::test_username[https://app le:pie@example.com/foo-https://app%20le:pie@example.com/foo-app%20le-pie] PASSED [ 92%] tests/validators/test_url.py::test_strict_not_strict PASSED [ 92%] tests/validators/test_url.py::test_multi_host_url_ok_single[python] PASSED [ 93%] tests/validators/test_url.py::test_multi_host_url_ok_single[json] PASSED [ 93%] tests/validators/test_url.py::test_multi_host_url_ok_2[python] PASSED [ 93%] tests/validators/test_url.py::test_multi_host_url_ok_2[json] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[-expected0] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[http://example.com-expected1] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[postgres://example.com-expected2] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[mongodb://foo,bar,spam/xxx-expected3] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[ mongodb://foo,bar,spam/xxx -mongodb://foo,bar,spam/xxx] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[ \n\r\t mongodb://foo,bar,spam/xxx-mongodb://foo,bar,spam/xxx] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[mongodb+srv://foo,bar,spam/xxx-expected6] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[https://foo:bar@example.com,fo%20o:bar@example.com-expected7] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[postgres://foo:bar@example.com,fo%20o:bar@example.com-expected8] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[postgres://-expected9] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[postgres://,-expected10] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[postgres://,,-expected11] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[postgres://foo,\n,bar-expected12] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[postgres://\n,bar-expected13] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[postgres://foo,\n-expected14] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[postgres://foo,-expected15] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[postgres://,foo-expected16] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[http://-expected17] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[http://,-expected18] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[http://,,-expected19] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[http://foo,\n,bar-expected20] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[http://\n,bar-expected21] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[http://foo,\n-expected22] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[http://foo,-expected23] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[http://,foo-expected24] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[http@foobar-expected25] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[mongodb://foo\n,b\nar,\nspam/xxx-expected26] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[postgres://user:pass@host1.db.net:4321,host2.db.net:6432/app-expected27] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[postgresql+py-postgresql://user:pass@localhost:5432/app-expected28] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[http://foo#bar-http://foo/#bar] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[mongodb://foo#bar-mongodb://foo#bar] PASSED [ 93%] tests/validators/test_url.py::test_multi_url_cases[http://foo,bar#spam-http://foo,bar/#spam] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases[mongodb://foo,bar#spam-mongodb://foo,bar#spam] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases[http://foo,bar?x=y-http://foo,bar/?x=y] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases[mongodb://foo,bar?x=y-mongodb://foo,bar?x=y] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases[foo://foo,bar?x=y-foo://foo,bar?x=y] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases[mongodb://mongodb1.example.com:27317,mongodb2.example.com:27017/mydatabase?replicaSet=mySet&authSource=authDB-expected36] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases[FILE:\\\\foo,bar\\more-expected37] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases[http:\\\\foo,bar\\more-expected38] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases[mongo:\\\\foo,bar\\more-expected39] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases[foobar://foo[]bar:x@y@whatever,foo[]bar:x@y@whichever-expected40] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases[foobar://foo%2Cbar:x@y@whatever,snap-expected41] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases[mongodb://x:y@[::1],1.1.1.1:888/xxx-expected42] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases[http://foo.co.uk,bar.spam.things.com-expected43] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases[ht\U0001f4a3tp://example.com-expected44] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases[http://\xa3\xa3\xa3.com-expected45] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases[http://\xa3\xa3\xa3.co.uk,m\xfcnchen.com/foo?bar=baz#qux-expected46] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases[postgres://\xa3\xa3\xa3.co.uk,m\xfcnchen.com/foo?bar=baz#qux-expected47] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases_strict[http://example.com-http://example.com/] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases_strict[ mongodb://foo,bar,spam/xxx -expected1] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases_strict[ \n\r\t mongodb://foo,bar,spam/xxx-expected2] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases_strict[file:\\\\foo,bar\\more-expected3] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases_strict[http:\\\\foo,bar\\more-expected4] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases_strict[mongo:\\\\foo,bar\\more-expected5] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases_strict[foobar://foo[]bar:x@y@whatever,foo[]bar:x@y@whichever-expected6] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases_strict[foobar://foo%2Cbar:x@y@whatever,snap-expected7] PASSED [ 94%] tests/validators/test_url.py::test_multi_url_cases_strict[foobar://foo%2Cbar:x%40y@whatever,snap-foobar://foo%2Cbar:x%40y@whatever,snap] PASSED [ 94%] tests/validators/test_url.py::test_url_to_multi_url PASSED [ 94%] tests/validators/test_url.py::test_multi_wrong_type PASSED [ 94%] tests/validators/test_url.py::test_multi_allowed_schemas PASSED [ 94%] tests/validators/test_url.py::test_multi_max_length PASSED [ 94%] tests/validators/test_url.py::test_zero_schemas PASSED [ 94%] tests/validators/test_url.py::test_url_vulnerabilities[http://google.com#@evil.com/-expected0] PASSED [ 94%] tests/validators/test_url.py::test_url_vulnerabilities[http://127.0.0.1%0d%0aConnection%3a%20keep-alive-expected1] PASSED [ 94%] tests/validators/test_url.py::test_url_vulnerabilities[http://google.com/\uff2e\uff2e/abc-expected2] PASSED [ 94%] tests/validators/test_url.py::test_url_vulnerabilities[javascript:a='@google.com:12345/';alert(0)-expected3] PASSED [ 94%] tests/validators/test_url.py::test_url_vulnerabilities[//google.com/a/b/c-expected4] PASSED [ 94%] tests/validators/test_url.py::test_url_vulnerabilities[http://\u30d2:\u30ad@\u30d2.abc.\u30cb/\u30d2?\u30ad#\u30ef-expected5] PASSED [ 95%] tests/validators/test_url.py::test_url_vulnerabilities[10.251.0.83:7777?a=1 HTTP/1.1\r\nX-injected: header-expected6] PASSED [ 95%] tests/validators/test_url.py::test_url_vulnerabilities[http://10.251.0.83:7777?a=1 HTTP/1.1\r\nX-injected: header-expected7] PASSED [ 95%] tests/validators/test_url.py::test_url_vulnerabilities[http://127.0.0.1:6379?\r\nSET test failure12\r\n:8080/test/?test=a-expected8] PASSED [ 95%] tests/validators/test_url.py::test_url_vulnerabilities[https://user:pass@xdavidhu.me\\test.corp.google.com:8080/path/to/something?param=value#hash-expected9] PASSED [ 95%] tests/validators/test_url.py::test_url_vulnerabilities[https://@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@[-expected10] PASSED [ 95%] tests/validators/test_url.py::test_url_vulnerabilities[https://user:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@example.com-expected11] PASSED [ 95%] tests/validators/test_url.py::test_multi_host_url_comparison PASSED [ 95%] tests/validators/test_url.py::test_multi_host_url_bool PASSED [ 95%] tests/validators/test_url.py::test_multi_host_url_hash PASSED [ 95%] tests/validators/test_url.py::test_multi_host_url_deepcopy PASSED [ 95%] tests/validators/test_url.py::test_url_comparison PASSED [ 95%] tests/validators/test_url.py::test_url_bool PASSED [ 95%] tests/validators/test_url.py::test_url_hash PASSED [ 95%] tests/validators/test_url.py::test_url_deepcopy PASSED [ 95%] tests/validators/test_url.py::test_multi_url_build PASSED [ 95%] tests/validators/test_url.py::test_multi_url_build_hosts_set_with_single_value[host] PASSED [ 95%] tests/validators/test_url.py::test_multi_url_build_hosts_set_with_single_value[password] PASSED [ 95%] tests/validators/test_url.py::test_multi_url_build_hosts_set_with_single_value[username] PASSED [ 95%] tests/validators/test_url.py::test_multi_url_build_hosts_set_with_single_value[port] PASSED [ 95%] tests/validators/test_url.py::test_multi_url_build_hosts_empty_host PASSED [ 95%] tests/validators/test_url.py::test_multi_url_build_hosts PASSED [ 95%] tests/validators/test_url.py::test_multi_url_build_neither_host_and_hosts_set PASSED [ 95%] tests/validators/test_url.py::test_url_build PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[12345678-1234-1234-1234-567812345678-expected0] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[550e8400-e29b-41d4-a716-446655440000-expected1] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[f47ac10b-58cc-4372-a567-0e02b2c3d479-expected2] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[123e4567-e89b-12d3-a456-426655440000-expected3] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[de305d54-75b4-431b-adb2-eb6b9e546014-expected4] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[00000000-0000-0000-0000-000000000000-expected5] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[1b4e28ba-2fa1-11d2-883f-0016d3cca427-expected6] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[6ba7b810-9dad-11d1-80b4-00c04fd430c8-expected7] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[886313e1-3b8a-5372-9b90-0c9aee199e5d-expected8] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[c0a8f9a8-aa5e-482b-a067-9cb3a51f5c11-expected9] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[\x124Vx\x124Vx\x124Vx\x124Vx-expected10] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00-expected11] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[ebcdab58-6eb8-46fb-a190-d07a33e9eac8-expected12] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid[input_value13-expected13] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid[input_value14-expected14] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid[not-a-valid-uuid-expected15] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid[12345678-1234-5678-1234-5678123456789-expected16] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid[12345678-1234-1234-1234-1234567890123-expected17] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid[\x00\x00\x00\x000\x00\x00\x00\x000\x00\x00\x00\x000\x00\x00\x00\x000-expected18] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid[550e8400-e29b-41d4-a716-expected19] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid[f47ac10b-58cc-4372-a567-0e02b2c3d47-expected20] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid[de305d54-75b4-431b-adb2-eb6b9e54601-expected21] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid[1b4e28ba-2fa1-11d2-883f-0016d3cca42-expected22] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid[6ba7b810-9dad-11d1-80b4-00c04fd430c-expected23] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid[886313e1-3b8a-5372-9b90-0c9aee199e5-expected24] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid[c0a8f9a8-aa5e-482b-a067-9cb3a51f5c1-expected25] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid[214850178493633095719753750962310141912-expected26] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid[0-expected27] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_strict[input_value0-expected0] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_strict[12345678-1234-5678-1234-567812345678-expected1] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_strict[12345678-1234-5678-1234-567812345678-expected2] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_strict[1654646400-expected3] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[a6cc5730-2261-11ee-9c43-2eb5a363657c-1-expected0] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value1-1-expected1] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[04e4aeb3-8f20-30d0-8852-d295e1265eed-3-expected2] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value3-3-expected3] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[0e7ac198-9acd-4c0c-b4b4-761974bf71d7-4-expected4] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value5-4-expected5] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[0e7ac198-9acd-4c0c-b4b4-761974bf71d7-4-expected6] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value7-4-expected7] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[a6cc5730-2261-11ee-9c43-2eb5a363657c-5-expected8] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value9-5-expected9] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[04e4aeb3-8f20-30d0-8852-d295e1265eed-4-expected10] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value11-4-expected11] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[0e7ac198-9acd-4c0c-b4b4-761974bf71d7-3-expected12] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value13-3-expected13] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[08ed0736-fb95-5cc5-85ed-37e4f3df9b29-1-expected14] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value15-1-expected15] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_json[python-a6cc5730-2261-11ee-9c43-2eb5a363657c-expected0] PASSED [ 97%] tests/validators/test_uuid.py::test_uuid_json[python-12345678123456781234567812345678-expected1] PASSED [ 97%] tests/validators/test_uuid.py::test_uuid_json[python-c0a8f9a8-aa5e-482b-a067-9cb3a51f5c1-expected2] PASSED [ 97%] tests/validators/test_uuid.py::test_uuid_json[python-10.0-expected3] PASSED [ 97%] tests/validators/test_uuid.py::test_uuid_json[python-None-expected4] PASSED [ 97%] tests/validators/test_uuid.py::test_uuid_json[python-True-expected5] PASSED [ 97%] tests/validators/test_uuid.py::test_uuid_json[python-214850178493633095719753750962310141912-expected6] PASSED [ 97%] tests/validators/test_uuid.py::test_uuid_json[python-24197857161011715162171839636988778104-expected7] PASSED [ 97%] tests/validators/test_uuid.py::test_uuid_json[json-a6cc5730-2261-11ee-9c43-2eb5a363657c-expected0] PASSED [ 97%] tests/validators/test_uuid.py::test_uuid_json[json-12345678123456781234567812345678-expected1] PASSED [ 97%] tests/validators/test_uuid.py::test_uuid_json[json-c0a8f9a8-aa5e-482b-a067-9cb3a51f5c1-expected2] PASSED [ 97%] tests/validators/test_uuid.py::test_uuid_json[json-10.0-expected3] PASSED [ 97%] tests/validators/test_uuid.py::test_uuid_json[json-None-expected4] PASSED [ 97%] tests/validators/test_uuid.py::test_uuid_json[json-True-expected5] PASSED [ 97%] tests/validators/test_uuid.py::test_uuid_json[json-214850178493633095719753750962310141912-expected6] PASSED [ 97%] tests/validators/test_uuid.py::test_uuid_json[json-24197857161011715162171839636988778104-expected7] PASSED [ 97%] tests/validators/test_uuid.py::test_uuid_deepcopy PASSED [ 97%] tests/validators/test_uuid.py::test_uuid_copy PASSED [ 97%] tests/validators/test_with_default.py::test_typed_dict_default PASSED [ 97%] tests/validators/test_with_default.py::test_typed_dict_omit PASSED [ 97%] tests/validators/test_with_default.py::test_arguments PASSED [ 97%] tests/validators/test_with_default.py::test_arguments_omit PASSED [ 97%] tests/validators/test_with_default.py::test_list_json[python-input_value0-expected0] PASSED [ 97%] tests/validators/test_with_default.py::test_list_json[python-input_value1-expected1] PASSED [ 97%] tests/validators/test_with_default.py::test_list_json[python-input_value2-expected2] PASSED [ 97%] tests/validators/test_with_default.py::test_list_json[json-input_value0-expected0] PASSED [ 97%] tests/validators/test_with_default.py::test_list_json[json-input_value1-expected1] PASSED [ 97%] tests/validators/test_with_default.py::test_list_json[json-input_value2-expected2] PASSED [ 97%] tests/validators/test_with_default.py::test_list[input_value0-expected0] PASSED [ 97%] tests/validators/test_with_default.py::test_list[input_value1-expected1] PASSED [ 97%] tests/validators/test_with_default.py::test_list[input_value2-expected2] PASSED [ 97%] tests/validators/test_with_default.py::test_list[input_value3-expected3] PASSED [ 97%] tests/validators/test_with_default.py::test_list[input_value4-expected4] PASSED [ 97%] tests/validators/test_with_default.py::test_list[input_value5-expected5] PASSED [ 97%] tests/validators/test_with_default.py::test_set[input_value0-expected0] PASSED [ 97%] tests/validators/test_with_default.py::test_set[input_value1-expected1] PASSED [ 97%] tests/validators/test_with_default.py::test_set[input_value2-expected2] PASSED [ 98%] tests/validators/test_with_default.py::test_set[input_value3-expected3] PASSED [ 98%] tests/validators/test_with_default.py::test_set[input_value4-expected4] PASSED [ 98%] tests/validators/test_with_default.py::test_dict_values[python] PASSED [ 98%] tests/validators/test_with_default.py::test_dict_values[json] PASSED [ 98%] tests/validators/test_with_default.py::test_dict_keys PASSED [ 98%] tests/validators/test_with_default.py::test_tuple_variable[python] PASSED [ 98%] tests/validators/test_with_default.py::test_tuple_variable[json] PASSED [ 98%] tests/validators/test_with_default.py::test_tuple_positional PASSED [ 98%] tests/validators/test_with_default.py::test_tuple_positional_omit PASSED [ 98%] tests/validators/test_with_default.py::test_on_error_default PASSED [ 98%] tests/validators/test_with_default.py::test_factory_runtime_error PASSED [ 98%] tests/validators/test_with_default.py::test_factory_type_error PASSED [ 98%] tests/validators/test_with_default.py::test_typed_dict_error PASSED [ 98%] tests/validators/test_with_default.py::test_on_error_default_not_int PASSED [ 98%] tests/validators/test_with_default.py::test_on_error_default_factory PASSED [ 98%] tests/validators/test_with_default.py::test_on_error_omit PASSED [ 98%] tests/validators/test_with_default.py::test_on_error_wrong PASSED [ 98%] tests/validators/test_with_default.py::test_build_default_and_default_factory PASSED [ 98%] tests/validators/test_with_default.py::test_model_class PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[after-True-True] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[after-True-False] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[after-True-None] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[after-False-True] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[after-False-False] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[after-False-None] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[after-None-True] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[after-None-False] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[after-None-None] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[before-True-True] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[before-True-False] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[before-True-None] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[before-False-True] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[before-False-False] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[before-False-None] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[before-None-True] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[before-None-False] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[before-None-None] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[wrap-before-True-True] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[wrap-before-True-False] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[wrap-before-True-None] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[wrap-before-False-True] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[wrap-before-False-False] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[wrap-before-False-None] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[wrap-before-None-True] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[wrap-before-None-False] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[wrap-before-None-None] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[wrap-after-True-True] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[wrap-after-True-False] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[wrap-after-True-None] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[wrap-after-False-True] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[wrap-after-False-False] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[wrap-after-False-None] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[wrap-after-None-True] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[wrap-after-None-False] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default[wrap-after-None-None] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_factory PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_error_tuple PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_error_typed_dict PASSED [ 99%] tests/validators/test_with_default.py::test_deepcopy_mutable_defaults PASSED [ 99%] tests/validators/test_with_default.py::test_default_value PASSED [ 99%] tests/validators/test_with_default.py::test_default_value_validate_default PASSED [ 99%] tests/validators/test_with_default.py::test_default_value_validate_default_fail PASSED [ 99%] tests/validators/test_with_default.py::test_default_value_validate_default_strict_pass PASSED [ 99%] tests/validators/test_with_default.py::test_default_value_validate_default_strict_fail PASSED [ 99%] tests/validators/test_with_default.py::test_no_default_value[True] PASSED [ 99%] tests/validators/test_with_default.py::test_no_default_value[False] PASSED [ 99%] tests/validators/test_with_default.py::test_some[True] PASSED [ 99%] tests/validators/test_with_default.py::test_some[False] PASSED [ 99%] tests/validators/test_with_default.py::test_some_pattern_match PASSED [ 99%] tests/validators/test_with_default.py::test_use_default_error PASSED [ 99%] tests/validators/test_with_default.py::test_leak_with_default PASSED [100%] Results (37.01s): 3528 passed 56 skipped INFO : Command's result: OK + exit 0 Processing files: python3-module-pydantic-core-2.4.0-alt1 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.49716 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-pydantic-core-2.4.0 + DOCDIR=/usr/src/tmp/python3-module-pydantic-core-buildroot/usr/share/doc/python3-module-pydantic-core-2.4.0 + export DOCDIR + rm -rf /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/share/doc/python3-module-pydantic-core-2.4.0 + /bin/mkdir -p /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/share/doc/python3-module-pydantic-core-2.4.0 + cp -prL README.md /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/share/doc/python3-module-pydantic-core-2.4.0 + chmod -R go-w /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/share/doc/python3-module-pydantic-core-2.4.0 + chmod -R a+rX /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/share/doc/python3-module-pydantic-core-2.4.0 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.1dB8bY find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.xIUoDi find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) python3.req: /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/lib64/python3/site-packages/pydantic_core/__init__.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/lib64/python3/site-packages/pydantic_core/__init__.py: Ignore for REQ=slight module=typing_extensions /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/lib64/python3/site-packages/pydantic_core/__init__.py: pydantic_core._pydantic_core is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/lib64/python3/site-packages/pydantic_core/__init__.py: pydantic_core.core_schema is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/lib64/python3/site-packages/pydantic_core/core_schema.py: pydantic_core is possibly a self-providing dependency, skip it python3.req: /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/lib64/python3/site-packages/pydantic_core/core_schema.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pydantic-core-buildroot/usr/lib64/python3/site-packages/pydantic_core/core_schema.py: Ignore for REQ=slight module=typing_extensions Provides: python3(pydantic_core), python3(pydantic_core._pydantic_core), python3(pydantic_core.core_schema) Requires: python3-module-typing-extensions, /usr/lib64/python3/site-packages, ld-linux-x86-64.so.2()(64bit) >= set:jiids, ld-linux-x86-64.so.2(GLIBC_2.3)(64bit), libc.so.6(GLIBC_2.14)(64bit), libc.so.6(GLIBC_2.17)(64bit), libc.so.6(GLIBC_2.18)(64bit), libc.so.6(GLIBC_2.2.5)(64bit), libc.so.6(GLIBC_2.25)(64bit), libc.so.6(GLIBC_2.28)(64bit), libc.so.6(GLIBC_2.3)(64bit), libc.so.6(GLIBC_2.3.4)(64bit), libc.so.6(GLIBC_2.33)(64bit), libc.so.6(GLIBC_2.34)(64bit), libc.so.6(GLIBC_2.4)(64bit), libgcc_s.so.1(GCC_3.0)(64bit), libgcc_s.so.1(GCC_3.3)(64bit), libgcc_s.so.1(GCC_4.2.0)(64bit), libm.so.6(GLIBC_2.2.5)(64bit), python3(__future__) < 0, python3(collections.abc) < 0, python3(datetime) < 0, python3(typing) < 0, python3.11-ABI(64bit), rtld(GNU_HASH) Requires(rpmlib): rpmlib(SetVersions) Finding debuginfo files (using /usr/lib/rpm/find-debuginfo-files) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.zL35XZ Wrote: /usr/src/RPM/RPMS/x86_64/python3-module-pydantic-core-2.4.0-alt1.x86_64.rpm (w2.lzdio) 274.41user 13.99system 3:27.52elapsed 138%CPU (0avgtext+0avgdata 1134100maxresident)k 0inputs+0outputs (0major+2363066minor)pagefaults 0swaps 7.90user 3.02system 4:05.95elapsed 4%CPU (0avgtext+0avgdata 125712maxresident)k 6120inputs+0outputs (0major+321196minor)pagefaults 0swaps