==> Building on torracat ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list created directory packages/python-pydantic-core ./ .SRCINFO 1,096 100% 0.00kB/s 0:00:00 1,096 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=3/5) .nvchecker.toml 62 100% 60.55kB/s 0:00:00 62 100% 60.55kB/s 0:00:00 (xfr#2, to-chk=2/5) PKGBUILD 1,865 100% 1.78MB/s 0:00:00 1,865 100% 1.78MB/s 0:00:00 (xfr#3, to-chk=1/5) python-pydantic-core-1:2.18.1-1.log 255 100% 249.02kB/s 0:00:00 255 100% 249.02kB/s 0:00:00 (xfr#4, to-chk=0/5) sent 2,089 bytes received 147 bytes 4,472.00 bytes/sec total size is 3,218 speedup is 1.44 ==> Patching arch to riscv64... ==> Running extra-riscv64-build -- -d /home/felix/packages/riscv64-pkg-cache:/var/cache/pacman/pkg -l root2 on remote host... ==> Locking clean chroot...done [?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [?25h==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [root2]...done ==> Making package: python-pydantic-core 1:2.18.1-1 (Wed Apr 17 10:25:02 2024) ==> Retrieving sources...  -> Downloading python-pydantic-core-2.18.1.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 10282 0 10282 0 0 6095 0 --:--:-- 0:00:01 --:--:-- 6095 100 192k 0 192k 0 0 81526 0 --:--:-- 0:00:02 --:--:-- 251k 100 385k 0 385k 0 0 144k 0 --:--:-- 0:00:02 --:--:-- 385k ==> Validating source files with sha512sums... python-pydantic-core-2.18.1.tar.gz ... Passed ==> Validating source files with b2sums... python-pydantic-core-2.18.1.tar.gz ... Passed ==> Making package: python-pydantic-core 1:2.18.1-1 (Wed Apr 17 10:25:46 2024) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (2) New Version Net Change core/python 3.11.8-1 107.82 MiB extra/python-typing_extensions 4.10.0-1 0.39 MiB Total Installed Size: 108.21 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python... Optional dependencies for python python-setuptools: for building Python packages using tooling that is usually bundled with Python python-pip: for installing Python packages using tooling that is usually bundled with Python python-pipx: for installing Python software not packaged on Arch Linux sqlite: for a default database integration [installed] mpdecimal: for decimal xz: for lzma [installed] tk: for tkinter installing python-typing_extensions... [?25h==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (29) New Version Net Change Download Size core/libedit 20230828_3.1-1 0.24 MiB extra/llvm-libs 17.0.6-2 117.02 MiB extra/maturin 1.5.1-1 9.64 MiB extra/python-attrs 23.2.0-1 0.57 MiB extra/python-black 24.3.0-1 1.99 MiB 0.38 MiB extra/python-click 8.1.7-1 1.24 MiB extra/python-iniconfig 2.0.0-4 0.04 MiB extra/python-mypy_extensions 1.0.0-3 0.03 MiB extra/python-packaging 23.2-1 0.53 MiB extra/python-pathspec 0.12.1-1 0.24 MiB extra/python-platformdirs 4.2.0-1 0.24 MiB extra/python-pluggy 1.4.0-2 0.21 MiB extra/python-py-cpuinfo 9.0.0-3 0.33 MiB 0.06 MiB extra/python-pyproject-hooks 1.0.0-5 0.09 MiB extra/python-pytz 2024.1-1 0.17 MiB extra/python-ruff 0.3.7-1 0.18 MiB 0.02 MiB extra/python-sortedcontainers 2.4.0-5 0.41 MiB 0.05 MiB extra/ruff 0.3.7-1 19.54 MiB 5.71 MiB extra/rust 1:1.77.2-1 213.80 MiB extra/python-build 1.1.1-2 0.69 MiB extra/python-dirty-equals 0.7.1.post0-1 0.34 MiB extra/python-hypothesis 6.100.1-1 4.72 MiB 0.83 MiB extra/python-installer 0.7.0-4 0.19 MiB extra/python-maturin 1.5.1-1 0.07 MiB 0.02 MiB extra/python-pytest 1:8.1.1-1 4.18 MiB extra/python-pytest-benchmark 4.0.0-5 0.47 MiB 0.10 MiB extra/python-pytest-examples 0.0.10-1 0.17 MiB 0.04 MiB extra/python-pytest-mock 3.13.0-1 0.10 MiB 0.02 MiB extra/python-pytest-timeout 2.3.1-1 0.09 MiB 0.02 MiB Total Download Size: 7.25 MiB Total Installed Size: 377.54 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... ruff-0.3.7-1-riscv64 downloading... python-hypothesis-6.100.1-1-any downloading... python-black-24.3.0-1-any downloading... python-pytest-benchmark-4.0.0-5-any downloading... python-py-cpuinfo-9.0.0-3-any downloading... python-sortedcontainers-2.4.0-5-any downloading... python-pytest-examples-0.0.10-1-any downloading... python-pytest-mock-3.13.0-1-any downloading... python-pytest-timeout-2.3.1-1-any downloading... python-maturin-1.5.1-1-riscv64 downloading... python-ruff-0.3.7-1-riscv64 downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-packaging... installing python-pyproject-hooks... installing python-build... Optional dependencies for python-build python-virtualenv: Use virtualenv for build isolation installing python-installer... installing libedit... installing llvm-libs... installing rust... Optional dependencies for rust gdb: rust-gdb script lldb: rust-lldb script installing maturin... installing python-maturin... installing python-pytz... installing python-dirty-equals... Optional dependencies for python-dirty-equals python-pydantic: for pydantic support installing python-attrs... installing python-sortedcontainers... installing python-hypothesis... Optional dependencies for python-hypothesis python-black: for CLI and ghostwriter [pending] python-click: for CLI [pending] python-dateutil: for date support python-django: for django module python-dpcontracts: for contracts support python-faker: for fakefactory and django module python-lark-parser: for lark module python-libcst: for codemods module python-numpy: for numpy module python-pandas: for pandas support python-pytest: for pytest module [pending] python-pytz: for datetime and django module [installed] python-redis: for redis support python-rich: for CLI installing python-iniconfig... installing python-pluggy... installing python-pytest... installing python-py-cpuinfo... installing python-pytest-benchmark... installing python-click... installing python-mypy_extensions... installing python-pathspec... installing python-platformdirs... installing python-black... Optional dependencies for python-black ipython: for Jupyter notebook support python-tokenize-rt: for Jupyter notebook support python-aiohttp: for the blackd HTTP server python-colorama: for colored diffs installing ruff... installing python-ruff... installing python-pytest-examples... installing python-pytest-mock... installing python-pytest-timeout... [?25h==> Retrieving sources...  -> Found python-pydantic-core-2.18.1.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Extracting python-pydantic-core-2.18.1.tar.gz with bsdtar ==> Starting prepare()... ==> Starting build()... * Getting build dependencies for wheel... * Building wheel... Running `maturin pep517 build-wheel -i /usr/bin/python --compatibility off` Updating crates.io index Downloading crates ... Downloaded equivalent v1.0.1 Downloaded windows-targets v0.48.1 Downloaded unindent v0.2.3 Downloaded version_check v0.9.4 Downloaded zerocopy-derive v0.7.32 Downloaded uuid v1.7.0 Downloaded serde v1.0.197 Downloaded url v2.5.0 Downloaded unicode-normalization v0.1.22 Downloaded jiter v0.2.1 Downloaded serde_json v1.0.114 Downloaded zerocopy v0.7.32 Downloaded lexical-parse-float v0.8.5 Downloaded hashbrown v0.14.3 Downloaded portable-atomic v1.6.0 Downloaded syn v2.0.48 Downloaded regex v1.10.3 Downloaded idna v0.5.0 Downloaded aho-corasick v1.0.2 Downloaded windows_aarch64_gnullvm v0.48.0 Downloaded windows_x86_64_gnullvm v0.48.0 Downloaded regex-syntax v0.8.2 Downloaded num-bigint v0.4.4 Downloaded memchr v2.6.3 Downloaded lexical-util v0.8.5 Downloaded python3-dll-a v0.2.9 Downloaded pyo3 v0.21.1 Downloaded pyo3-macros-backend v0.21.1 Downloaded pyo3-ffi v0.21.1 Downloaded indexmap v2.2.2 Downloaded regex-automata v0.4.5 Downloaded cc v1.0.79 Downloaded libc v0.2.147 Downloaded windows_x86_64_msvc v0.48.0 Downloaded windows_x86_64_gnu v0.48.0 Downloaded windows_aarch64_msvc v0.48.0 Downloaded pyo3-macros v0.21.1 Downloaded pyo3-build-config v0.21.1 Downloaded windows_i686_msvc v0.48.0 Downloaded windows_i686_gnu v0.48.0 Downloaded base64 v0.21.7 Downloaded unicode-ident v1.0.10 Downloaded unicode-bidi v0.3.13 Downloaded tinyvec v1.6.0 Downloaded speedate v0.14.0 Downloaded serde_derive v1.0.197 Downloaded ryu v1.0.14 Downloaded proc-macro2 v1.0.76 Downloaded parking_lot v0.12.1 Downloaded num-traits v0.2.16 Downloaded enum_dispatch v0.3.13 Downloaded wasi v0.11.0+wasi-snapshot-preview1 Downloaded target-lexicon v0.12.9 Downloaded strum_macros v0.26.1 Downloaded smallvec v1.13.2 Downloaded redox_syscall v0.3.5 Downloaded quote v1.0.35 Downloaded parking_lot_core v0.9.8 Downloaded once_cell v1.18.0 Downloaded lock_api v0.4.10 Downloaded lexical-parse-integer v0.8.6 Downloaded getrandom v0.2.10 Downloaded cfg-if v1.0.0 Downloaded tinyvec_macros v0.1.1 Downloaded strum_macros v0.25.3 Downloaded static_assertions v1.1.0 Downloaded scopeguard v1.1.0 Downloaded rustversion v1.0.13 Downloaded percent-encoding v2.3.1 Downloaded num-integer v0.1.45 Downloaded memoffset v0.9.0 Downloaded itoa v1.0.8 Downloaded indoc v2.0.4 Downloaded heck v0.4.1 Downloaded form_urlencoded v1.2.1 Downloaded bitflags v1.3.2 Downloaded autocfg v1.1.0 Downloaded ahash v0.8.10 Downloaded strum v0.25.0 📦 Including license file "/build/python-pydantic-core/src/pydantic-core-2.18.1/LICENSE" 🍹 Building a mixed python/rust project 🔗 Found pyo3 bindings 🐍 Found CPython 3.11 at /usr/bin/python 📡 Using build options features, bindings from pyproject.toml Compiling autocfg v1.1.0 Compiling target-lexicon v0.12.9 Compiling proc-macro2 v1.0.76 Compiling python3-dll-a v0.2.9 Compiling unicode-ident v1.0.10 Compiling once_cell v1.18.0 Compiling libc v0.2.147 Compiling heck v0.4.1 Compiling quote v1.0.35 Compiling pyo3-build-config v0.21.1 Compiling syn v2.0.48 Compiling num-traits v0.2.16 Compiling rustversion v1.0.13 Compiling version_check v0.9.4 Compiling cfg-if v1.0.0 Compiling lock_api v0.4.10 Compiling num-integer v0.1.45 Compiling parking_lot_core v0.9.8 Compiling memoffset v0.9.0 Compiling num-bigint v0.4.4 Compiling portable-atomic v1.6.0 Compiling scopeguard v1.1.0 Compiling smallvec v1.13.2 Compiling static_assertions v1.1.0 Compiling tinyvec_macros v0.1.1 Compiling tinyvec v1.6.0 Compiling pyo3-ffi v0.21.1 Compiling pyo3-macros-backend v0.21.1 Compiling pyo3 v0.21.1 Compiling lexical-util v0.8.5 Compiling ahash v0.8.10 Compiling serde v1.0.197 Compiling memchr v2.6.3 Compiling aho-corasick v1.0.2 Compiling parking_lot v0.12.1 Compiling lexical-parse-integer v0.8.6 Compiling unicode-normalization v0.1.22 Compiling strum_macros v0.25.3 Compiling serde_derive v1.0.197 Compiling jiter v0.2.1 Compiling getrandom v0.2.10 Compiling zerocopy v0.7.32 Compiling pyo3-macros v0.21.1 Compiling percent-encoding v2.3.1 Compiling regex-syntax v0.8.2 Compiling equivalent v1.0.1 Compiling unindent v0.2.3 Compiling serde_json v1.0.114 Compiling hashbrown v0.14.3 Compiling indoc v2.0.4 Compiling unicode-bidi v0.3.13 Compiling regex-automata v0.4.5 Compiling idna v0.5.0 Compiling strum v0.25.0 Compiling indexmap v2.2.2 Compiling form_urlencoded v1.2.1 Compiling lexical-parse-float v0.8.5 Compiling pydantic-core v2.18.1 (/build/python-pydantic-core/src/pydantic-core-2.18.1) Compiling itoa v1.0.8 Compiling ryu v1.0.14 Compiling url v2.5.0 Compiling speedate v0.14.0 Compiling regex v1.10.3 Compiling enum_dispatch v0.3.13 Compiling strum_macros v0.26.1 Compiling base64 v0.21.7 Compiling uuid v1.7.0 Finished release [optimized] target(s) in 40m 39s 📦 Built wheel for CPython 3.11 to /build/python-pydantic-core/src/pydantic-core-2.18.1/target/wheels/pydantic_core-2.18.1-cp311-cp311-linux_riscv64.whl /build/python-pydantic-core/src/pydantic-core-2.18.1/target/wheels/pydantic_core-2.18.1-cp311-cp311-linux_riscv64.whl Successfully built pydantic_core-2.18.1-cp311-cp311-linux_riscv64.whl ==> Starting check()... ============================= test session starts ============================== platform linux -- Python 3.11.8, pytest-8.1.1, pluggy-1.4.0 -- /usr/bin/python cachedir: .pytest_cache hypothesis profile 'slow' -> max_examples=1000, database=DirectoryBasedExampleDatabase(PosixPath('/build/python-pydantic-core/src/pydantic-core-2.18.1/.hypothesis/examples')) 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) rootdir: /build/python-pydantic-core/src/pydantic-core-2.18.1 configfile: pyproject.toml testpaths: tests plugins: timeout-2.3.1, hypothesis-6.100.1, examples-0.0.10, benchmark-4.0.0, mock-3.13.0 timeout: 30.0s timeout method: signal timeout func_only: False collecting ... collected 4401 items tests/benchmarks/test_complete_benchmark.py::test_complete_valid PASSED [ 0%] tests/benchmarks/test_complete_benchmark.py::test_complete_invalid PASSED [ 0%] tests/benchmarks/test_complete_benchmark.py::test_complete_core_lax PASSED [ 0%] tests/benchmarks/test_complete_benchmark.py::test_complete_core_strict PASSED [ 0%] tests/benchmarks/test_complete_benchmark.py::test_complete_core_serializer_to_python PASSED [ 0%] tests/benchmarks/test_complete_benchmark.py::test_complete_core_serializer_to_json PASSED [ 0%] tests/benchmarks/test_complete_benchmark.py::test_complete_core_error PASSED [ 0%] tests/benchmarks/test_complete_benchmark.py::test_complete_core_isinstance PASSED [ 0%] tests/benchmarks/test_complete_benchmark.py::test_complete_core_json PASSED [ 0%] tests/benchmarks/test_complete_benchmark.py::test_build_schema PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_python_fs PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_json_fs PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_python PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_json_fs PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_bool_core PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_small_class_core_dict PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_small_class_core_model PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_core_string_lax PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_core_string_lax_wrong PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict_wrong PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_core_string_strict_wrong_str_e PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_lax_true PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_lax_false PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_strict_true PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_isinstance_string_strict_false PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_definition_model_core PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_list_of_dict_models_core PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_list_of_ints_core_py PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_list_of_ints_core_json PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_list_of_strs_py_cached PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_list_of_strs_json_cached PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_list_of_strs_json_uncached PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_list_of_any_core_py PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_duplicates PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_length PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_json PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_set_of_ints_core_json_duplicates PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_frozenset_of_ints_core PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_frozenset_of_ints_duplicates_core PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_dict_of_ints_core PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_dict_of_any_core PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_dict_of_ints_core_json PASSED [ 0%] tests/benchmarks/test_micro_benchmarks.py::test_many_models_core_dict PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_many_models_core_model PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_list_of_nullable_core PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_bytes_core PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_python PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_model_core_json PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_raw PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_str PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future_str PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_date PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_str PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime_str PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_core_future PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_core_future_str PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_smart_union_core PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_smart_union_coerce_core PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_strict_union_core PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUnion::test_strict_union_error_core PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_string_core PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_string_pyd PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_uuid_core PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_uuid_pyd PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_python PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_model_core_json PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_raw PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_str PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_dont_raise_error PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_dont_raise_error_no_info PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_raise_error_value_error PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_raise_error_custom PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_positional_tuple PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_variable_tuple PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_tuple_many_variable PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_tuple_many_positional PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_arguments PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_with_default PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_chain_list PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_chain_function PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_chain_two_functions PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_chain_nested_functions PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_generator_python PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_generator_rust PASSED [ 1%] tests/benchmarks/test_micro_benchmarks.py::test_isinstance_json PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_int_error PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_definition_in_tree PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_definition_out_of_tree PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_model_instance PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_model_instance_abc PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_ints] PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_small_strings] PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_large_strings] PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_str_enum] PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_ints] PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_small_strings] PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-many_large_strings] PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[python-few_mixed] PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_ints] PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_small_strings] PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_large_strings] PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_str_enum] PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_ints] PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_small_strings] PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-many_large_strings] PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_validate_literal[json-few_mixed] PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_core_root_model PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_strict_int PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_strict_int_fails PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_int_range PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_int_range_json PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_tagged_union_int_keys_python PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_tagged_union_int_keys_json PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_field_function_validator PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_core PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_pyd PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_limit PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_enum_int_python PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_enum_int_core PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_enum_str_python PASSED [ 2%] tests/benchmarks/test_micro_benchmarks.py::test_enum_str_core PASSED [ 2%] tests/benchmarks/test_nested_benchmark.py::test_nested_schema_using_defs PASSED [ 2%] tests/benchmarks/test_nested_benchmark.py::test_nested_schema_inlined PASSED [ 2%] tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict PASSED [ 2%] tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict_filter PASSED [ 2%] tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_json PASSED [ 2%] tests/benchmarks/test_serialization_micro.py::test_json_direct_list_str PASSED [ 2%] tests/benchmarks/test_serialization_micro.py::test_python_json_list_str PASSED [ 2%] tests/benchmarks/test_serialization_micro.py::test_json_any_list_str PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_json_direct_list_int PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_json_any_list_int PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_python_json_list_int PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_python_json_list_none PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_date_format PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_date_format_function PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_date_format_function_no_info PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_core_model_py PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_core_model_py_extra PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_core_model_json PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_core_model_json_extra PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_model_exclude_unset_false PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_model_exclude_unset_true PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_model_list_core_json PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_datetime PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_uuid PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_to_string_format PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_to_string_direct PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_filter PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_to_json_list_of_lists PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_ser_list_of_lists PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_dataclass_serialization_python PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_dataclass_serialization_json PASSED [ 3%] tests/benchmarks/test_serialization_micro.py::test_dataclass_to_json PASSED [ 3%] tests/serializers/test_any.py::test_repr PASSED [ 3%] tests/serializers/test_any.py::test_any_json_round_trip[None] PASSED [ 3%] tests/serializers/test_any.py::test_any_json_round_trip[1] PASSED [ 3%] tests/serializers/test_any.py::test_any_json_round_trip[1.0] PASSED [ 3%] tests/serializers/test_any.py::test_any_json_round_trip[True] PASSED [ 3%] tests/serializers/test_any.py::test_any_json_round_trip[foo] PASSED [ 3%] tests/serializers/test_any.py::test_any_json_round_trip[value5] PASSED [ 3%] tests/serializers/test_any.py::test_any_json_round_trip[value6] PASSED [ 3%] tests/serializers/test_any.py::test_any_python[MyDataclass(a=1, b='foo')-{'a': 1, 'b': 'foo'}-{'a': 1, 'b': 'foo'}] PASSED [ 3%] tests/serializers/test_any.py::test_any_python[MyModel({'a': 1, 'b': 'foo', '__pydantic_serializer__': SchemaSerializer(serializer=Model(\n ModelSerializer {\n class: Py(\n 0x00000036248f3670,\n ),\n serializer: Fields(\n GeneralFieldsSerializer {\n fields: {\n "a": SerField {\n key_py: Py(\n 0x0000003be3c26040,\n ),\n alias: None,\n alias_py: None,\n serializer: Some(\n Any(\n AnySerializer,\n ),\n ),\n required: true,\n },\n "b": SerField {\n key_py: Py(\n 0x0000003be3c1d3b0,\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 extra_serializer: None,\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 [ 3%] tests/serializers/test_any.py::test_any_python[{1, 2, 3}-{1, 2, 3}-IsList(1, 2, 3, check_order=False)] PASSED [ 3%] tests/serializers/test_any.py::test_any_python[{1, '2', b'3'}-{1, '2', b'3'}-IsList(1, '2', '3', check_order=False)] PASSED [ 3%] tests/serializers/test_any.py::test_set_member_db PASSED [ 3%] tests/serializers/test_any.py::test_any_json[None-null] PASSED [ 3%] tests/serializers/test_any.py::test_any_json[1-1] PASSED [ 3%] tests/serializers/test_any.py::test_any_json[value2-"1.123"] PASSED [ 3%] tests/serializers/test_any.py::test_any_json[foobar-"foobar"] PASSED [ 3%] tests/serializers/test_any.py::test_any_json[value4-"foobar"] PASSED [ 3%] tests/serializers/test_any.py::test_any_json[value5-[1,2,3]] PASSED [ 3%] tests/serializers/test_any.py::test_any_json[value6-{"1":2,"a":4}] PASSED [ 4%] tests/serializers/test_any.py::test_any_json[value7-{"1,a,2":3}] PASSED [ 4%] tests/serializers/test_any.py::test_any_json[value8-{"1":3}] PASSED [ 4%] tests/serializers/test_any.py::test_any_json[value9-"2022-12-03T12:30:45"] PASSED [ 4%] tests/serializers/test_any.py::test_any_json[value10-"2032-01-01T01:01:00"] PASSED [ 4%] tests/serializers/test_any.py::test_any_json[value11-"2022-12-03"] PASSED [ 4%] tests/serializers/test_any.py::test_any_json[value12-"12:30:45"] PASSED [ 4%] tests/serializers/test_any.py::test_any_json[value13-"PT2H"] PASSED [ 4%] tests/serializers/test_any.py::test_any_json[value14-{"a":1,"b":"foo"}] PASSED [ 4%] tests/serializers/test_any.py::test_any_json[value15-{"a":1,"b":"foo"}] PASSED [ 4%] tests/serializers/test_any.py::test_any_json[value16-[{"a":1,"b":"a"},{"a":2,"b":"b"}]] PASSED [ 4%] tests/serializers/test_any.py::test_any_json[value17-"/foo/bar/spam.svg"] PASSED [ 4%] tests/serializers/test_any.py::test_any_json[value18-"C:\\foo\\bar\\spam.svg"] SKIPPED [ 4%] tests/serializers/test_any.py::test_any_json[value19-[1,2]] PASSED [ 4%] tests/serializers/test_any.py::test_other_type PASSED [ 4%] tests/serializers/test_any.py::test_any_json_decode_error[\x81] PASSED [ 4%] tests/serializers/test_any.py::test_any_json_decode_error[value1] PASSED [ 4%] tests/serializers/test_any.py::test_any_with_date_serializer PASSED [ 4%] tests/serializers/test_any.py::test_any_with_timedelta_serializer PASSED [ 4%] tests/serializers/test_any.py::test_any_config_timedelta_float PASSED [ 4%] tests/serializers/test_any.py::test_any_config_timedelta_float_faction PASSED [ 4%] tests/serializers/test_any.py::test_recursion PASSED [ 4%] tests/serializers/test_any.py::test_include_list_tuple[as_list] PASSED [ 4%] tests/serializers/test_any.py::test_include_list_tuple[as_tuple] PASSED [ 4%] tests/serializers/test_any.py::test_include_generator PASSED [ 4%] tests/serializers/test_any.py::test_include_dict PASSED [ 4%] tests/serializers/test_any.py::test_exclude_dict PASSED [ 4%] tests/serializers/test_any.py::test_exclude_unset PASSED [ 4%] tests/serializers/test_any.py::test_unknown_type PASSED [ 4%] tests/serializers/test_any.py::test_unknown_type_fallback PASSED [ 4%] tests/serializers/test_any.py::test_fallback_cycle_same PASSED [ 4%] tests/serializers/test_any.py::test_fallback_cycle_change PASSED [ 4%] tests/serializers/test_any.py::test_enum PASSED [ 4%] tests/serializers/test_any.py::test_base64 PASSED [ 4%] tests/serializers/test_any.py::test_encoding[-kwargs0-"2032-01-01T01:01:00"] PASSED [ 4%] tests/serializers/test_any.py::test_encoding[-kwargs1-"2032-01-01T01:01:00Z"] PASSED [ 4%] tests/serializers/test_any.py::test_encoding[-kwargs2-"2032-01-01T01:01:00+02:00"] PASSED [ 4%] tests/serializers/test_any.py::test_encoding[-kwargs3-"2032-01-01T00:00:00"] PASSED [ 4%] tests/serializers/test_any.py::test_encoding[-kwargs4-"12:34:56"] PASSED [ 4%] tests/serializers/test_any.py::test_encoding[-kwargs5-"P12DT34.000056S"] PASSED [ 4%] tests/serializers/test_any.py::test_encoding[-kwargs6-1036834.000056] PASSED [ 4%] tests/serializers/test_any.py::test_encoding[-kwargs7-"-PT1S"] PASSED [ 4%] tests/serializers/test_any.py::test_encoding[-kwargs8--1.0] PASSED [ 4%] tests/serializers/test_any.py::test_encoding[-kwargs9-[1,2,3]] PASSED [ 4%] tests/serializers/test_any.py::test_encoding[-kwargs10-[1,2,3]] PASSED [ 5%] tests/serializers/test_any.py::test_encoding[-kwargs11-[0,1,2,3]] PASSED [ 5%] tests/serializers/test_any.py::test_encoding[-kwargs12-[0,1,2,3]] PASSED [ 5%] tests/serializers/test_any.py::test_encoding[-kwargs13-[0,1,2,3]] PASSED [ 5%] tests/serializers/test_any.py::test_encoding[-kwargs14-[0,1,2,3]] PASSED [ 5%] tests/serializers/test_any.py::test_encoding[-kwargs15-"this is bytes"] PASSED [ 5%] tests/serializers/test_any.py::test_encoding[-kwargs16-"dGhpcyBpcyBieXRlcw=="] PASSED [ 5%] tests/serializers/test_any.py::test_encoding[-kwargs17-"this is bytes"] PASSED [ 5%] tests/serializers/test_any.py::test_encoding[-kwargs18-"dGhpcyBpcyBieXRlcw=="] PASSED [ 5%] tests/serializers/test_any.py::test_encoding[-kwargs19-"12.34"] PASSED [ 5%] tests/serializers/test_any.py::test_encoding[-kwargs20-1] PASSED [ 5%] tests/serializers/test_any.py::test_encoding[-kwargs21-"b"] PASSED [ 5%] tests/serializers/test_any.py::test_encoding[-kwargs22-[{"a":1,"b":"a"},{"a":2,"b":"b"}]] PASSED [ 5%] tests/serializers/test_any.py::test_encoding[-kwargs23-"^regex$"] PASSED [ 5%] tests/serializers/test_any.py::test_any_dataclass PASSED [ 5%] tests/serializers/test_any.py::test_any_model PASSED [ 5%] tests/serializers/test_any.py::test_dataclass_classvar PASSED [ 5%] tests/serializers/test_any.py::test_dataclass_slots PASSED [ 5%] tests/serializers/test_any.py::test_dataclass_slots_init_vars PASSED [ 5%] tests/serializers/test_any.py::test_slots_mixed PASSED [ 5%] tests/serializers/test_any.py::test_numpy_float SKIPPED (numpy is not installed) [ 5%] tests/serializers/test_any.py::test_ser_json_inf_nan_with_any PASSED [ 5%] tests/serializers/test_any.py::test_ser_json_inf_nan_with_list_of_any PASSED [ 5%] tests/serializers/test_bytes.py::test_bytes PASSED [ 5%] tests/serializers/test_bytes.py::test_bytes_invalid_all PASSED [ 5%] tests/serializers/test_bytes.py::test_bytes_invalid_cpython PASSED [ 5%] tests/serializers/test_bytes.py::test_bytes_dict_key PASSED [ 5%] tests/serializers/test_bytes.py::test_bytes_fallback PASSED [ 5%] tests/serializers/test_bytes.py::test_subclass_bytes[foo-foo0-bytes] PASSED [ 5%] tests/serializers/test_bytes.py::test_subclass_bytes[foo-foo0-any] PASSED [ 5%] tests/serializers/test_bytes.py::test_subclass_bytes[foo-foo1-bytes] PASSED [ 5%] tests/serializers/test_bytes.py::test_subclass_bytes[foo-foo1-any] PASSED [ 5%] tests/serializers/test_bytes.py::test_subclass_bytes[foo-value-foo-value-bytes] PASSED [ 5%] tests/serializers/test_bytes.py::test_subclass_bytes[foo-value-foo-value-any] PASSED [ 5%] tests/serializers/test_bytes.py::test_bytes_base64 PASSED [ 5%] tests/serializers/test_bytes.py::test_bytes_hex PASSED [ 5%] tests/serializers/test_bytes.py::test_bytes_base64_dict_key PASSED [ 5%] tests/serializers/test_bytes.py::test_any_bytes_base64 PASSED [ 5%] tests/serializers/test_bytes.py::test_bytes_mode_set_via_model_config_not_serializer_config PASSED [ 5%] tests/serializers/test_dataclasses.py::test_dataclass PASSED [ 5%] tests/serializers/test_dataclasses.py::test_serialization_exclude PASSED [ 5%] tests/serializers/test_dataclasses.py::test_serialization_alias PASSED [ 5%] tests/serializers/test_dataclasses.py::test_properties PASSED [ 5%] tests/serializers/test_dataclasses.py::test_slots_mixed PASSED [ 5%] tests/serializers/test_dataclasses.py::test_extra_custom_serializer XFAIL [ 6%] tests/serializers/test_datetime.py::test_datetime PASSED [ 6%] tests/serializers/test_datetime.py::test_datetime_key PASSED [ 6%] tests/serializers/test_datetime.py::test_datetime_json[value0-2022-12-02T12:13:14] PASSED [ 6%] tests/serializers/test_datetime.py::test_datetime_json[value1-2022-12-02T12:00:00Z] PASSED [ 6%] tests/serializers/test_datetime.py::test_datetime_json[value2-2022-12-02T12:00:00+02:00] PASSED [ 6%] tests/serializers/test_datetime.py::test_datetime_json[value3-2022-12-02T12:00:00+02:30] PASSED [ 6%] tests/serializers/test_datetime.py::test_datetime_json[value4-2022-12-02T12:00:00-02:00] PASSED [ 6%] tests/serializers/test_datetime.py::test_datetime_json[value5-2022-12-02T12:00:00-02:30] PASSED [ 6%] tests/serializers/test_datetime.py::test_datetime_json[value6-2022-12-02T12:13:14.123456] PASSED [ 6%] tests/serializers/test_datetime.py::test_datetime_json[value7-2022-12-02T12:13:14.000123] PASSED [ 6%] tests/serializers/test_datetime.py::test_datetime_json[value8-2022-12-02T12:13:14.123000] PASSED [ 6%] tests/serializers/test_datetime.py::test_datetime_json[value9-2022-12-02T12:13:14.123456-02:00] PASSED [ 6%] tests/serializers/test_datetime.py::test_date PASSED [ 6%] tests/serializers/test_datetime.py::test_date_key PASSED [ 6%] tests/serializers/test_datetime.py::test_time PASSED [ 6%] tests/serializers/test_datetime.py::test_time_key PASSED [ 6%] tests/serializers/test_datetime.py::test_any_datetime_key PASSED [ 6%] tests/serializers/test_datetime.py::test_date_datetime_union PASSED [ 6%] tests/serializers/test_decimal.py::test_decimal PASSED [ 6%] tests/serializers/test_decimal.py::test_decimal_key PASSED [ 6%] tests/serializers/test_decimal.py::test_decimal_json[value0-123.456] PASSED [ 6%] tests/serializers/test_decimal.py::test_decimal_json[value1-Infinity] PASSED [ 6%] tests/serializers/test_decimal.py::test_decimal_json[value2--Infinity] PASSED [ 6%] tests/serializers/test_decimal.py::test_decimal_json[value3-NaN] PASSED [ 6%] tests/serializers/test_decimal.py::test_any_decimal_key PASSED [ 6%] tests/serializers/test_definitions.py::test_custom_ser PASSED [ 6%] tests/serializers/test_definitions.py::test_ignored_def PASSED [ 6%] tests/serializers/test_definitions.py::test_def_error PASSED [ 6%] tests/serializers/test_definitions.py::test_repeated_ref PASSED [ 6%] tests/serializers/test_definitions.py::test_repeat_after PASSED [ 6%] tests/serializers/test_definitions.py::test_deep PASSED [ 6%] tests/serializers/test_definitions.py::test_use_after PASSED [ 6%] tests/serializers/test_definitions.py::test_defs_with_dict PASSED [ 6%] tests/serializers/test_definitions_recursive.py::test_branch_nullable PASSED [ 6%] tests/serializers/test_definitions_recursive.py::test_cyclic_recursion PASSED [ 6%] tests/serializers/test_definitions_recursive.py::test_custom_ser PASSED [ 6%] tests/serializers/test_definitions_recursive.py::test_recursive_function PASSED [ 6%] tests/serializers/test_definitions_recursive.py::test_recursive_function_deeper_ref PASSED [ 6%] tests/serializers/test_dict.py::test_dict_str_int PASSED [ 6%] tests/serializers/test_dict.py::test_dict_any_any PASSED [ 6%] tests/serializers/test_dict.py::test_include PASSED [ 6%] tests/serializers/test_dict.py::test_exclude PASSED [ 6%] tests/serializers/test_dict.py::test_filter PASSED [ 6%] tests/serializers/test_dict.py::test_filter_args[params0] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args[params1] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args[params2] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args[params3] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args[params4] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args[params5] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args[params6] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args[params7] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args[params8] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args[params9] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args[params10] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args[params11] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args_nested[params0] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args_nested[params1] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args_nested[params2] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args_nested[params3] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args_nested[params4] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args_nested[params5] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args_nested[params6] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_args_nested[params7] PASSED [ 7%] tests/serializers/test_dict.py::test_filter_int PASSED [ 7%] tests/serializers/test_dict.py::test_filter_runtime PASSED [ 7%] tests/serializers/test_dict.py::test_filter_runtime_int PASSED [ 7%] tests/serializers/test_dict.py::test_include_error[foobar-Input should be a valid set] PASSED [ 7%] tests/serializers/test_dict.py::test_include_error[include_value1-Input should be a valid set] PASSED [ 7%] tests/serializers/test_dict.py::test_include_error[include_value2-Input should be a valid integer, got a number with a fractional part] PASSED [ 7%] tests/serializers/test_enum.py::test_plain_enum PASSED [ 7%] tests/serializers/test_enum.py::test_int_enum PASSED [ 7%] tests/serializers/test_enum.py::test_str_enum PASSED [ 7%] tests/serializers/test_enum.py::test_plain_dict_key PASSED [ 7%] tests/serializers/test_enum.py::test_int_dict_key PASSED [ 7%] tests/serializers/test_format.py::test_format[42.12345-0.4f-42.12345-"42.1234"] PASSED [ 7%] tests/serializers/test_format.py::test_format[42.12-0.4f-42.12-"42.1200"] PASSED [ 7%] tests/serializers/test_format.py::test_format[42.12--42.12-"42.12"] PASSED [ 7%] tests/serializers/test_format.py::test_format[42.1234567--42.1234567-"42.1234567"] PASSED [ 7%] tests/serializers/test_format.py::test_format[value4-%Y-%m-%d-expected_python4-"2022-11-20"] PASSED [ 7%] tests/serializers/test_format.py::test_format[foo-^5s-foo-" foo "] PASSED [ 7%] tests/serializers/test_format.py::test_format[value6--expected_python6-"ebcdab58-6eb8-46fb-a190-d07a33e9eac8"] PASSED [ 7%] tests/serializers/test_format.py::test_format_when_used_unless_none PASSED [ 7%] tests/serializers/test_format.py::test_format_when_used_json PASSED [ 7%] tests/serializers/test_format.py::test_to_string_when_used_always PASSED [ 7%] tests/serializers/test_format.py::test_to_string_when_used_unless_none PASSED [ 7%] tests/serializers/test_format.py::test_format_error PASSED [ 7%] tests/serializers/test_format.py::test_dict_keys PASSED [ 7%] tests/serializers/test_format.py::test_format_fallback PASSED [ 8%] tests/serializers/test_format.py::test_to_string PASSED [ 8%] tests/serializers/test_functions.py::test_function_general[None-None-"None"] PASSED [ 8%] tests/serializers/test_functions.py::test_function_general[1-1-"1"] PASSED [ 8%] tests/serializers/test_functions.py::test_function_general[value2-[1, 2, 3]-"[1, 2, 3]"] PASSED [ 8%] tests/serializers/test_functions.py::test_function_no_info[None-None-"None"] PASSED [ 8%] tests/serializers/test_functions.py::test_function_no_info[1-1-"1"] PASSED [ 8%] tests/serializers/test_functions.py::test_function_no_info[value2-[1, 2, 3]-"[1, 2, 3]"] PASSED [ 8%] tests/serializers/test_functions.py::test_function_args PASSED [ 8%] tests/serializers/test_functions.py::test_function_error PASSED [ 8%] tests/serializers/test_functions.py::test_function_error_keys PASSED [ 8%] tests/serializers/test_functions.py::test_function_known_type PASSED [ 8%] tests/serializers/test_functions.py::test_function_args_str PASSED [ 8%] tests/serializers/test_functions.py::test_dict_keys PASSED [ 8%] tests/serializers/test_functions.py::test_function_as_key PASSED [ 8%] tests/serializers/test_functions.py::test_function_only_json PASSED [ 8%] tests/serializers/test_functions.py::test_function_unless_none PASSED [ 8%] tests/serializers/test_functions.py::test_wrong_return_type PASSED [ 8%] tests/serializers/test_functions.py::test_function_wrap PASSED [ 8%] tests/serializers/test_functions.py::test_function_wrap_return_scheam PASSED [ 8%] tests/serializers/test_functions.py::test_function_wrap_no_info PASSED [ 8%] tests/serializers/test_functions.py::test_function_wrap_custom_schema PASSED [ 8%] tests/serializers/test_functions.py::test_function_wrap_fallback PASSED [ 8%] tests/serializers/test_functions.py::test_deque PASSED [ 8%] tests/serializers/test_functions.py::test_custom_mapping PASSED [ 8%] tests/serializers/test_functions.py::test_function_wrap_model PASSED [ 8%] tests/serializers/test_functions.py::test_function_plain_model PASSED [ 8%] tests/serializers/test_functions.py::test_wrap_return_type PASSED [ 8%] tests/serializers/test_functions.py::test_raise_unexpected PASSED [ 8%] tests/serializers/test_functions.py::test_pydantic_serialization_unexpected_value PASSED [ 8%] tests/serializers/test_functions.py::test_function_after_preserves_wrapped_serialization PASSED [ 8%] tests/serializers/test_functions.py::test_function_wrap_preserves_wrapped_serialization PASSED [ 8%] tests/serializers/test_functions.py::test_recursive_call PASSED [ 8%] tests/serializers/test_functions.py::test_serialize_pattern PASSED [ 8%] tests/serializers/test_generator.py::test_generator_any_iter PASSED [ 8%] tests/serializers/test_generator.py::test_any_iter PASSED [ 8%] tests/serializers/test_generator.py::test_generator_any PASSED [ 8%] tests/serializers/test_generator.py::test_generator_int PASSED [ 8%] tests/serializers/test_generator.py::test_include PASSED [ 8%] tests/serializers/test_generator.py::test_custom_serializer PASSED [ 8%] tests/serializers/test_json.py::test_json_int PASSED [ 8%] tests/serializers/test_json.py::test_list_json PASSED [ 8%] tests/serializers/test_json.py::test_dict_key_json PASSED [ 8%] tests/serializers/test_json.py::test_custom_serializer PASSED [ 8%] tests/serializers/test_json_or_python.py::test_json_or_python PASSED [ 9%] tests/serializers/test_json_or_python.py::test_json_or_python_enum_dict_key PASSED [ 9%] tests/serializers/test_list_tuple.py::test_list_any PASSED [ 9%] tests/serializers/test_list_tuple.py::test_list_fallback PASSED [ 9%] tests/serializers/test_list_tuple.py::test_list_str_fallback PASSED [ 9%] tests/serializers/test_list_tuple.py::test_tuple_any PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include[list_schema-as_list] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include[tuple_variable_schema-as_tuple] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_negative[list_schema-as_list] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_negative[tuple_variable_schema-as_tuple] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include_dict[list_schema-as_list] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include_dict[tuple_variable_schema-as_tuple] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_exclude[list_schema-as_list] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_exclude[tuple_variable_schema-as_tuple] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_filter[include0-exclude0] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_filter[include1-exclude1] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_filter_runtime PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include_error[list_schema-foobar-Input should be a valid set] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include_error[list_schema-include_value1-Input should be a valid set] PASSED [ 9%] 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 [ 9%] 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 [ 9%] tests/serializers/test_list_tuple.py::test_include_error[tuple_variable_schema-foobar-Input should be a valid set] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include_error[tuple_variable_schema-include_value1-Input should be a valid set] PASSED [ 9%] 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 [ 9%] 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 [ 9%] tests/serializers/test_list_tuple.py::test_filter_runtime_more[include0-None-expected0] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_filter_runtime_more[include1-exclude1-expected1] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_filter_runtime_more[include2-exclude2-expected2] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_filter_runtime_more[include3-exclude3-expected3] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_filter_runtime_more[include4-exclude4-expected4] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_filter_runtime_more[include5-exclude5-expected5] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_filter_runtime_more[include6-exclude6-expected6] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include_error_call_time[include0-None-list_schema-as_list] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include_error_call_time[include0-None-tuple_variable_schema-as_tuple] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include_error_call_time[include1-None-list_schema-as_list] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include_error_call_time[include1-None-tuple_variable_schema-as_tuple] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include_error_call_time[1-None-list_schema-as_list] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include_error_call_time[1-None-tuple_variable_schema-as_tuple] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include_error_call_time[None-exclude3-list_schema-as_list] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include_error_call_time[None-exclude3-tuple_variable_schema-as_tuple] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include_error_call_time[None-exclude4-list_schema-as_list] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include_error_call_time[None-exclude4-tuple_variable_schema-as_tuple] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include_error_call_time[None-1-list_schema-as_list] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_include_error_call_time[None-1-tuple_variable_schema-as_tuple] PASSED [ 9%] tests/serializers/test_list_tuple.py::test_tuple_fallback PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args[params0] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args[params1] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args[params2] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args[params3] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args[params4] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args[params5] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args[params6] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args[params7] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args[params8] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args[params9] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args[params10] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args[params11] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args[params12] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args[params13] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args[params14] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args[params15] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args[params16] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args_nested[params0] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args_nested[params1] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args_nested[params2] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args_nested[params3] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_args_nested[params4] PASSED [ 10%] tests/serializers/test_list_tuple.py::test_filter_list_of_dicts PASSED [ 10%] tests/serializers/test_list_tuple.py::test_positional_tuple PASSED [ 10%] tests/serializers/test_list_tuple.py::test_function_positional_tuple PASSED [ 10%] tests/serializers/test_list_tuple.py::test_list_dict_key PASSED [ 10%] tests/serializers/test_list_tuple.py::test_tuple_var_dict_key PASSED [ 10%] tests/serializers/test_list_tuple.py::test_tuple_pos_dict_key PASSED [ 10%] tests/serializers/test_list_tuple.py::test_tuple_wrong_size_union PASSED [ 10%] tests/serializers/test_literal.py::test_int_literal PASSED [ 10%] tests/serializers/test_literal.py::test_str_literal PASSED [ 10%] tests/serializers/test_literal.py::test_other_literal PASSED [ 10%] tests/serializers/test_literal.py::test_empty_literal PASSED [ 10%] tests/serializers/test_literal.py::test_bool_literal PASSED [ 10%] tests/serializers/test_misc.py::test_invalid_ser_schema[ser_schema0-Unable to extract tag using discriminator 'type'] PASSED [ 10%] 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 [ 10%] tests/serializers/test_model.py::test_model PASSED [ 10%] tests/serializers/test_model.py::test_dataclass PASSED [ 10%] tests/serializers/test_model.py::test_model_allow_extra PASSED [ 10%] tests/serializers/test_model.py::test_model_recursive_in_extra PASSED [ 10%] tests/serializers/test_model.py::test_include_exclude_args[params0] PASSED [ 10%] tests/serializers/test_model.py::test_include_exclude_args[params1] PASSED [ 10%] tests/serializers/test_model.py::test_include_exclude_args[params2] PASSED [ 10%] tests/serializers/test_model.py::test_include_exclude_args[params3] PASSED [ 11%] tests/serializers/test_model.py::test_include_exclude_args[params4] PASSED [ 11%] tests/serializers/test_model.py::test_include_exclude_args[params5] PASSED [ 11%] tests/serializers/test_model.py::test_include_exclude_args[params6] PASSED [ 11%] tests/serializers/test_model.py::test_include_exclude_args[params7] PASSED [ 11%] tests/serializers/test_model.py::test_include_exclude_args[params8] PASSED [ 11%] tests/serializers/test_model.py::test_include_exclude_args[params9] PASSED [ 11%] tests/serializers/test_model.py::test_include_exclude_args[params10] PASSED [ 11%] tests/serializers/test_model.py::test_include_exclude_args[params11] PASSED [ 11%] tests/serializers/test_model.py::test_alias PASSED [ 11%] tests/serializers/test_model.py::test_model_wrong_warn PASSED [ 11%] tests/serializers/test_model.py::test_exclude_none PASSED [ 11%] tests/serializers/test_model.py::test_exclude_unset PASSED [ 11%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Normal nested __all__] PASSED [ 11%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Merge sub dicts 1] PASSED [ 11%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Merge sub sets 2] PASSED [ 11%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Merge sub sets 3] PASSED [ 11%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Merge sub sets 1] PASSED [ 11%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Merge sub dict-set] PASSED [ 11%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Different keys 1] PASSED [ 11%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Different keys 2] PASSED [ 11%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Different keys 3] PASSED [ 11%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Nested different keys 1] PASSED [ 11%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Nested different keys 2] PASSED [ 11%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Nested different keys 3] PASSED [ 11%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Ignore __all__ for index with defined exclude 1] PASSED [ 11%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Ignore __all__ for index with defined exclude 2] PASSED [ 11%] tests/serializers/test_model.py::test_advanced_exclude_nested_lists[Ignore __all__ for index with defined exclude 3] PASSED [ 11%] tests/serializers/test_model.py::test_function_plain_field_serializer_to_python PASSED [ 11%] tests/serializers/test_model.py::test_field_serializer_cached_property PASSED [ 11%] tests/serializers/test_model.py::test_function_wrap_field_serializer_to_python PASSED [ 11%] tests/serializers/test_model.py::test_function_plain_field_serializer_to_json PASSED [ 11%] tests/serializers/test_model.py::test_function_wrap_field_serializer_to_json PASSED [ 11%] tests/serializers/test_model.py::test_property PASSED [ 11%] tests/serializers/test_model.py::test_property_alias PASSED [ 11%] tests/serializers/test_model.py::test_computed_field_exclude_none PASSED [ 11%] tests/serializers/test_model.py::test_computed_field_exclude_none_different_order PASSED [ 11%] tests/serializers/test_model.py::test_cached_property_alias PASSED [ 11%] tests/serializers/test_model.py::test_property_attribute_error PASSED [ 11%] tests/serializers/test_model.py::test_property_other_error PASSED [ 11%] tests/serializers/test_model.py::test_property_include_exclude PASSED [ 11%] tests/serializers/test_model.py::test_property_setter PASSED [ 11%] tests/serializers/test_model.py::test_extra PASSED [ 11%] tests/serializers/test_model.py::test_extra_config PASSED [ 11%] tests/serializers/test_model.py::test_extra_config_nested_model PASSED [ 12%] tests/serializers/test_model.py::test_extra_custom_serializer PASSED [ 12%] tests/serializers/test_model_root.py::test_model_root PASSED [ 12%] tests/serializers/test_model_root.py::test_function_plain_field_serializer_to_python PASSED [ 12%] tests/serializers/test_model_root.py::test_function_wrap_field_serializer_to_python PASSED [ 12%] tests/serializers/test_model_root.py::test_function_plain_field_serializer_to_json PASSED [ 12%] tests/serializers/test_model_root.py::test_function_wrap_field_serializer_to_json PASSED [ 12%] tests/serializers/test_model_root.py::test_root_model_dump_with_base_model[BR] PASSED [ 12%] tests/serializers/test_model_root.py::test_root_model_dump_with_base_model[RB] PASSED [ 12%] tests/serializers/test_model_root.py::test_construct_nested PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback[int] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback[bool] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback[float] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback[none] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback[str] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback[bytes] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback[datetime] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback[date] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback[time] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback[timedelta] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback[url] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback[multi-host-url] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback[list] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback[dict] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback[set] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback[frozenset] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback_key[int] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback_key[bool] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback_key[float] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback_key[none] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback_key[str] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback_key[bytes] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback_key[datetime] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback_key[date] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback_key[time] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback_key[timedelta] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback_key[url] PASSED [ 12%] tests/serializers/test_none.py::test_none_fallback_key[multi-host-url] PASSED [ 12%] tests/serializers/test_nullable.py::test_nullable PASSED [ 12%] tests/serializers/test_other.py::test_chain PASSED [ 12%] tests/serializers/test_other.py::test_function_plain PASSED [ 12%] tests/serializers/test_other.py::test_function_before PASSED [ 12%] tests/serializers/test_other.py::test_function_after PASSED [ 12%] tests/serializers/test_other.py::test_lax_or_strict PASSED [ 12%] tests/serializers/test_other.py::test_lax_or_strict_custom_ser PASSED [ 13%] tests/serializers/test_other.py::test_serialize_with_extra_on_superclass PASSED [ 13%] tests/serializers/test_pickling.py::test_basic_schema_serializer PASSED [ 13%] tests/serializers/test_pickling.py::test_schema_serializer_capturing_function[None-None-"None"] PASSED [ 13%] tests/serializers/test_pickling.py::test_schema_serializer_capturing_function[1-1-"1"] PASSED [ 13%] tests/serializers/test_pickling.py::test_schema_serializer_capturing_function[value2-[1, 2, 3]-"[1, 2, 3]"] PASSED [ 13%] tests/serializers/test_pickling.py::test_schema_serializer_containing_config PASSED [ 13%] tests/serializers/test_serialize_as_any.py::test_serialize_as_any_with_models PASSED [ 13%] tests/serializers/test_serialize_as_any.py::test_serialize_as_any_with_dataclass PASSED [ 13%] tests/serializers/test_serialize_as_any.py::test_serialize_as_any_with_typeddict PASSED [ 13%] tests/serializers/test_serialize_as_any.py::test_serialize_as_any_with_unrelated_models PASSED [ 13%] tests/serializers/test_set_frozenset.py::test_set_any PASSED [ 13%] tests/serializers/test_set_frozenset.py::test_frozenset_any PASSED [ 13%] tests/serializers/test_set_frozenset.py::test_set_fallback[apple-apple-`set\\[int\\]` but got `str`] PASSED [ 13%] tests/serializers/test_set_frozenset.py::test_set_fallback[input_value1-json_output1-`set\\[int\\]` but got `list`] PASSED [ 13%] tests/serializers/test_set_frozenset.py::test_set_fallback[input_value2-json_output2-`set\\[int\\]` but got `tuple`] PASSED [ 13%] tests/serializers/test_set_frozenset.py::test_set_fallback[input_value3-json_output3-`set\\[int\\]` but got `frozenset`] PASSED [ 13%] tests/serializers/test_set_frozenset.py::test_set_fallback[input_value4-json_output4-`int` but got `str`] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[int-1-1-1_0-None] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[int-1-1-1_0-any] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[int-10000000000000000000000000000000000000000-10000000000000000000000000000000000000000-10000000000000000000000000000000000000000-None] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[int-10000000000000000000000000000000000000000-10000000000000000000000000000000000000000-10000000000000000000000000000000000000000-any] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[bool-True-True-true-None] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[bool-True-True-true-any] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[bool-False-False-false-None] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[bool-False-False-false-any] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[float-1.0-1.0-1.0-None] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[float-1.0-1.0-1.0-any] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[float-42.31415-42.31415-42.31415-None] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[float-42.31415-42.31415-42.31415-any] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[none-None-None-null-None] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[none-None-None-null-any] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[int-42-42-42-None] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[int-42-42-42-any] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[int-1-1-1_1-None] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[int-1-1-1_1-any] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[float-42.0-42.0-42.0-None] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers[float-42.0-42.0-42.0-any] PASSED [ 13%] tests/serializers/test_simple.py::test_int_to_float PASSED [ 13%] tests/serializers/test_simple.py::test_int_to_float_key PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers_fallback[int] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers_fallback[bool] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers_fallback[float] PASSED [ 13%] tests/serializers/test_simple.py::test_simple_serializers_fallback[none] PASSED [ 13%] tests/serializers/test_simple.py::test_numpy SKIPPED (numpy is not installed) [ 14%] tests/serializers/test_simple.py::test_float_inf_and_nan_serializers[inf-null-config0] PASSED [ 14%] tests/serializers/test_simple.py::test_float_inf_and_nan_serializers[-inf-null-config1] PASSED [ 14%] tests/serializers/test_simple.py::test_float_inf_and_nan_serializers[nan-null-config2] PASSED [ 14%] tests/serializers/test_simple.py::test_float_inf_and_nan_serializers[inf-null-config3] PASSED [ 14%] tests/serializers/test_simple.py::test_float_inf_and_nan_serializers[-inf-null-config4] PASSED [ 14%] tests/serializers/test_simple.py::test_float_inf_and_nan_serializers[nan-null-config5] PASSED [ 14%] tests/serializers/test_simple.py::test_float_inf_and_nan_serializers[inf-Infinity-config6] PASSED [ 14%] tests/serializers/test_simple.py::test_float_inf_and_nan_serializers[-inf--Infinity-config7] PASSED [ 14%] tests/serializers/test_simple.py::test_float_inf_and_nan_serializers[nan-NaN-config8] PASSED [ 14%] tests/serializers/test_string.py::test_str PASSED [ 14%] tests/serializers/test_string.py::test_str_fallback PASSED [ 14%] tests/serializers/test_string.py::test_str_no_warnings PASSED [ 14%] tests/serializers/test_string.py::test_str_errors PASSED [ 14%] tests/serializers/test_string.py::test_subclass_str[foo-foo0-str] PASSED [ 14%] tests/serializers/test_string.py::test_subclass_str[foo-foo0-any] PASSED [ 14%] tests/serializers/test_string.py::test_subclass_str[foo-foo1-str] PASSED [ 14%] tests/serializers/test_string.py::test_subclass_str[foo-foo1-any] PASSED [ 14%] tests/serializers/test_string.py::test_subclass_str[foo-value-foo-value-str] PASSED [ 14%] tests/serializers/test_string.py::test_subclass_str[foo-value-foo-value-any] PASSED [ 14%] tests/serializers/test_timedelta.py::test_timedelta PASSED [ 14%] tests/serializers/test_timedelta.py::test_timedelta_float PASSED [ 14%] tests/serializers/test_timedelta.py::test_timedelta_key PASSED [ 14%] tests/serializers/test_timedelta.py::test_pandas SKIPPED (pandas not installed) [ 14%] tests/serializers/test_typed_dict.py::test_typed_dict[extra_behavior_kw0] PASSED [ 14%] tests/serializers/test_typed_dict.py::test_typed_dict[extra_behavior_kw1] PASSED [ 14%] tests/serializers/test_typed_dict.py::test_typed_dict[extra_behavior_kw2] PASSED [ 14%] tests/serializers/test_typed_dict.py::test_typed_dict_fields_has_type PASSED [ 14%] tests/serializers/test_typed_dict.py::test_typed_dict_allow_extra PASSED [ 14%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params0] PASSED [ 14%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params1] PASSED [ 14%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params2] PASSED [ 14%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params3] PASSED [ 14%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params4] PASSED [ 14%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params5] PASSED [ 14%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params6] PASSED [ 14%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params7] PASSED [ 14%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params8] PASSED [ 14%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params9] PASSED [ 14%] tests/serializers/test_typed_dict.py::test_include_exclude_args[params10] PASSED [ 14%] tests/serializers/test_typed_dict.py::test_include_exclude_schema PASSED [ 14%] tests/serializers/test_typed_dict.py::test_alias PASSED [ 14%] tests/serializers/test_typed_dict.py::test_exclude_none PASSED [ 14%] tests/serializers/test_typed_dict.py::test_exclude_default PASSED [ 14%] tests/serializers/test_typed_dict.py::test_function_plain_field_serializer_to_python PASSED [ 15%] tests/serializers/test_typed_dict.py::test_function_wrap_field_serializer_to_python PASSED [ 15%] tests/serializers/test_typed_dict.py::test_function_plain_field_serializer_to_json PASSED [ 15%] tests/serializers/test_typed_dict.py::test_function_plain_field_serializer_to_json_no_info PASSED [ 15%] tests/serializers/test_typed_dict.py::test_function_wrap_field_serializer_to_json PASSED [ 15%] tests/serializers/test_typed_dict.py::test_function_wrap_field_serializer_to_json_no_info PASSED [ 15%] tests/serializers/test_typed_dict.py::test_extra_custom_serializer PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[True-True-False-False] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[True-True-False-True] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[True-True-True-False] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[True-True-True-True] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[False-False-False-False] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[False-False-False-True] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[False-False-True-False] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[False-False-True-True] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[1-1-False-False] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[1-1-False-True] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[1-1-True-False] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[1-1-True-True] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[123-123-False-False] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[123-123-False-True] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[123-123-True-False] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[123-123-True-True] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[-42--42-False-False] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[-42--42-False-True] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[-42--42-True-False] PASSED [ 15%] tests/serializers/test_union.py::test_union_bool_int[-42--42-True-True] PASSED [ 15%] tests/serializers/test_union.py::test_union_error PASSED [ 15%] tests/serializers/test_union.py::test_model_a[input_value0] PASSED [ 15%] tests/serializers/test_union.py::test_model_a[input_value1] PASSED [ 15%] tests/serializers/test_union.py::test_model_b[input_value0] PASSED [ 15%] tests/serializers/test_union.py::test_model_b[input_value1] PASSED [ 15%] tests/serializers/test_union.py::test_keys PASSED [ 15%] tests/serializers/test_union.py::test_union_of_functions PASSED [ 15%] tests/serializers/test_union.py::test_typed_dict_literal PASSED [ 15%] tests/serializers/test_union.py::test_typed_dict_missing PASSED [ 15%] tests/serializers/test_union.py::test_typed_dict_extra PASSED [ 15%] tests/serializers/test_union.py::test_typed_dict_different_fields PASSED [ 15%] tests/serializers/test_union.py::test_dataclass_union PASSED [ 15%] tests/serializers/test_union.py::test_model_union PASSED [ 15%] tests/serializers/test_union.py::test_union_literal_with_other_type[False-false] PASSED [ 15%] tests/serializers/test_union.py::test_union_literal_with_other_type[abc-"abc"] PASSED [ 15%] tests/serializers/test_union.py::test_union_serializes_model_subclass_from_definition PASSED [ 15%] tests/serializers/test_union.py::test_union_serializes_list_of_model_subclass_from_definition PASSED [ 15%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left0-core_schema_right0-True-True-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left0-core_schema_right0-True-True-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left1-core_schema_right1-1-1-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left1-core_schema_right1-1-1-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left2-core_schema_right2-1-1-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left2-core_schema_right2-1-1-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left3-core_schema_right3-1-1-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left3-core_schema_right3-1-1-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left4-core_schema_right4-1-1-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left4-core_schema_right4-1-1-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left5-core_schema_right5-input_value5-expected_value5-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left5-core_schema_right5-input_value5-expected_value5-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left6-core_schema_right6-1-1-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left6-core_schema_right6-1-1-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left7-core_schema_right7-input_value7-expected_value7-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left7-core_schema_right7-input_value7-expected_value7-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left8-core_schema_right8-input_value8-expected_value8-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left8-core_schema_right8-input_value8-expected_value8-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left9-core_schema_right9-_1-_1-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left9-core_schema_right9-_1-_1-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left10-core_schema_right10-input_value10-expected_value10-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left10-core_schema_right10-input_value10-expected_value10-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left11-core_schema_right11-6550bbf0-316d-4725-9045-3aaa8d9cc36c-6550bbf0-316d-4725-9045-3aaa8d9cc36c-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass[core_schema_left11-core_schema_right11-6550bbf0-316d-4725-9045-3aaa8d9cc36c-6550bbf0-316d-4725-9045-3aaa8d9cc36c-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left0-core_schema_right0-True-True-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left0-core_schema_right0-True-True-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left1-core_schema_right1-1-1-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left1-core_schema_right1-1-1-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left2-core_schema_right2-1-1-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left2-core_schema_right2-1-1-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left3-core_schema_right3-1-1-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left3-core_schema_right3-1-1-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left4-core_schema_right4-1-1-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left4-core_schema_right4-1-1-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left5-core_schema_right5-input_value5-1-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left5-core_schema_right5-input_value5-1-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left6-core_schema_right6-1-1-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left6-core_schema_right6-1-1-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left7-core_schema_right7-input_value7-1-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left7-core_schema_right7-input_value7-1-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left8-core_schema_right8-input_value8-1-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left8-core_schema_right8-input_value8-1-True] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left9-core_schema_right9-_1-_1-False] PASSED [ 16%] tests/serializers/test_union.py::test_union_serializer_picks_exact_type_over_subclass_json[core_schema_left9-core_schema_right9-_1-_1-True] PASSED [ 16%] tests/serializers/test_url.py::test_url PASSED [ 17%] tests/serializers/test_url.py::test_multi_host_url PASSED [ 17%] tests/serializers/test_url.py::test_url_dict_keys PASSED [ 17%] tests/serializers/test_url.py::test_multi_host_url_dict_keys PASSED [ 17%] tests/serializers/test_url.py::test_any PASSED [ 17%] tests/serializers/test_url.py::test_custom_serializer PASSED [ 17%] tests/serializers/test_url.py::test_url_subclass[Url] PASSED [ 17%] tests/serializers/test_url.py::test_url_subclass[MultiHostUrl] PASSED [ 17%] tests/serializers/test_url.py::test_url_pickle[value0] PASSED [ 17%] tests/serializers/test_url.py::test_url_pickle[value1] PASSED [ 17%] tests/serializers/test_uuid.py::test_uuid PASSED [ 17%] tests/serializers/test_uuid.py::test_uuid_key PASSED [ 17%] tests/serializers/test_uuid.py::test_uuid_json[value0-12345678-1234-5678-1234-567812345678] PASSED [ 17%] tests/serializers/test_uuid.py::test_uuid_json[value1-550e8400-e29b-41d4-a716-446655440000] PASSED [ 17%] tests/serializers/test_uuid.py::test_uuid_json[value2-123e4567-e89b-12d3-a456-426655440000] PASSED [ 17%] tests/serializers/test_uuid.py::test_uuid_json[value3-00000000-0000-0000-0000-000000000000] PASSED [ 17%] tests/serializers/test_uuid.py::test_any_uuid_key PASSED [ 17%] tests/test_build.py::test_build_error_type PASSED [ 17%] tests/test_build.py::test_build_error_internal PASSED [ 17%] tests/test_build.py::test_build_error_deep PASSED [ 17%] tests/test_build.py::test_schema_as_string PASSED [ 17%] tests/test_build.py::test_schema_wrong_type PASSED [ 17%] tests/test_build.py::test_pickle[1] PASSED [ 17%] tests/test_build.py::test_pickle[2] PASSED [ 17%] tests/test_build.py::test_pickle[3] PASSED [ 17%] tests/test_build.py::test_pickle[4] PASSED [ 17%] tests/test_build.py::test_pickle[5] PASSED [ 17%] tests/test_build.py::test_schema_definition_error SKIPPED (unconditional skip) [ 17%] tests/test_build.py::test_not_schema_definition_error PASSED [ 17%] tests/test_build.py::test_no_type PASSED [ 17%] tests/test_build.py::test_wrong_type PASSED [ 17%] tests/test_build.py::test_function_no_mode PASSED [ 17%] tests/test_build.py::test_try_self_schema_discriminator PASSED [ 17%] tests/test_build.py::test_build_recursive_schema_from_defs PASSED [ 17%] tests/test_config.py::test_on_field PASSED [ 17%] tests/test_config.py::test_on_config PASSED [ 17%] tests/test_config.py::test_field_priority_arg PASSED [ 17%] tests/test_config.py::test_on_model_class PASSED [ 17%] tests/test_config.py::test_field_priority_model PASSED [ 17%] tests/test_config.py::test_allow_inf_nan[{}-{'type': 'float'}-{'x': 'nan'}-IsInstance() & HasAttributes(x=FunctionCheck(isnan))] PASSED [ 17%] tests/test_config.py::test_allow_inf_nan[{'allow_inf_nan': True}-{'type': 'float'}-{'x': 'nan'}-IsInstance() & HasAttributes(x=FunctionCheck(isnan))] PASSED [ 17%] 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 [ 17%] 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 [ 17%] 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 [ 17%] tests/test_config.py::test_hide_input_in_errors[config0-type=string_type, input_value=123, input_type=int] PASSED [ 18%] tests/test_config.py::test_hide_input_in_errors[config1-type=string_type, input_value=123, input_type=int] PASSED [ 18%] tests/test_config.py::test_hide_input_in_errors[config2-type=string_type] PASSED [ 18%] tests/test_config.py::test_cache_strings PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:471-477] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:498-504] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:528-534] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:573-579] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:636-642] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:705-712] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:779-785] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:845-851] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:904-911] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:970-977] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:1042-1050] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:1112-1119] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:1160-1166] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:1203-1215] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:1264-1273] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:1307-1319] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:1346-1352] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:1421-1427] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:1463-1471] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:1513-1521] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:1570-1579] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:1628-1636] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:1683-1691] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:1736-1746] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:1813-1821] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:1891-1904] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:1936-1951] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:1986-1997] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:2029-2044] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:2113-2127] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:2160-2175] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:2213-2223] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:2251-2261] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:2307-2316] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:2365-2371] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:2416-2423] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:2484-2514] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:2565-2578] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:2611-2632] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:2673-2691] PASSED [ 18%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:2732-2736] PASSED [ 19%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:2790-2798] PASSED [ 19%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:2850-2854] PASSED [ 19%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:2908-2917] PASSED [ 19%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:2989-3010] PASSED [ 19%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:3076-3085] PASSED [ 19%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:3142-3154] PASSED [ 19%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:3270-3279] PASSED [ 19%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:3314-3326] PASSED [ 19%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:3373-3391] PASSED [ 19%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:3438-3448] PASSED [ 19%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:3489-3514] PASSED [ 19%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:3555-3562] PASSED [ 19%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:3621-3628] PASSED [ 19%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:3670-3679] PASSED [ 19%] tests/test_docstrings.py::test_docstrings[python/pydantic_core/core_schema.py:3703-3715] PASSED [ 19%] tests/test_docstrings.py::test_readme[README.md:18-68] PASSED [ 19%] tests/test_errors.py::test_pydantic_value_error PASSED [ 19%] tests/test_errors.py::test_pydantic_value_error_nested_ctx[my custom error-my custom error] PASSED [ 19%] tests/test_errors.py::test_pydantic_value_error_nested_ctx[my custom error {foo}-my custom error {'bar': []}] PASSED [ 19%] tests/test_errors.py::test_pydantic_value_error_none PASSED [ 19%] tests/test_errors.py::test_pydantic_value_error_usage PASSED [ 19%] tests/test_errors.py::test_pydantic_value_error_invalid_dict PASSED [ 19%] tests/test_errors.py::test_pydantic_value_error_invalid_type PASSED [ 19%] tests/test_errors.py::test_validator_instance_plain PASSED [ 19%] tests/test_errors.py::test_validator_instance_after PASSED [ 19%] tests/test_errors.py::test_pydantic_error_type PASSED [ 19%] tests/test_errors.py::test_pydantic_error_type_nested_ctx PASSED [ 19%] tests/test_errors.py::test_pydantic_error_type_raise_no_ctx PASSED [ 19%] tests/test_errors.py::test_pydantic_error_type_raise_ctx[extra0] PASSED [ 19%] tests/test_errors.py::test_pydantic_error_type_raise_ctx[extra1] PASSED [ 19%] tests/test_errors.py::test_pydantic_error_type_raise_ctx[extra2] PASSED [ 19%] tests/test_errors.py::test_pydantic_error_type_raise_ctx[extra3] PASSED [ 19%] tests/test_errors.py::test_pydantic_error_type_raise_ctx[extra4] PASSED [ 19%] tests/test_errors.py::test_pydantic_error_type_raise_custom_no_ctx[None] PASSED [ 19%] tests/test_errors.py::test_pydantic_error_type_raise_custom_no_ctx[ctx1] PASSED [ 19%] tests/test_errors.py::test_pydantic_custom_error_type_raise_custom_ctx[extra0] PASSED [ 19%] tests/test_errors.py::test_pydantic_custom_error_type_raise_custom_ctx[extra1] PASSED [ 19%] tests/test_errors.py::test_pydantic_custom_error_type_raise_custom_ctx[extra2] PASSED [ 19%] tests/test_errors.py::test_pydantic_custom_error_type_raise_custom_ctx[extra3] PASSED [ 19%] tests/test_errors.py::test_pydantic_custom_error_type_raise_custom_ctx[extra4] PASSED [ 19%] tests/test_errors.py::test_pydantic_custom_error_type_raise_custom_no_ctx[None] PASSED [ 19%] tests/test_errors.py::test_pydantic_custom_error_type_raise_custom_no_ctx[ctx1] PASSED [ 19%] tests/test_errors.py::test_error_type[no_such_attribute-Object has no attribute 'wrong_name'-context0] PASSED [ 19%] tests/test_errors.py::test_error_type[json_invalid-Invalid JSON: foobar-context1] PASSED [ 20%] tests/test_errors.py::test_error_type[json_type-JSON input should be string, bytes or bytearray-None] PASSED [ 20%] tests/test_errors.py::test_error_type[recursion_loop-Recursion error - cyclic reference detected-None] PASSED [ 20%] tests/test_errors.py::test_error_type[model_type-Input should be a valid dictionary or instance of Foobar-context4] PASSED [ 20%] tests/test_errors.py::test_error_type[model_attributes_type-Input should be a valid dictionary or object to extract fields from-None] PASSED [ 20%] tests/test_errors.py::test_error_type[dataclass_exact_type-Input should be an instance of Foobar-context6] PASSED [ 20%] tests/test_errors.py::test_error_type[dataclass_type-Input should be a dictionary or an instance of Foobar-context7] PASSED [ 20%] tests/test_errors.py::test_error_type[missing-Field required-None] PASSED [ 20%] tests/test_errors.py::test_error_type[frozen_field-Field is frozen-None] PASSED [ 20%] tests/test_errors.py::test_error_type[frozen_instance-Instance is frozen-None] PASSED [ 20%] tests/test_errors.py::test_error_type[extra_forbidden-Extra inputs are not permitted-None] PASSED [ 20%] tests/test_errors.py::test_error_type[invalid_key-Keys should be strings-None] PASSED [ 20%] tests/test_errors.py::test_error_type[get_attribute_error-Error extracting attribute: foo-context13] PASSED [ 20%] tests/test_errors.py::test_error_type[none_required-Input should be None-None] PASSED [ 20%] tests/test_errors.py::test_error_type[enum-Input should be foo-context15] PASSED [ 20%] tests/test_errors.py::test_error_type[greater_than-Input should be greater than 42.1-context16] PASSED [ 20%] tests/test_errors.py::test_error_type[greater_than-Input should be greater than 42.1-context17] PASSED [ 20%] tests/test_errors.py::test_error_type[greater_than-Input should be greater than 2020-01-01-context18] PASSED [ 20%] tests/test_errors.py::test_error_type[greater_than_equal-Input should be greater than or equal to 42.1-context19] PASSED [ 20%] tests/test_errors.py::test_error_type[less_than-Input should be less than 42.1-context20] PASSED [ 20%] tests/test_errors.py::test_error_type[less_than_equal-Input should be less than or equal to 42.1-context21] PASSED [ 20%] tests/test_errors.py::test_error_type[finite_number-Input should be a finite number-None] PASSED [ 20%] tests/test_errors.py::test_error_type[too_short-Foobar should have at least 42 items after validation, not 40-context23] PASSED [ 20%] tests/test_errors.py::test_error_type[too_long-Foobar should have at most 42 items after validation, not 50-context24] PASSED [ 20%] tests/test_errors.py::test_error_type[string_type-Input should be a valid string-None] PASSED [ 20%] 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 [ 20%] 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 [ 20%] tests/test_errors.py::test_error_type[string_pattern_mismatch-String should match pattern 'foo'-context28] PASSED [ 20%] tests/test_errors.py::test_error_type[string_too_short-String should have at least 42 characters-context29] PASSED [ 20%] tests/test_errors.py::test_error_type[string_too_short-String should have at least 1 character-context30] PASSED [ 20%] tests/test_errors.py::test_error_type[string_too_long-String should have at most 42 characters-context31] PASSED [ 20%] tests/test_errors.py::test_error_type[string_too_long-String should have at most 1 character-context32] PASSED [ 20%] tests/test_errors.py::test_error_type[dict_type-Input should be a valid dictionary-None] PASSED [ 20%] tests/test_errors.py::test_error_type[mapping_type-Input should be a valid mapping, error: foobar-context34] PASSED [ 20%] tests/test_errors.py::test_error_type[iterable_type-Input should be iterable-None] PASSED [ 20%] tests/test_errors.py::test_error_type[iteration_error-Error iterating over object, error: foobar-context36] PASSED [ 20%] tests/test_errors.py::test_error_type[list_type-Input should be a valid list-None] PASSED [ 20%] tests/test_errors.py::test_error_type[tuple_type-Input should be a valid tuple-None] PASSED [ 20%] tests/test_errors.py::test_error_type[set_type-Input should be a valid set-None] PASSED [ 20%] tests/test_errors.py::test_error_type[bool_type-Input should be a valid boolean-None] PASSED [ 20%] tests/test_errors.py::test_error_type[bool_parsing-Input should be a valid boolean, unable to interpret input-None] PASSED [ 20%] tests/test_errors.py::test_error_type[int_type-Input should be a valid integer-None] PASSED [ 20%] tests/test_errors.py::test_error_type[int_parsing-Input should be a valid integer, unable to parse string as an integer-None] PASSED [ 20%] tests/test_errors.py::test_error_type[int_parsing_size-Unable to parse input string as an integer, exceeded maximum size-None] PASSED [ 20%] 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 [ 21%] tests/test_errors.py::test_error_type[multiple_of-Input should be a multiple of 42.1-context46] PASSED [ 21%] tests/test_errors.py::test_error_type[greater_than-Input should be greater than 42.1-context47] PASSED [ 21%] tests/test_errors.py::test_error_type[greater_than_equal-Input should be greater than or equal to 42.1-context48] PASSED [ 21%] tests/test_errors.py::test_error_type[less_than-Input should be less than 42.1-context49] PASSED [ 21%] tests/test_errors.py::test_error_type[less_than_equal-Input should be less than or equal to 42.1-context50] PASSED [ 21%] tests/test_errors.py::test_error_type[float_type-Input should be a valid number-None] PASSED [ 21%] tests/test_errors.py::test_error_type[float_parsing-Input should be a valid number, unable to parse string as a number-None] PASSED [ 21%] tests/test_errors.py::test_error_type[bytes_type-Input should be a valid bytes-None] PASSED [ 21%] tests/test_errors.py::test_error_type[bytes_too_short-Data should have at least 42 bytes-context54] PASSED [ 21%] tests/test_errors.py::test_error_type[bytes_too_short-Data should have at least 1 byte-context55] PASSED [ 21%] tests/test_errors.py::test_error_type[bytes_too_long-Data should have at most 42 bytes-context56] PASSED [ 21%] tests/test_errors.py::test_error_type[bytes_too_long-Data should have at most 1 byte-context57] PASSED [ 21%] tests/test_errors.py::test_error_type[value_error-Value error, foobar-context58] PASSED [ 21%] tests/test_errors.py::test_error_type[assertion_error-Assertion failed, foobar-context59] PASSED [ 21%] tests/test_errors.py::test_error_type[literal_error-Input should be foo-context60] PASSED [ 21%] tests/test_errors.py::test_error_type[literal_error-Input should be foo or bar-context61] PASSED [ 21%] tests/test_errors.py::test_error_type[date_type-Input should be a valid date-None] PASSED [ 21%] tests/test_errors.py::test_error_type[date_parsing-Input should be a valid date in the format YYYY-MM-DD, foobar-context63] PASSED [ 21%] tests/test_errors.py::test_error_type[date_from_datetime_parsing-Input should be a valid date or datetime, foobar-context64] PASSED [ 21%] 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 [ 21%] tests/test_errors.py::test_error_type[date_past-Date should be in the past-None] PASSED [ 21%] tests/test_errors.py::test_error_type[date_future-Date should be in the future-None] PASSED [ 21%] tests/test_errors.py::test_error_type[time_type-Input should be a valid time-None] PASSED [ 21%] tests/test_errors.py::test_error_type[time_parsing-Input should be in a valid time format, foobar-context69] PASSED [ 21%] tests/test_errors.py::test_error_type[datetime_type-Input should be a valid datetime-None] PASSED [ 21%] tests/test_errors.py::test_error_type[datetime_parsing-Input should be a valid datetime, foobar-context71] PASSED [ 21%] tests/test_errors.py::test_error_type[datetime_from_date_parsing-Input should be a valid datetime or date, foobar-context72] PASSED [ 21%] tests/test_errors.py::test_error_type[datetime_object_invalid-Invalid datetime object, got foobar-context73] PASSED [ 21%] tests/test_errors.py::test_error_type[datetime_past-Input should be in the past-None] PASSED [ 21%] tests/test_errors.py::test_error_type[datetime_future-Input should be in the future-None] PASSED [ 21%] tests/test_errors.py::test_error_type[timezone_naive-Input should not have timezone info-None] PASSED [ 21%] tests/test_errors.py::test_error_type[timezone_aware-Input should have timezone info-None] PASSED [ 21%] tests/test_errors.py::test_error_type[timezone_offset-Timezone offset of 0 required, got 60-context78] PASSED [ 21%] tests/test_errors.py::test_error_type[time_delta_type-Input should be a valid timedelta-None] PASSED [ 21%] tests/test_errors.py::test_error_type[time_delta_parsing-Input should be a valid timedelta, foobar-context80] PASSED [ 21%] tests/test_errors.py::test_error_type[frozen_set_type-Input should be a valid frozenset-None] PASSED [ 21%] tests/test_errors.py::test_error_type[is_instance_of-Input should be an instance of Foo-context82] PASSED [ 21%] tests/test_errors.py::test_error_type[is_subclass_of-Input should be a subclass of Foo-context83] PASSED [ 21%] tests/test_errors.py::test_error_type[callable_type-Input should be callable-None] PASSED [ 21%] 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-context85] PASSED [ 21%] tests/test_errors.py::test_error_type[union_tag_not_found-Unable to extract tag using discriminator foo-context86] PASSED [ 21%] tests/test_errors.py::test_error_type[arguments_type-Arguments must be a tuple, list or a dictionary-None] PASSED [ 21%] tests/test_errors.py::test_error_type[missing_argument-Missing required argument-None] PASSED [ 21%] tests/test_errors.py::test_error_type[unexpected_keyword_argument-Unexpected keyword argument-None] PASSED [ 22%] tests/test_errors.py::test_error_type[missing_keyword_only_argument-Missing required keyword only argument-None] PASSED [ 22%] tests/test_errors.py::test_error_type[unexpected_positional_argument-Unexpected positional argument-None] PASSED [ 22%] tests/test_errors.py::test_error_type[missing_positional_only_argument-Missing required positional only argument-None] PASSED [ 22%] tests/test_errors.py::test_error_type[multiple_argument_values-Got multiple values for argument-None] PASSED [ 22%] tests/test_errors.py::test_error_type[url_type-URL input should be a string or URL-None] PASSED [ 22%] tests/test_errors.py::test_error_type[url_parsing-Input should be a valid URL, Foobar-context95] PASSED [ 22%] tests/test_errors.py::test_error_type[url_syntax_violation-Input violated strict URL syntax rules, Foobar-context96] PASSED [ 22%] tests/test_errors.py::test_error_type[url_too_long-URL should have at most 42 characters-context97] PASSED [ 22%] tests/test_errors.py::test_error_type[url_too_long-URL should have at most 1 character-context98] PASSED [ 22%] tests/test_errors.py::test_error_type[url_scheme-URL scheme should be "foo", "bar" or "spam"-context99] PASSED [ 22%] tests/test_errors.py::test_error_type[uuid_type-UUID input should be a string, bytes or UUID object-None] PASSED [ 22%] tests/test_errors.py::test_error_type[uuid_parsing-Input should be a valid UUID, Foobar-context101] PASSED [ 22%] tests/test_errors.py::test_error_type[uuid_version-UUID version 42 expected-context102] PASSED [ 22%] tests/test_errors.py::test_error_type[decimal_type-Decimal input should be an integer, float, string or Decimal object-None] PASSED [ 22%] tests/test_errors.py::test_error_type[decimal_parsing-Input should be a valid decimal-None] PASSED [ 22%] tests/test_errors.py::test_error_type[decimal_max_digits-Decimal input should have no more than 42 digits in total-context105] PASSED [ 22%] tests/test_errors.py::test_error_type[decimal_max_digits-Decimal input should have no more than 1 digit in total-context106] PASSED [ 22%] tests/test_errors.py::test_error_type[decimal_max_places-Decimal input should have no more than 42 decimal places-context107] PASSED [ 22%] tests/test_errors.py::test_error_type[decimal_max_places-Decimal input should have no more than 1 decimal place-context108] PASSED [ 22%] tests/test_errors.py::test_error_type[decimal_whole_digits-Decimal input should have no more than 42 digits before the decimal point-context109] PASSED [ 22%] tests/test_errors.py::test_error_type[decimal_whole_digits-Decimal input should have no more than 1 digit before the decimal point-context110] PASSED [ 22%] tests/test_errors.py::test_all_errors_covered PASSED [ 22%] tests/test_errors.py::test_error_decimal PASSED [ 22%] tests/test_errors.py::test_custom_error_decimal PASSED [ 22%] tests/test_errors.py::test_pydantic_value_error_plain[python] PASSED [ 22%] tests/test_errors.py::test_pydantic_value_error_plain[json] PASSED [ 22%] tests/test_errors.py::test_list_omit_exception[python-exception0] PASSED [ 22%] tests/test_errors.py::test_list_omit_exception[python-PydanticOmit] PASSED [ 22%] tests/test_errors.py::test_list_omit_exception[json-exception0] PASSED [ 22%] tests/test_errors.py::test_list_omit_exception[json-PydanticOmit] PASSED [ 22%] tests/test_errors.py::test_omit_exc_repr PASSED [ 22%] tests/test_errors.py::test_type_error_error[greater_than-ctx0-GreaterThan: 'gt' context value must be a Number] PASSED [ 22%] tests/test_errors.py::test_type_error_error[model_type-ctx1-ModelType: 'class_name' context value must be a String] PASSED [ 22%] tests/test_errors.py::test_type_error_error[date_parsing-ctx2-DateParsing: 'error' context value must be a String] PASSED [ 22%] tests/test_errors.py::test_type_error_error[string_too_short-ctx3-StringTooShort: 'min_length' context value must be a usize] PASSED [ 22%] tests/test_errors.py::test_custom_context_for_simple_error PASSED [ 22%] tests/test_errors.py::test_all_errors PASSED [ 22%] tests/test_errors.py::test_validation_error_cause_contents PASSED [ 22%] tests/test_errors.py::test_validation_error_cause_contents_legacy SKIPPED [ 22%] tests/test_errors.py::test_validation_error_cause_config_variants[Enabled-config0-CauseResult.CAUSE] PASSED [ 22%] tests/test_errors.py::test_validation_error_cause_config_variants[Disabled specifically-config1-CauseResult.NO_CAUSE] PASSED [ 22%] tests/test_errors.py::test_validation_error_cause_config_variants[Disabled implicitly-config2-CauseResult.NO_CAUSE] PASSED [ 22%] tests/test_errors.py::test_validation_error_cause_traceback_preserved PASSED [ 22%] tests/test_errors.py::test_error_on_repr PASSED [ 23%] tests/test_errors.py::test_error_json PASSED [ 23%] tests/test_errors.py::test_error_json_python_error PASSED [ 23%] tests/test_errors.py::test_error_json_cycle PASSED [ 23%] tests/test_errors.py::test_error_json_unknown PASSED [ 23%] tests/test_errors.py::test_error_json_loc PASSED [ 23%] tests/test_errors.py::test_raise_validation_error PASSED [ 23%] tests/test_errors.py::test_raise_validation_error_hide_input[False-type=greater_than, input_value=4, input_type=int] PASSED [ 23%] tests/test_errors.py::test_raise_validation_error_hide_input[True-type=greater_than] PASSED [ 23%] tests/test_errors.py::test_raise_validation_error_json PASSED [ 23%] tests/test_errors.py::test_raise_validation_error_custom PASSED [ 23%] tests/test_errors.py::test_raise_validation_error_custom_nested_ctx[my custom error-my custom error] PASSED [ 23%] tests/test_errors.py::test_raise_validation_error_custom_nested_ctx[my custom error {foo}-my custom error {'bar': []}] PASSED [ 23%] tests/test_errors.py::test_raise_validation_error_known_class_ctx PASSED [ 23%] tests/test_errors.py::test_raise_validation_error_custom_class_ctx PASSED [ 23%] tests/test_errors.py::test_loc_with_dots PASSED [ 23%] tests/test_errors.py::test_hide_input_in_error PASSED [ 23%] tests/test_errors.py::test_hide_input_in_json PASSED [ 23%] tests/test_errors.py::test_validation_error_pickle PASSED [ 23%] tests/test_errors.py::test_errors_include_url PASSED [ 23%] tests/test_errors.py::test_errors_include_url_envvar[PYDANTIC_ERRORS_INCLUDE_URL-None-True] PASSED [ 23%] tests/test_errors.py::test_errors_include_url_envvar[PYDANTIC_ERRORS_INCLUDE_URL-1-True] PASSED [ 23%] tests/test_errors.py::test_errors_include_url_envvar[PYDANTIC_ERRORS_INCLUDE_URL-True-True] PASSED [ 23%] tests/test_errors.py::test_errors_include_url_envvar[PYDANTIC_ERRORS_INCLUDE_URL-no-False] PASSED [ 23%] tests/test_errors.py::test_errors_include_url_envvar[PYDANTIC_ERRORS_INCLUDE_URL-0-False] PASSED [ 23%] tests/test_errors.py::test_errors_include_url_envvar[PYDANTIC_ERRORS_OMIT_URL-1-False] PASSED [ 23%] tests/test_errors.py::test_errors_include_url_envvar[PYDANTIC_ERRORS_OMIT_URL-None-True] PASSED [ 23%] tests/test_garbage_collection.py::test_gc_schema_serializer PASSED [ 23%] tests/test_garbage_collection.py::test_gc_schema_validator PASSED [ 23%] tests/test_hypothesis.py::test_datetime_datetime PASSED [ 23%] tests/test_hypothesis.py::test_datetime_int PASSED [ 23%] tests/test_hypothesis.py::test_datetime_binary PASSED [ 23%] tests/test_hypothesis.py::test_definition_simple PASSED [ 23%] tests/test_hypothesis.py::test_recursive FAILED [ 23%] tests/test_hypothesis.py::test_definition_cycles FAILED [ 23%] tests/test_hypothesis.py::test_definition_broken PASSED [ 23%] tests/test_hypothesis.py::test_pytimedelta_as_timedelta PASSED [ 23%] tests/test_hypothesis.py::test_urls_text PASSED [ 23%] tests/test_hypothesis.py::test_multi_host_urls_text PASSED [ 23%] tests/test_hypothesis.py::test_serialize_string PASSED [ 23%] tests/test_isinstance.py::test_isinstance PASSED [ 23%] tests/test_isinstance.py::test_isinstance_strict PASSED [ 23%] tests/test_isinstance.py::test_internal_error PASSED [ 23%] tests/test_isinstance.py::test_omit[python] PASSED [ 23%] tests/test_isinstance.py::test_omit[json] PASSED [ 24%] tests/test_json.py::test_bool[false-False] PASSED [ 24%] tests/test_json.py::test_bool[true-True] PASSED [ 24%] tests/test_json.py::test_bool[0-False] PASSED [ 24%] tests/test_json.py::test_bool[1-True] PASSED [ 24%] tests/test_json.py::test_bool["yes"-True] PASSED [ 24%] tests/test_json.py::test_bool["no"-False] PASSED [ 24%] tests/test_json.py::test_input_types[[1, 2, 3]0] PASSED [ 24%] tests/test_json.py::test_input_types[[1, 2, 3]1] PASSED [ 24%] tests/test_json.py::test_input_types[input_value2] PASSED [ 24%] tests/test_json.py::test_input_type_invalid PASSED [ 24%] tests/test_json.py::test_null PASSED [ 24%] tests/test_json.py::test_str PASSED [ 24%] tests/test_json.py::test_bytes PASSED [ 24%] tests/test_json.py::test_int[123-123] PASSED [ 24%] tests/test_json.py::test_int["123"-123] PASSED [ 24%] tests/test_json.py::test_int[123.0-123] PASSED [ 24%] tests/test_json.py::test_int["123.0"-123] PASSED [ 24%] tests/test_json.py::test_int[10000000000000000000000000000000000000000-10000000000000000000000000000000000000000] PASSED [ 24%] tests/test_json.py::test_int[123.4-expected5] PASSED [ 24%] tests/test_json.py::test_int["123.4"-expected6] PASSED [ 24%] tests/test_json.py::test_int["string"-expected7] PASSED [ 24%] tests/test_json.py::test_float[123.4-123.4] PASSED [ 24%] tests/test_json.py::test_float[123.0-123.0] PASSED [ 24%] tests/test_json.py::test_float[123-123.0] PASSED [ 24%] tests/test_json.py::test_float["123.4"-123.4] PASSED [ 24%] tests/test_json.py::test_float["123.0"-123.0] PASSED [ 24%] tests/test_json.py::test_float["123"-123.0] PASSED [ 24%] tests/test_json.py::test_float["string"-expected6] PASSED [ 24%] tests/test_json.py::test_typed_dict PASSED [ 24%] tests/test_json.py::test_float_no_remainder PASSED [ 24%] tests/test_json.py::test_error_loc PASSED [ 24%] tests/test_json.py::test_dict PASSED [ 24%] tests/test_json.py::test_dict_any_value PASSED [ 24%] tests/test_json.py::test_json_invalid PASSED [ 24%] tests/test_json.py::test_to_json PASSED [ 24%] tests/test_json.py::test_to_json_fallback PASSED [ 24%] tests/test_json.py::test_to_jsonable_python PASSED [ 24%] tests/test_json.py::test_to_jsonable_python_fallback PASSED [ 24%] tests/test_json.py::test_to_jsonable_python_schema_serializer PASSED [ 24%] tests/test_json.py::test_cycle_same PASSED [ 24%] tests/test_json.py::test_cycle_change PASSED [ 24%] tests/test_json.py::test_json_key_fallback PASSED [ 24%] tests/test_json.py::test_bad_repr PASSED [ 24%] tests/test_json.py::test_inf_nan_allow PASSED [ 25%] tests/test_json.py::test_partial_parse PASSED [ 25%] tests/test_misc.py::test_module[ValidationError] PASSED [ 25%] tests/test_misc.py::test_module[SchemaValidator] PASSED [ 25%] tests/test_misc.py::test_module[SchemaError] PASSED [ 25%] tests/test_misc.py::test_version PASSED [ 25%] tests/test_misc.py::test_build_profile PASSED [ 25%] tests/test_misc.py::test_build_info PASSED [ 25%] tests/test_misc.py::test_schema_error PASSED [ 25%] tests/test_misc.py::test_validation_error PASSED [ 25%] tests/test_misc.py::test_validation_error_include_context PASSED [ 25%] tests/test_misc.py::test_custom_title PASSED [ 25%] tests/test_misc.py::test_validation_error_multiple PASSED [ 25%] tests/test_misc.py::test_core_schema_type_literal PASSED [ 25%] tests/test_misc.py::test_undefined PASSED [ 25%] tests/test_misc.py::test_unicode_error_input_repr PASSED [ 25%] tests/test_misc.py::test_core_schema_import_field_validation_info PASSED [ 25%] tests/test_misc.py::test_core_schema_import_missing PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[any_schema-()-{'type': 'any'}] PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[any_schema-(metadata=['foot', 'spa'])-{'type': 'any', 'metadata': ['foot', 'spa']}] PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[none_schema-()-{'type': 'none'}] PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[bool_schema-()-{'type': 'bool'}] PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[bool_schema-(strict=True)-{'type': 'bool', 'strict': True}] PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[int_schema-()-{'type': 'int'}] PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[int_schema-(metadata={'fred'})-{'type': 'int', 'metadata': {'fred'}}] PASSED [ 25%] 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 [ 25%] tests/test_schema_functions.py::test_schema_functions[float_schema-()-{'type': 'float'}] PASSED [ 25%] 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 [ 25%] tests/test_schema_functions.py::test_schema_functions[str_schema-()-{'type': 'str'}] PASSED [ 25%] 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 [ 25%] tests/test_schema_functions.py::test_schema_functions[bytes_schema-()-{'type': 'bytes'}] PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[bytes_schema-(min_length=5, ref='xx')-{'type': 'bytes', 'min_length': 5, 'ref': 'xx'}] PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[date_schema-()-{'type': 'date'}] PASSED [ 25%] 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 [ 25%] tests/test_schema_functions.py::test_schema_functions[time_schema-()-{'type': 'time', 'microseconds_precision': 'truncate'}] PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[datetime_schema-()-{'type': 'datetime', 'microseconds_precision': 'truncate'}] PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[timedelta_schema-()-{'type': 'timedelta', 'microseconds_precision': 'truncate'}] PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[time_schema-(microseconds_precision='error')-{'type': 'time', 'microseconds_precision': 'error'}] PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[datetime_schema-(microseconds_precision='error')-{'type': 'datetime', 'microseconds_precision': 'error'}] PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[timedelta_schema-(microseconds_precision='error')-{'type': 'timedelta', 'microseconds_precision': 'error'}] PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[literal_schema-(['a', 'b'])-{'type': 'literal', 'expected': ['a', 'b']}] PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[enum_schema-(, [, ])-{'type': 'enum', 'cls': , 'members': [, ]}] PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[is_instance_schema-()-{'type': 'is-instance', 'cls': }] PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[callable_schema-()-{'type': 'callable'}] PASSED [ 25%] tests/test_schema_functions.py::test_schema_functions[list_schema-()-{'type': 'list'}] PASSED [ 26%] tests/test_schema_functions.py::test_schema_functions[list_schema-({'type': 'int'})-{'type': 'list', 'items_schema': {'type': 'int'}}] PASSED [ 26%] tests/test_schema_functions.py::test_schema_functions[tuple_schema-([])-{'type': 'tuple', 'items_schema': []}] PASSED [ 26%] 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 [ 26%] 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 [ 26%] tests/test_schema_functions.py::test_schema_functions[generator_schema-({'type': 'int'})-{'type': 'generator', 'items_schema': {'type': 'int'}}] PASSED [ 26%] tests/test_schema_functions.py::test_schema_functions[dict_schema-()-{'type': 'dict'}] PASSED [ 26%] 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 [ 26%] tests/test_schema_functions.py::test_schema_functions[with_info_before_validator_function-(, {'type': 'int'})-{'type': 'function-before', 'function': {'type': 'with-info', 'function': }, 'schema': {'type': 'int'}}] PASSED [ 26%] tests/test_schema_functions.py::test_schema_functions[with_info_after_validator_function-(, {'type': 'int'})-{'type': 'function-after', 'function': {'type': 'with-info', 'function': }, 'schema': {'type': 'int'}}] PASSED [ 26%] tests/test_schema_functions.py::test_schema_functions[with_info_wrap_validator_function-(, {'type': 'int'})-{'type': 'function-wrap', 'function': {'type': 'with-info', 'function': }, 'schema': {'type': 'int'}}] PASSED [ 26%] tests/test_schema_functions.py::test_schema_functions[with_info_plain_validator_function-()-{'type': 'function-plain', 'function': {'type': 'with-info', 'function': }}] PASSED [ 26%] tests/test_schema_functions.py::test_schema_functions[with_default_schema-({'type': 'int'}, default=5)-{'type': 'default', 'schema': {'type': 'int'}, 'default': 5}] PASSED [ 26%] tests/test_schema_functions.py::test_schema_functions[with_default_schema-({'type': 'int'}, default=None)-{'type': 'default', 'schema': {'type': 'int'}, 'default': None}] PASSED [ 26%] tests/test_schema_functions.py::test_schema_functions[with_default_schema-({'type': 'int'}, default_factory=)-{'type': 'default', 'schema': {'type': 'int'}, 'default_factory': }] PASSED [ 26%] tests/test_schema_functions.py::test_schema_functions[nullable_schema-({'type': 'int'})-{'type': 'nullable', 'schema': {'type': 'int'}}] PASSED [ 26%] tests/test_schema_functions.py::test_schema_functions[union_schema-([{'type': 'int'}, {'type': 'str'}])-{'type': 'union', 'choices': [{'type': 'int'}, {'type': 'str'}]}] PASSED [ 26%] 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 [ 26%] 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 [ 26%] tests/test_schema_functions.py::test_schema_functions[chain_schema-([{'type': 'int'}, {'type': 'str'}])-{'type': 'chain', 'steps': [{'type': 'int'}, {'type': 'str'}]}] PASSED [ 26%] 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 [ 26%] 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 [ 26%] 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 [ 26%] 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 [ 26%] tests/test_schema_functions.py::test_schema_functions[model_schema-(, {'type': 'int'})-{'type': 'model', 'cls': , 'schema': {'type': 'int'}}] PASSED [ 26%] tests/test_schema_functions.py::test_schema_functions[arguments_parameter-('foo', {'type': 'int'})-{'name': 'foo', 'schema': {'type': 'int'}}] PASSED [ 26%] 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 [ 26%] 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 [ 26%] 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 [ 26%] tests/test_schema_functions.py::test_schema_functions[json_schema-({'type': 'int'})-{'type': 'json', 'schema': {'type': 'int'}}] PASSED [ 26%] tests/test_schema_functions.py::test_schema_functions[url_schema-()-{'type': 'url'}] PASSED [ 26%] tests/test_schema_functions.py::test_schema_functions[multi_host_url_schema-()-{'type': 'multi-host-url'}] PASSED [ 26%] 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 [ 26%] 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 [ 26%] tests/test_schema_functions.py::test_schema_functions[is_subclass_schema-()-{'type': 'is-subclass', 'cls': }] PASSED [ 26%] tests/test_schema_functions.py::test_schema_functions[definitions_schema-({'type': 'definition-ref', 'schema_ref': 'an-int'}, [{'type': 'int', 'ref': 'an-int'}])-{'type': 'definitions', 'schema': {'type': 'definition-ref', 'schema_ref': 'an-int'}, 'definitions': [{'type': 'int', 'ref': 'an-int'}]}] PASSED [ 26%] tests/test_schema_functions.py::test_schema_functions[definition_reference_schema-('foo')-{'type': 'definition-ref', 'schema_ref': 'foo'}] PASSED [ 26%] 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 [ 26%] tests/test_schema_functions.py::test_schema_functions[dataclass_schema-(, {'type': 'int'}, ['foobar'])-{'type': 'dataclass', 'schema': {'type': 'int'}, 'fields': ['foobar'], 'cls': }] PASSED [ 26%] 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 [ 26%] tests/test_schema_functions.py::test_schema_functions[uuid_schema-()-{'type': 'uuid'}] PASSED [ 26%] tests/test_schema_functions.py::test_schema_functions[decimal_schema-()-{'type': 'decimal'}] PASSED [ 26%] tests/test_schema_functions.py::test_schema_functions[decimal_schema-(multiple_of=5, gt=1.2)-{'type': 'decimal', 'multiple_of': 5, 'gt': 1.2}] PASSED [ 26%] tests/test_schema_functions.py::test_all_schema_functions_used PASSED [ 26%] tests/test_schema_functions.py::test_invalid_custom_error PASSED [ 27%] tests/test_schema_functions.py::test_invalid_custom_error_type PASSED [ 27%] tests/test_schema_functions.py::test_expected_serialization_types[return_schema0] PASSED [ 27%] tests/test_schema_functions.py::test_expected_serialization_types[return_schema1] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[python-False-False-123-123_0] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[python-False-False-123-123_1] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[python-None-False-123-123_0] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[python-None-False-123-123_1] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[python-True-False-123-123] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[python-True-False-123-expected5] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[python-False-True-123-123_0] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[python-False-True-123-123_1] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[python-None-True-123-123] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[python-None-True-123-expected9] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[python-True-True-123-123] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[python-True-True-123-expected11] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[python-False-None-123-123_0] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[python-False-None-123-123_1] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[python-None-None-123-123_0] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[python-None-None-123-123_1] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[python-True-None-123-123] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[python-True-None-123-expected17] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[json-False-False-123-123_0] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[json-False-False-123-123_1] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[json-None-False-123-123_0] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[json-None-False-123-123_1] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[json-True-False-123-123] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[json-True-False-123-expected5] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[json-False-True-123-123_0] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[json-False-True-123-123_1] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[json-None-True-123-123] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[json-None-True-123-expected9] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[json-True-True-123-123] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[json-True-True-123-expected11] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[json-False-None-123-123_0] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[json-False-None-123-123_1] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[json-None-None-123-123_0] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[json-None-None-123-123_1] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[json-True-None-123-123] PASSED [ 27%] tests/test_strict.py::test_int_strict_argument[json-True-None-123-expected17] PASSED [ 27%] tests/test_typing.py::test_schema_typing PASSED [ 27%] tests/test_typing.py::test_schema_typing_error PASSED [ 27%] tests/test_typing.py::test_schema_validator PASSED [ 27%] tests/test_typing.py::test_schema_validator_wrong PASSED [ 27%] tests/test_typing.py::test_correct_function_signature PASSED [ 28%] tests/test_typing.py::test_wrong_function_signature PASSED [ 28%] tests/test_typing.py::test_type_error PASSED [ 28%] tests/test_typing.py::test_ser_function_plain PASSED [ 28%] tests/test_typing.py::test_ser_function_wrap PASSED [ 28%] tests/test_typing.py::test_error_details PASSED [ 28%] tests/test_tzinfo.py::TestTzInfo::test_comparison PASSED [ 28%] tests/test_tzinfo.py::TestTzInfo::test_constructor PASSED [ 28%] tests/test_tzinfo.py::TestTzInfo::test_copy PASSED [ 28%] tests/test_tzinfo.py::TestTzInfo::test_deepcopy PASSED [ 28%] tests/test_tzinfo.py::TestTzInfo::test_dst PASSED [ 28%] tests/test_tzinfo.py::TestTzInfo::test_fromutc PASSED [ 28%] tests/test_tzinfo.py::TestTzInfo::test_inheritance PASSED [ 28%] tests/test_tzinfo.py::TestTzInfo::test_offset_boundaries PASSED [ 28%] tests/test_tzinfo.py::TestTzInfo::test_str PASSED [ 28%] tests/test_tzinfo.py::TestTzInfo::test_tzname PASSED [ 28%] tests/test_tzinfo.py::TestTzInfo::test_utcoffset PASSED [ 28%] tests/test_tzinfo.py::test_tzinfo_could_be_reused PASSED [ 28%] tests/test_validate_strings.py::test_bool PASSED [ 28%] tests/test_validate_strings.py::test_validate_strings[{'type': 'int'}-'1'-1-False] PASSED [ 28%] tests/test_validate_strings.py::test_validate_strings[{'type': 'int'}-'1'-1-True] PASSED [ 28%] tests/test_validate_strings.py::test_validate_strings[{'type': 'int'}-'xxx'-Err('type=int_parsing')-True] PASSED [ 28%] tests/test_validate_strings.py::test_validate_strings[{'type': 'float'}-'1.1'-1.1-False] PASSED [ 28%] tests/test_validate_strings.py::test_validate_strings[{'type': 'float'}-'1.10'-1.1-False] PASSED [ 28%] tests/test_validate_strings.py::test_validate_strings[{'type': 'float'}-'1.1'-1.1-True] PASSED [ 28%] tests/test_validate_strings.py::test_validate_strings[{'type': 'float'}-'1.10'-1.1-True] PASSED [ 28%] tests/test_validate_strings.py::test_validate_strings[{'type': 'date'}-'2017-01-01'-datetime.date(2017, 1, 1)-False] PASSED [ 28%] tests/test_validate_strings.py::test_validate_strings[{'type': 'date'}-'2017-01-01'-datetime.date(2017, 1, 1)-True] PASSED [ 28%] tests/test_validate_strings.py::test_validate_strings[{'type': 'datetime', 'microseconds_precision': 'truncate'}-'2017-01-01T12:13:14.567'-datetime.datetime(2017, 1, 1, 12, 13, 14, 567000)-False] PASSED [ 28%] tests/test_validate_strings.py::test_validate_strings[{'type': 'datetime', 'microseconds_precision': 'truncate'}-'2017-01-01T12:13:14.567'-datetime.datetime(2017, 1, 1, 12, 13, 14, 567000)-True] PASSED [ 28%] tests/test_validate_strings.py::test_validate_strings[{'type': 'date'}-'2017-01-01T12:13:14.567'-Err('type=date_from_datetime_inexact')-False] PASSED [ 28%] tests/test_validate_strings.py::test_validate_strings[{'type': 'date'}-'2017-01-01T12:13:14.567'-Err('type=date_parsing')-True] PASSED [ 28%] tests/test_validate_strings.py::test_validate_strings[{'type': 'date'}-'2017-01-01T00:00:00'-datetime.date(2017, 1, 1)-False] PASSED [ 28%] tests/test_validate_strings.py::test_validate_strings[{'type': 'date'}-'2017-01-01T00:00:00'-Err('type=date_parsing')-True] PASSED [ 28%] tests/test_validate_strings.py::test_dict PASSED [ 28%] tests/test_validate_strings.py::test_model PASSED [ 28%] tests/test_validate_strings.py::test_dataclass PASSED [ 28%] tests/test_validate_strings.py::test_typed_dict PASSED [ 28%] tests/test_validation_context.py::test_after[python] PASSED [ 28%] tests/test_validation_context.py::test_after[json] PASSED [ 28%] tests/test_validation_context.py::test_mutable_context[python] PASSED [ 28%] tests/test_validation_context.py::test_mutable_context[json] PASSED [ 28%] tests/test_validation_context.py::test_typed_dict[python] PASSED [ 28%] tests/test_validation_context.py::test_typed_dict[json] PASSED [ 28%] tests/test_validation_context.py::test_wrap[python] PASSED [ 29%] tests/test_validation_context.py::test_wrap[json] PASSED [ 29%] tests/test_validation_context.py::test_isinstance[python] PASSED [ 29%] tests/test_validation_context.py::test_isinstance[json] PASSED [ 29%] tests/test_validation_context.py::test_validate_assignment_with_context PASSED [ 29%] tests/validators/test_arguments.py::test_args_kwargs PASSED [ 29%] tests/validators/test_arguments.py::test_positional_args[python-(1, 'a', True)-((1, 'a', True), {})] PASSED [ 29%] tests/validators/test_arguments.py::test_positional_args[python-[1, 'a', True]-((1, 'a', True), {})] PASSED [ 29%] tests/validators/test_arguments.py::test_positional_args[python-ArgsKwargs((1, 'a', True))-((1, 'a', True), {})] PASSED [ 29%] tests/validators/test_arguments.py::test_positional_args[python-(1, 'a', 'true')-((1, 'a', True), {})] PASSED [ 29%] tests/validators/test_arguments.py::test_positional_args[python-'x'-Err('type=arguments_type,')] PASSED [ 29%] 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 [ 29%] 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 [ 29%] 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 [ 29%] 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 [ 29%] 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 [ 29%] 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 [ 29%] tests/validators/test_arguments.py::test_positional_args[json-(1, 'a', True)-((1, 'a', True), {})] PASSED [ 29%] tests/validators/test_arguments.py::test_positional_args[json-[1, 'a', True]-((1, 'a', True), {})] PASSED [ 29%] tests/validators/test_arguments.py::test_positional_args[json-ArgsKwargs((1, 'a', True))-((1, 'a', True), {})] SKIPPED [ 29%] tests/validators/test_arguments.py::test_positional_args[json-(1, 'a', 'true')-((1, 'a', True), {})] PASSED [ 29%] tests/validators/test_arguments.py::test_positional_args[json-'x'-Err('type=arguments_type,')] PASSED [ 29%] 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 [ 29%] 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 [ 29%] 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 [ 29%] 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 [ 29%] 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 [ 29%] 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 [ 29%] tests/validators/test_arguments.py::test_keyword_args[python-ArgsKwargs((), {'a': 1, 'b': 'a', 'c': True})-((), {'a': 1, 'b': 'a', 'c': True})0] PASSED [ 29%] tests/validators/test_arguments.py::test_keyword_args[python-{'a': 1, 'b': 'a', 'c': True}-((), {'a': 1, 'b': 'a', 'c': True})] PASSED [ 29%] tests/validators/test_arguments.py::test_keyword_args[python-ArgsKwargs((), {'a': '1', 'b': 'a', 'c': 'True'})-((), {'a': 1, 'b': 'a', 'c': True})] PASSED [ 29%] tests/validators/test_arguments.py::test_keyword_args[python-ArgsKwargs((), {'a': 1, 'b': 'a', 'c': True})-((), {'a': 1, 'b': 'a', 'c': True})1] PASSED [ 29%] tests/validators/test_arguments.py::test_keyword_args[python-ArgsKwargs((1,), {'a': 1, 'b': 'a', 'c': True})-Err('type=unexpected_positional_argument,')] PASSED [ 29%] 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 [ 29%] 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 [ 29%] 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 [ 29%] 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 [ 29%] tests/validators/test_arguments.py::test_keyword_args[json-ArgsKwargs((), {'a': 1, 'b': 'a', 'c': True})-((), {'a': 1, 'b': 'a', 'c': True})0] SKIPPED [ 29%] tests/validators/test_arguments.py::test_keyword_args[json-{'a': 1, 'b': 'a', 'c': True}-((), {'a': 1, 'b': 'a', 'c': True})] PASSED [ 29%] tests/validators/test_arguments.py::test_keyword_args[json-ArgsKwargs((), {'a': '1', 'b': 'a', 'c': 'True'})-((), {'a': 1, 'b': 'a', 'c': True})] SKIPPED [ 29%] tests/validators/test_arguments.py::test_keyword_args[json-ArgsKwargs((), {'a': 1, 'b': 'a', 'c': True})-((), {'a': 1, 'b': 'a', 'c': True})1] SKIPPED [ 29%] tests/validators/test_arguments.py::test_keyword_args[json-ArgsKwargs((1,), {'a': 1, 'b': 'a', 'c': True})-Err('type=unexpected_positional_argument,')] SKIPPED [ 29%] 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 [ 29%] 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 [ 29%] 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 [ 30%] 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 [ 30%] tests/validators/test_arguments.py::test_positional_or_keyword[python-{'a': 1, 'b': 'bb', 'c': True}-((), {'a': 1, 'b': 'bb', 'c': True})] PASSED [ 30%] tests/validators/test_arguments.py::test_positional_or_keyword[python-ArgsKwargs((), {'a': 1, 'b': 'bb', 'c': True})-((), {'a': 1, 'b': 'bb', 'c': True})] PASSED [ 30%] tests/validators/test_arguments.py::test_positional_or_keyword[python-ArgsKwargs((1, 'bb'), {'c': True})-((1, 'bb'), {'c': True})] PASSED [ 30%] tests/validators/test_arguments.py::test_positional_or_keyword[python-ArgsKwargs((1,), {'b': 'bb', 'c': True})-((1,), {'b': 'bb', 'c': True})] PASSED [ 30%] 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 [ 30%] 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 [ 30%] 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 [ 30%] tests/validators/test_arguments.py::test_positional_or_keyword[json-{'a': 1, 'b': 'bb', 'c': True}-((), {'a': 1, 'b': 'bb', 'c': True})] PASSED [ 30%] tests/validators/test_arguments.py::test_positional_or_keyword[json-ArgsKwargs((), {'a': 1, 'b': 'bb', 'c': True})-((), {'a': 1, 'b': 'bb', 'c': True})] SKIPPED [ 30%] tests/validators/test_arguments.py::test_positional_or_keyword[json-ArgsKwargs((1, 'bb'), {'c': True})-((1, 'bb'), {'c': True})] SKIPPED [ 30%] tests/validators/test_arguments.py::test_positional_or_keyword[json-ArgsKwargs((1,), {'b': 'bb', 'c': True})-((1,), {'b': 'bb', 'c': True})] SKIPPED [ 30%] 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 [ 30%] 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 [ 30%] 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 [ 30%] tests/validators/test_arguments.py::test_positional_optional[python-(1,)-((1,), {})] PASSED [ 30%] tests/validators/test_arguments.py::test_positional_optional[python-()-((42,), {})] PASSED [ 30%] tests/validators/test_arguments.py::test_positional_optional[json-(1,)-((1,), {})] PASSED [ 30%] tests/validators/test_arguments.py::test_positional_optional[json-()-((42,), {})] PASSED [ 30%] tests/validators/test_arguments.py::test_p_or_k_optional[python-{'a': 1}-((), {'a': 1})] PASSED [ 30%] tests/validators/test_arguments.py::test_p_or_k_optional[python-ArgsKwargs((), {'a': 1})-((), {'a': 1})0] PASSED [ 30%] tests/validators/test_arguments.py::test_p_or_k_optional[python-ArgsKwargs((), {'a': 1})-((), {'a': 1})1] PASSED [ 30%] tests/validators/test_arguments.py::test_p_or_k_optional[python-ArgsKwargs(())-((), {'a': 1})] PASSED [ 30%] tests/validators/test_arguments.py::test_p_or_k_optional[json-{'a': 1}-((), {'a': 1})] PASSED [ 30%] tests/validators/test_arguments.py::test_p_or_k_optional[json-ArgsKwargs((), {'a': 1})-((), {'a': 1})0] SKIPPED [ 30%] tests/validators/test_arguments.py::test_p_or_k_optional[json-ArgsKwargs((), {'a': 1})-((), {'a': 1})1] SKIPPED [ 30%] tests/validators/test_arguments.py::test_p_or_k_optional[json-ArgsKwargs(())-((), {'a': 1})] SKIPPED [ 30%] tests/validators/test_arguments.py::test_var_args_only[python-[1, 2, 3]-((1, 2, 3), {})] PASSED [ 30%] tests/validators/test_arguments.py::test_var_args_only[python-ArgsKwargs((1, 2, 3))-((1, 2, 3), {})] PASSED [ 30%] tests/validators/test_arguments.py::test_var_args_only[python-[1]-((1,), {})] PASSED [ 30%] tests/validators/test_arguments.py::test_var_args_only[python-[]-((), {})] PASSED [ 30%] 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 [ 30%] tests/validators/test_arguments.py::test_var_args_only[json-[1, 2, 3]-((1, 2, 3), {})] PASSED [ 30%] tests/validators/test_arguments.py::test_var_args_only[json-ArgsKwargs((1, 2, 3))-((1, 2, 3), {})] SKIPPED [ 30%] tests/validators/test_arguments.py::test_var_args_only[json-[1]-((1,), {})] PASSED [ 30%] tests/validators/test_arguments.py::test_var_args_only[json-[]-((), {})] PASSED [ 30%] 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 [ 30%] tests/validators/test_arguments.py::test_args_var_args_only[python-[1, 2, 3]-((1, 2, 3), {})] PASSED [ 30%] tests/validators/test_arguments.py::test_args_var_args_only[python-['1', '2', '3']-((1, 2, 3), {})] PASSED [ 30%] tests/validators/test_arguments.py::test_args_var_args_only[python-[1]-((1,), {})] PASSED [ 30%] tests/validators/test_arguments.py::test_args_var_args_only[python-[]-Err('0\\n Missing required positional only argument')] PASSED [ 30%] 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 [ 30%] 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 [ 30%] 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 [ 31%] tests/validators/test_arguments.py::test_args_var_args_only[json-[1, 2, 3]-((1, 2, 3), {})] PASSED [ 31%] tests/validators/test_arguments.py::test_args_var_args_only[json-['1', '2', '3']-((1, 2, 3), {})] PASSED [ 31%] tests/validators/test_arguments.py::test_args_var_args_only[json-[1]-((1,), {})] PASSED [ 31%] tests/validators/test_arguments.py::test_args_var_args_only[json-[]-Err('0\\n Missing required positional only argument')] PASSED [ 31%] 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 [ 31%] 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 [ 31%] 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 [ 31%] tests/validators/test_arguments.py::test_both[python-ArgsKwargs((1, 'a', 'true'), {'b': 'bb', 'c': 3})-((1, 'a', True), {'b': 'bb', 'c': 3})] PASSED [ 31%] 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 [ 31%] 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 [ 31%] tests/validators/test_arguments.py::test_both[json-ArgsKwargs((1, 'a', 'true'), {'b': 'bb', 'c': 3})-((1, 'a', True), {'b': 'bb', 'c': 3})] SKIPPED [ 31%] 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 [ 31%] 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 [ 31%] tests/validators/test_arguments.py::test_no_args[python-ArgsKwargs(())-((), {})] PASSED [ 31%] tests/validators/test_arguments.py::test_no_args[python-[]-((), {})] PASSED [ 31%] tests/validators/test_arguments.py::test_no_args[python-[1]-Err('0\\n Unexpected positional argument [type=unexpected_positional_argument,')] PASSED [ 31%] tests/validators/test_arguments.py::test_no_args[python-{'a': 1}-Err('a\\n Unexpected keyword argument [type=unexpected_keyword_argument,')] PASSED [ 31%] 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 [ 31%] tests/validators/test_arguments.py::test_no_args[json-ArgsKwargs(())-((), {})] SKIPPED [ 31%] tests/validators/test_arguments.py::test_no_args[json-[]-((), {})] PASSED [ 31%] tests/validators/test_arguments.py::test_no_args[json-[1]-Err('0\\n Unexpected positional argument [type=unexpected_positional_argument,')] PASSED [ 31%] tests/validators/test_arguments.py::test_no_args[json-{'a': 1}-Err('a\\n Unexpected keyword argument [type=unexpected_keyword_argument,')] PASSED [ 31%] 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 [ 31%] tests/validators/test_arguments.py::test_internal_error[python] PASSED [ 31%] tests/validators/test_arguments.py::test_internal_error[json] PASSED [ 31%] tests/validators/test_arguments.py::test_default_factory[python-ArgsKwargs((1, 2))-((1, 2), {})] PASSED [ 31%] tests/validators/test_arguments.py::test_default_factory[python-ArgsKwargs((1,))-((1,), {'b': 42})] PASSED [ 31%] tests/validators/test_arguments.py::test_default_factory[python-ArgsKwargs((1,), {'b': 3})-((1,), {'b': 3})] PASSED [ 31%] tests/validators/test_arguments.py::test_default_factory[python-ArgsKwargs((), {'a': 1})-((), {'a': 1, 'b': 42})] PASSED [ 31%] tests/validators/test_arguments.py::test_default_factory[json-ArgsKwargs((1, 2))-((1, 2), {})] SKIPPED [ 31%] tests/validators/test_arguments.py::test_default_factory[json-ArgsKwargs((1,))-((1,), {'b': 42})] SKIPPED [ 31%] tests/validators/test_arguments.py::test_default_factory[json-ArgsKwargs((1,), {'b': 3})-((1,), {'b': 3})] SKIPPED [ 31%] tests/validators/test_arguments.py::test_default_factory[json-ArgsKwargs((), {'a': 1})-((), {'a': 1, 'b': 42})] SKIPPED [ 31%] tests/validators/test_arguments.py::test_repr PASSED [ 31%] tests/validators/test_arguments.py::test_build_non_default_follows PASSED [ 31%] tests/validators/test_arguments.py::test_kwargs[python-ArgsKwargs((1, 2))-((1, 2), {})] PASSED [ 31%] tests/validators/test_arguments.py::test_kwargs[python-ArgsKwargs((1,), {'b': '4', 'c': 'a'})-((1,), {'b': 4, 'c': 'a'})] PASSED [ 31%] tests/validators/test_arguments.py::test_kwargs[python-ArgsKwargs((1, 2), {'x': 'abc'})-((1, 2), {'x': 'abc'})] PASSED [ 31%] tests/validators/test_arguments.py::test_kwargs[json-ArgsKwargs((1, 2))-((1, 2), {})] SKIPPED [ 31%] tests/validators/test_arguments.py::test_kwargs[json-ArgsKwargs((1,), {'b': '4', 'c': 'a'})-((1,), {'b': 4, 'c': 'a'})] SKIPPED [ 31%] tests/validators/test_arguments.py::test_kwargs[json-ArgsKwargs((1, 2), {'x': 'abc'})-((1, 2), {'x': 'abc'})] SKIPPED [ 31%] tests/validators/test_arguments.py::test_alias[python-ArgsKwargs((1,))-((1,), {})] PASSED [ 31%] tests/validators/test_arguments.py::test_alias[python-ArgsKwargs((), {'Foo': 1})-((), {'a': 1})] PASSED [ 31%] tests/validators/test_arguments.py::test_alias[python-ArgsKwargs((), {'a': 1})-Err('Foo\\n Missing required argument [type=missing_argument,')] PASSED [ 32%] tests/validators/test_arguments.py::test_alias[json-ArgsKwargs((1,))-((1,), {})] SKIPPED [ 32%] tests/validators/test_arguments.py::test_alias[json-ArgsKwargs((), {'Foo': 1})-((), {'a': 1})] SKIPPED [ 32%] tests/validators/test_arguments.py::test_alias[json-ArgsKwargs((), {'a': 1})-Err('Foo\\n Missing required argument [type=missing_argument,')] SKIPPED [ 32%] tests/validators/test_arguments.py::test_alias_populate_by_name[python-ArgsKwargs((1,))-((1,), {})] PASSED [ 32%] tests/validators/test_arguments.py::test_alias_populate_by_name[python-ArgsKwargs((), {'Foo': 1})-((), {'a': 1})] PASSED [ 32%] tests/validators/test_arguments.py::test_alias_populate_by_name[python-ArgsKwargs((), {'a': 1})-((), {'a': 1})] PASSED [ 32%] 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 [ 32%] 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 [ 32%] tests/validators/test_arguments.py::test_alias_populate_by_name[json-ArgsKwargs((1,))-((1,), {})] SKIPPED [ 32%] tests/validators/test_arguments.py::test_alias_populate_by_name[json-ArgsKwargs((), {'Foo': 1})-((), {'a': 1})] SKIPPED [ 32%] tests/validators/test_arguments.py::test_alias_populate_by_name[json-ArgsKwargs((), {'a': 1})-((), {'a': 1})] SKIPPED [ 32%] 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 [ 32%] 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 [ 32%] tests/validators/test_arguments.py::test_function_any PASSED [ 32%] tests/validators/test_arguments.py::test_function_types PASSED [ 32%] tests/validators/test_arguments.py::test_function_positional_only PASSED [ 32%] tests/validators/test_arguments.py::test_function_positional_only_default PASSED [ 32%] tests/validators/test_arguments.py::test_function_positional_kwargs PASSED [ 32%] tests/validators/test_arguments.py::test_function_args_kwargs PASSED [ 32%] tests/validators/test_arguments.py::test_invalid_schema PASSED [ 32%] tests/validators/test_arguments.py::test_error_display PASSED [ 32%] tests/validators/test_bool.py::test_bool[python-False-False] PASSED [ 32%] tests/validators/test_bool.py::test_bool[python-True-True] PASSED [ 32%] tests/validators/test_bool.py::test_bool[python-0-False] PASSED [ 32%] tests/validators/test_bool.py::test_bool[python-0.0-False] PASSED [ 32%] tests/validators/test_bool.py::test_bool[python-1-True] PASSED [ 32%] tests/validators/test_bool.py::test_bool[python-1.0-True] PASSED [ 32%] tests/validators/test_bool.py::test_bool[python-yes-True] PASSED [ 32%] tests/validators/test_bool.py::test_bool[python-no-False] PASSED [ 32%] tests/validators/test_bool.py::test_bool[python-true-True] PASSED [ 32%] tests/validators/test_bool.py::test_bool[python-false-False] PASSED [ 32%] tests/validators/test_bool.py::test_bool[python-cheese-expected10] PASSED [ 32%] tests/validators/test_bool.py::test_bool[python-2-expected11] PASSED [ 32%] tests/validators/test_bool.py::test_bool[python-input_value12-expected12] PASSED [ 32%] tests/validators/test_bool.py::test_bool[python-1.1-expected13] PASSED [ 32%] tests/validators/test_bool.py::test_bool[python-2-expected14] PASSED [ 32%] tests/validators/test_bool.py::test_bool[python-2.0-expected15] PASSED [ 32%] tests/validators/test_bool.py::test_bool[json-False-False] PASSED [ 32%] tests/validators/test_bool.py::test_bool[json-True-True] PASSED [ 32%] tests/validators/test_bool.py::test_bool[json-0-False] PASSED [ 32%] tests/validators/test_bool.py::test_bool[json-0.0-False] PASSED [ 32%] tests/validators/test_bool.py::test_bool[json-1-True] PASSED [ 32%] tests/validators/test_bool.py::test_bool[json-1.0-True] PASSED [ 32%] tests/validators/test_bool.py::test_bool[json-yes-True] PASSED [ 33%] tests/validators/test_bool.py::test_bool[json-no-False] PASSED [ 33%] tests/validators/test_bool.py::test_bool[json-true-True] PASSED [ 33%] tests/validators/test_bool.py::test_bool[json-false-False] PASSED [ 33%] tests/validators/test_bool.py::test_bool[json-cheese-expected10] PASSED [ 33%] tests/validators/test_bool.py::test_bool[json-2-expected11] PASSED [ 33%] tests/validators/test_bool.py::test_bool[json-input_value12-expected12] PASSED [ 33%] tests/validators/test_bool.py::test_bool[json-1.1-expected13] PASSED [ 33%] tests/validators/test_bool.py::test_bool[json-2-expected14] PASSED [ 33%] tests/validators/test_bool.py::test_bool[json-2.0-expected15] PASSED [ 33%] tests/validators/test_bool.py::test_bool_strict[python] PASSED [ 33%] tests/validators/test_bool.py::test_bool_strict[json] PASSED [ 33%] tests/validators/test_bool.py::test_bool_error PASSED [ 33%] tests/validators/test_bool.py::test_bool_repr PASSED [ 33%] tests/validators/test_bool.py::test_bool_key[python] PASSED [ 33%] tests/validators/test_bool.py::test_bool_key[json] PASSED [ 33%] tests/validators/test_bool.py::test_validate_assignment_not_supported PASSED [ 33%] tests/validators/test_bytes.py::test_strict_bytes_validator PASSED [ 33%] tests/validators/test_bytes.py::test_lax_bytes_validator PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes_python_bytes[opts0-foo-foo] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes_python_bytes[opts1-foo-foo] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes_python_bytes[opts2-foobar-expected2] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes_python_bytes[opts3-foo-foo] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes_python_bytes[opts4-f-expected4] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes_python_bytes[opts5-bytes?-bytes?] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes[python-opts0-foo-foo] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes[python-opts1-foo-foo] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes[python-opts2-foobar-expected2] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes[python-opts3-foo-foo] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes[python-opts4-f-expected4] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes[python-opts5-1-expected5] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes[python-opts6-1.0-expected6] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes[python-opts7-input7-expected7] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes[python-opts8-input8-expected8] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes[json-opts0-foo-foo] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes[json-opts1-foo-foo] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes[json-opts2-foobar-expected2] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes[json-opts3-foo-foo] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes[json-opts4-f-expected4] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes[json-opts5-1-expected5] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes[json-opts6-1.0-expected6] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes[json-opts7-input7-expected7] PASSED [ 33%] tests/validators/test_bytes.py::test_constrained_bytes[json-opts8-input8-expected8] PASSED [ 33%] tests/validators/test_bytes.py::test_union PASSED [ 33%] tests/validators/test_bytes.py::test_length_ctx PASSED [ 34%] tests/validators/test_call.py::test_function_call_arguments[python-input_value0-6] PASSED [ 34%] tests/validators/test_call.py::test_function_call_arguments[python-input_value1-3] PASSED [ 34%] tests/validators/test_call.py::test_function_call_arguments[python-input_value2-3] PASSED [ 34%] tests/validators/test_call.py::test_function_call_arguments[python-input_value3-expected3] PASSED [ 34%] tests/validators/test_call.py::test_function_call_arguments[python-input_value4-10] PASSED [ 34%] tests/validators/test_call.py::test_function_call_arguments[python-input_value5-expected5] PASSED [ 34%] tests/validators/test_call.py::test_function_call_arguments[json-input_value0-6] PASSED [ 34%] tests/validators/test_call.py::test_function_call_arguments[json-input_value1-3] PASSED [ 34%] tests/validators/test_call.py::test_function_call_arguments[json-input_value2-3] PASSED [ 34%] tests/validators/test_call.py::test_function_call_arguments[json-input_value3-expected3] PASSED [ 34%] tests/validators/test_call.py::test_function_call_arguments[json-input_value4-10] PASSED [ 34%] tests/validators/test_call.py::test_function_call_arguments[json-input_value5-expected5] PASSED [ 34%] tests/validators/test_call.py::test_function_args_any[input_value0-6] PASSED [ 34%] tests/validators/test_call.py::test_function_args_any[input_value1-6] PASSED [ 34%] tests/validators/test_call.py::test_function_args_any[input_value2-3] PASSED [ 34%] tests/validators/test_call.py::test_function_args_any[x-expected3] PASSED [ 34%] tests/validators/test_call.py::test_function_args_any[input_value4-expected4] PASSED [ 34%] tests/validators/test_call.py::test_function_args_any[input_value5-expected5] PASSED [ 34%] tests/validators/test_call.py::test_function_args_any[input_value6-expected6] PASSED [ 34%] tests/validators/test_call.py::test_function_return_any[input_value0-1] PASSED [ 34%] tests/validators/test_call.py::test_function_return_any[input_value1-abc] PASSED [ 34%] tests/validators/test_call.py::test_in_union PASSED [ 34%] tests/validators/test_call.py::test_dataclass PASSED [ 34%] tests/validators/test_call.py::test_named_tuple PASSED [ 34%] tests/validators/test_call.py::test_function_call_partial PASSED [ 34%] tests/validators/test_call.py::test_custom_name PASSED [ 34%] tests/validators/test_callable.py::test_callable PASSED [ 34%] tests/validators/test_callable.py::test_callable_cases[func-True] PASSED [ 34%] tests/validators/test_callable.py::test_callable_cases[-True0] PASSED [ 34%] tests/validators/test_callable.py::test_callable_cases[-True1] PASSED [ 34%] tests/validators/test_callable.py::test_callable_cases[dict-True] PASSED [ 34%] tests/validators/test_callable.py::test_callable_cases[Foo-True] PASSED [ 34%] tests/validators/test_callable.py::test_callable_cases[input_value5-False] PASSED [ 34%] tests/validators/test_callable.py::test_callable_cases[4-False] PASSED [ 34%] tests/validators/test_callable.py::test_callable_cases[ddd-False] PASSED [ 34%] tests/validators/test_callable.py::test_callable_cases[input_value8-False] PASSED [ 34%] tests/validators/test_callable.py::test_callable_cases[input_value9-False] PASSED [ 34%] tests/validators/test_callable.py::test_callable_cases[CallableClass-True] PASSED [ 34%] tests/validators/test_callable.py::test_callable_cases[input_value11-True] PASSED [ 34%] tests/validators/test_callable.py::test_repr PASSED [ 34%] tests/validators/test_chain.py::test_chain PASSED [ 34%] tests/validators/test_chain.py::test_chain_many PASSED [ 34%] tests/validators/test_chain.py::test_chain_error PASSED [ 34%] tests/validators/test_chain.py::test_json[python-1.44-expected0] PASSED [ 35%] tests/validators/test_chain.py::test_json[python-1-expected1] PASSED [ 35%] tests/validators/test_chain.py::test_json[python-1.44-expected2] PASSED [ 35%] tests/validators/test_chain.py::test_json[json-1.44-expected0] PASSED [ 35%] tests/validators/test_chain.py::test_json[json-1-expected1] PASSED [ 35%] tests/validators/test_chain.py::test_json[json-1.44-expected2] PASSED [ 35%] tests/validators/test_chain.py::test_flatten PASSED [ 35%] tests/validators/test_chain.py::test_chain_empty PASSED [ 35%] tests/validators/test_chain.py::test_chain_one PASSED [ 35%] tests/validators/test_custom_error.py::test_custom_error[python] PASSED [ 35%] tests/validators/test_custom_error.py::test_custom_error[json] PASSED [ 35%] tests/validators/test_custom_error.py::test_custom_error_type[python] PASSED [ 35%] tests/validators/test_custom_error.py::test_custom_error_type[json] PASSED [ 35%] tests/validators/test_custom_error.py::test_custom_error_error PASSED [ 35%] tests/validators/test_custom_error.py::test_custom_error_invalid PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args[python-input_value0-expected0] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args[python-input_value1-expected1] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args[python-input_value2-expected2] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args[python-input_value3-expected3] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args[python-input_value4-expected4] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args[python-input_value5-expected5] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args[python-input_value6-expected6] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args[json-input_value0-expected0] SKIPPED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args[json-input_value1-expected1] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args[json-input_value2-expected2] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args[json-input_value3-expected3] SKIPPED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args[json-input_value4-expected4] SKIPPED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args[json-input_value5-expected5] SKIPPED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args[json-input_value6-expected6] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[python-input_value0-expected0] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[python-input_value1-expected1] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[python-input_value2-expected2] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[python-input_value3-expected3] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[python-input_value4-expected4] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[python-input_value5-expected5] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[python-input_value6-expected6] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[json-input_value0-expected0] SKIPPED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[json-input_value1-expected1] SKIPPED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[json-input_value2-expected2] SKIPPED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[json-input_value3-expected3] SKIPPED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[json-input_value4-expected4] SKIPPED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[json-input_value5-expected5] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only[json-input_value6-expected6] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only_no_fields[python-input_value0-expected0] PASSED [ 35%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only_no_fields[python-input_value1-expected1] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only_no_fields[python-input_value2-expected2] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only_no_fields[json-input_value0-expected0] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only_no_fields[json-input_value1-expected1] SKIPPED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_args_init_only_no_fields[json-input_value2-expected2] PASSED [ 36%] tests/validators/test_dataclasses.py::test_aliases[python] PASSED [ 36%] tests/validators/test_dataclasses.py::test_aliases[json] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[always-input_value0-expected0] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[always-input_value1-expected1] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[always-input_value2-expected2] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[always-input_value3-expected3] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[always-input_value4-expected4] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[always-input_value5-expected5] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[subclass-instances-input_value6-expected6] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[subclass-instances-input_value7-expected7] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[subclass-instances-input_value8-expected8] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[subclass-instances-input_value9-expected9] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[subclass-instances-input_value10-expected10] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[subclass-instances-input_value11-expected11] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[subclass-instances-input_value12-expected12] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[subclass-instances-input_value13-expected13] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[never-input_value14-expected14] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[never-input_value15-expected15] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[never-input_value16-expected16] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[never-input_value17-expected17] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[never-input_value18-expected18] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass[never-input_value19-expected19] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass_strict_never_revalidate PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_subclass_subclass_revalidate PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_post_init PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_post_init_args PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_post_init_args_multiple PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_exact_validation[always-input_value0-expected0] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_exact_validation[always-input_value1-expected1] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_exact_validation[always-input_value2-expected2] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_exact_validation[never-input_value3-expected3] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_exact_validation[never-input_value4-expected4] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_exact_validation[never-input_value5-expected5] PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_field_after_validator PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_field_plain_validator PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_field_before_validator PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_field_wrap_validator1 PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_field_wrap_validator2 PASSED [ 36%] tests/validators/test_dataclasses.py::test_dataclass_self_init PASSED [ 37%] tests/validators/test_dataclasses.py::test_dataclass_self_init_alias PASSED [ 37%] tests/validators/test_dataclasses.py::test_dataclass_self_init_alias_field_name PASSED [ 37%] tests/validators/test_dataclasses.py::test_dataclass_self_init_post_init PASSED [ 37%] tests/validators/test_dataclasses.py::test_dataclass_validate_assignment PASSED [ 37%] tests/validators/test_dataclasses.py::test_validate_assignment_function PASSED [ 37%] tests/validators/test_dataclasses.py::test_frozen PASSED [ 37%] tests/validators/test_dataclasses.py::test_frozen_field PASSED [ 37%] tests/validators/test_dataclasses.py::test_extra_behavior_ignore[config0-schema_extra_behavior_kw0] PASSED [ 37%] tests/validators/test_dataclasses.py::test_extra_behavior_ignore[config1-schema_extra_behavior_kw1] PASSED [ 37%] tests/validators/test_dataclasses.py::test_extra_behavior_ignore[config2-schema_extra_behavior_kw2] PASSED [ 37%] tests/validators/test_dataclasses.py::test_extra_behavior_ignore[None-schema_extra_behavior_kw3] PASSED [ 37%] tests/validators/test_dataclasses.py::test_extra_behavior_ignore[config4-schema_extra_behavior_kw4] PASSED [ 37%] tests/validators/test_dataclasses.py::test_extra_behavior_forbid[config0-schema_extra_behavior_kw0] PASSED [ 37%] tests/validators/test_dataclasses.py::test_extra_behavior_forbid[config1-schema_extra_behavior_kw1] PASSED [ 37%] tests/validators/test_dataclasses.py::test_extra_behavior_forbid[config2-schema_extra_behavior_kw2] PASSED [ 37%] tests/validators/test_dataclasses.py::test_extra_behavior_forbid[None-schema_extra_behavior_kw3] PASSED [ 37%] tests/validators/test_dataclasses.py::test_extra_behavior_forbid[config4-schema_extra_behavior_kw4] PASSED [ 37%] tests/validators/test_dataclasses.py::test_extra_behavior_allow[config0-schema_extra_behavior_kw0] PASSED [ 37%] tests/validators/test_dataclasses.py::test_extra_behavior_allow[config1-schema_extra_behavior_kw1] PASSED [ 37%] tests/validators/test_dataclasses.py::test_extra_behavior_allow[config2-schema_extra_behavior_kw2] PASSED [ 37%] tests/validators/test_dataclasses.py::test_extra_behavior_allow[None-schema_extra_behavior_kw3] PASSED [ 37%] tests/validators/test_dataclasses.py::test_extra_behavior_allow[config4-schema_extra_behavior_kw4] PASSED [ 37%] tests/validators/test_dataclasses.py::test_function_validator_wrapping_args_schema_after PASSED [ 37%] tests/validators/test_dataclasses.py::test_function_validator_wrapping_args_schema_before PASSED [ 37%] tests/validators/test_dataclasses.py::test_function_validator_wrapping_args_schema_wrap PASSED [ 37%] tests/validators/test_dataclasses.py::test_custom_dataclass_names PASSED [ 37%] tests/validators/test_dataclasses.py::test_slots PASSED [ 37%] tests/validators/test_dataclasses.py::test_dataclass_slots_field_before_validator PASSED [ 37%] tests/validators/test_dataclasses.py::test_dataclass_slots_field_after_validator PASSED [ 37%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[always-input_value0-expected0] PASSED [ 37%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[always-input_value1-expected1] PASSED [ 37%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[always-input_value2-expected2] PASSED [ 37%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[always-input_value3-expected3] PASSED [ 37%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[always-input_value4-expected4] PASSED [ 37%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[subclass-instances-input_value5-expected5] PASSED [ 37%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[subclass-instances-input_value6-expected6] PASSED [ 37%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[subclass-instances-input_value7-expected7] PASSED [ 37%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[subclass-instances-input_value8-expected8] PASSED [ 37%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[subclass-instances-input_value9-expected9] PASSED [ 37%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[subclass-instances-input_value10-expected10] PASSED [ 37%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[subclass-instances-input_value11-expected11] PASSED [ 37%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[subclass-instances-input_value12-expected12] PASSED [ 37%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[never-input_value13-expected13] PASSED [ 37%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[never-input_value14-expected14] PASSED [ 38%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[never-input_value15-expected15] PASSED [ 38%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[never-input_value16-expected16] PASSED [ 38%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[never-input_value17-expected17] PASSED [ 38%] tests/validators/test_dataclasses.py::test_slots_dataclass_subclass[never-input_value18-expected18] PASSED [ 38%] tests/validators/test_dataclasses.py::test_slots_mixed PASSED [ 38%] tests/validators/test_dataclasses.py::test_dataclass_json PASSED [ 38%] tests/validators/test_dataclasses.py::test_dataclass_wrap_json PASSED [ 38%] tests/validators/test_dataclasses.py::test_leak_dataclass[None] PASSED [ 38%] tests/validators/test_dataclasses.py::test_leak_dataclass[field] PASSED [ 38%] tests/validators/test_dataclasses.py::test_leak_dataclass[dataclass] PASSED [ 38%] tests/validators/test_dataclasses.py::test_dataclass_args_init[input_value0-ignore-expected0] PASSED [ 38%] tests/validators/test_dataclasses.py::test_dataclass_args_init[input_value1-ignore-expected1] PASSED [ 38%] tests/validators/test_dataclasses.py::test_dataclass_args_init[input_value2-allow-expected2] PASSED [ 38%] tests/validators/test_dataclasses.py::test_dataclass_args_init[input_value3-forbid-expected3] PASSED [ 38%] tests/validators/test_dataclasses.py::test_dataclass_args_init[input_value4-forbid-expected4] PASSED [ 38%] tests/validators/test_dataclasses.py::test_dataclass_args_init[input_value5-allow-expected5] PASSED [ 38%] tests/validators/test_dataclasses.py::test_dataclass_args_init_with_default[input_value0-ignore-expected0] PASSED [ 38%] tests/validators/test_dataclasses.py::test_dataclass_args_init_with_default[input_value1-ignore-expected1] PASSED [ 38%] tests/validators/test_dataclasses.py::test_dataclass_args_init_with_default[input_value2-allow-expected2] PASSED [ 38%] tests/validators/test_dataclasses.py::test_dataclass_args_init_with_default[input_value3-forbid-expected3] PASSED [ 38%] tests/validators/test_dataclasses.py::test_dataclass_args_init_with_default[input_value4-forbid-expected4] PASSED [ 38%] tests/validators/test_dataclasses.py::test_dataclass_args_init_with_default[input_value5-allow-expected5] PASSED [ 38%] tests/validators/test_date.py::test_date[date] PASSED [ 38%] tests/validators/test_date.py::test_date[str] PASSED [ 38%] tests/validators/test_date.py::test_date[bytes] PASSED [ 38%] tests/validators/test_date.py::test_date[tuple] PASSED [ 38%] tests/validators/test_date.py::test_date[int] PASSED [ 38%] tests/validators/test_date.py::test_date[int-as-str] PASSED [ 38%] tests/validators/test_date.py::test_date[float] PASSED [ 38%] tests/validators/test_date.py::test_date[float-as-str] PASSED [ 38%] tests/validators/test_date.py::test_date[decimal] PASSED [ 38%] tests/validators/test_date.py::test_date[int-too-high] PASSED [ 38%] tests/validators/test_date.py::test_date[int-too-low] PASSED [ 38%] tests/validators/test_date.py::test_date[datetime-exact] PASSED [ 38%] tests/validators/test_date.py::test_date[datetime-inexact] PASSED [ 38%] tests/validators/test_date.py::test_date[int-inexact] PASSED [ 38%] tests/validators/test_date.py::test_date[float-inexact] PASSED [ 38%] tests/validators/test_date.py::test_date[int-str-inexact] PASSED [ 38%] tests/validators/test_date.py::test_date[float-str-inexact] PASSED [ 38%] tests/validators/test_date.py::test_date[bool] PASSED [ 38%] tests/validators/test_date.py::test_date[time] PASSED [ 38%] tests/validators/test_date.py::test_date[nan] PASSED [ 38%] tests/validators/test_date.py::test_date[inf] PASSED [ 38%] tests/validators/test_date.py::test_date[-inf] PASSED [ 39%] tests/validators/test_date.py::test_date[minus] PASSED [ 39%] tests/validators/test_date.py::test_date[pus] PASSED [ 39%] tests/validators/test_date.py::test_date_json[python-2022-06-08-expected0] PASSED [ 39%] tests/validators/test_date.py::test_date_json[python-1453-01-28-expected1] PASSED [ 39%] tests/validators/test_date.py::test_date_json[python-1654646400-expected2] PASSED [ 39%] tests/validators/test_date.py::test_date_json[python-1654646400.0-expected3] PASSED [ 39%] tests/validators/test_date.py::test_date_json[python-1654646401-expected4] PASSED [ 39%] tests/validators/test_date.py::test_date_json[python-wrong-expected5] PASSED [ 39%] tests/validators/test_date.py::test_date_json[python-2000-02-29-expected6] PASSED [ 39%] tests/validators/test_date.py::test_date_json[python-2001-02-29-expected7] PASSED [ 39%] tests/validators/test_date.py::test_date_json[python-input_value8-expected8] PASSED [ 39%] tests/validators/test_date.py::test_date_json[json-2022-06-08-expected0] PASSED [ 39%] tests/validators/test_date.py::test_date_json[json-1453-01-28-expected1] PASSED [ 39%] tests/validators/test_date.py::test_date_json[json-1654646400-expected2] PASSED [ 39%] tests/validators/test_date.py::test_date_json[json-1654646400.0-expected3] PASSED [ 39%] tests/validators/test_date.py::test_date_json[json-1654646401-expected4] PASSED [ 39%] tests/validators/test_date.py::test_date_json[json-wrong-expected5] PASSED [ 39%] tests/validators/test_date.py::test_date_json[json-2000-02-29-expected6] PASSED [ 39%] tests/validators/test_date.py::test_date_json[json-2001-02-29-expected7] PASSED [ 39%] tests/validators/test_date.py::test_date_json[json-input_value8-expected8] PASSED [ 39%] tests/validators/test_date.py::test_date_strict[strict-schema-datetime.date(2022, 6, 8)-datetime.date(2022, 6, 8)] PASSED [ 39%] tests/validators/test_date.py::test_date_strict[strict-schema-'2022-06-08'-Err('Input should be a valid date [type=date_type')] PASSED [ 39%] tests/validators/test_date.py::test_date_strict[strict-schema-b'2022-06-08'-Err('Input should be a valid date [type=date_type')] PASSED [ 39%] tests/validators/test_date.py::test_date_strict[strict-schema-1654646400-Err('Input should be a valid date [type=date_type')] PASSED [ 39%] tests/validators/test_date.py::test_date_strict[strict-schema-True-Err('Input should be a valid date [type=date_type')] PASSED [ 39%] tests/validators/test_date.py::test_date_strict[strict-schema-datetime.datetime(2022, 6, 8, 0, 0)-Err('Input should be a valid date [type=date_type')] PASSED [ 39%] tests/validators/test_date.py::test_date_strict[strict-extra-datetime.date(2022, 6, 8)-datetime.date(2022, 6, 8)] PASSED [ 39%] tests/validators/test_date.py::test_date_strict[strict-extra-'2022-06-08'-Err('Input should be a valid date [type=date_type')] PASSED [ 39%] tests/validators/test_date.py::test_date_strict[strict-extra-b'2022-06-08'-Err('Input should be a valid date [type=date_type')] PASSED [ 39%] tests/validators/test_date.py::test_date_strict[strict-extra-1654646400-Err('Input should be a valid date [type=date_type')] PASSED [ 39%] tests/validators/test_date.py::test_date_strict[strict-extra-True-Err('Input should be a valid date [type=date_type')] PASSED [ 39%] tests/validators/test_date.py::test_date_strict[strict-extra-datetime.datetime(2022, 6, 8, 0, 0)-Err('Input should be a valid date [type=date_type')] PASSED [ 39%] tests/validators/test_date.py::test_date_strict[strict-both-datetime.date(2022, 6, 8)-datetime.date(2022, 6, 8)] PASSED [ 39%] tests/validators/test_date.py::test_date_strict[strict-both-'2022-06-08'-Err('Input should be a valid date [type=date_type')] PASSED [ 39%] tests/validators/test_date.py::test_date_strict[strict-both-b'2022-06-08'-Err('Input should be a valid date [type=date_type')] PASSED [ 39%] tests/validators/test_date.py::test_date_strict[strict-both-1654646400-Err('Input should be a valid date [type=date_type')] PASSED [ 39%] tests/validators/test_date.py::test_date_strict[strict-both-True-Err('Input should be a valid date [type=date_type')] PASSED [ 39%] tests/validators/test_date.py::test_date_strict[strict-both-datetime.datetime(2022, 6, 8, 0, 0)-Err('Input should be a valid date [type=date_type')] PASSED [ 39%] tests/validators/test_date.py::test_date_strict_json[strict-schema-"2022-06-08"-expected0] PASSED [ 39%] tests/validators/test_date.py::test_date_strict_json[strict-schema-"foobar"-expected1] PASSED [ 39%] tests/validators/test_date.py::test_date_strict_json[strict-schema-1654646400-expected2] PASSED [ 39%] tests/validators/test_date.py::test_date_strict_json[strict-extra-"2022-06-08"-expected0] PASSED [ 39%] tests/validators/test_date.py::test_date_strict_json[strict-extra-"foobar"-expected1] PASSED [ 39%] tests/validators/test_date.py::test_date_strict_json[strict-extra-1654646400-expected2] PASSED [ 40%] tests/validators/test_date.py::test_date_strict_json[strict-both-"2022-06-08"-expected0] PASSED [ 40%] tests/validators/test_date.py::test_date_strict_json[strict-both-"foobar"-expected1] PASSED [ 40%] tests/validators/test_date.py::test_date_strict_json[strict-both-1654646400-expected2] PASSED [ 40%] tests/validators/test_date.py::test_date_strict_json_ctx PASSED [ 40%] tests/validators/test_date.py::test_date_kwargs[kwargs0-2000-01-01-expected0] PASSED [ 40%] tests/validators/test_date.py::test_date_kwargs[kwargs1-2000-01-01-expected1] PASSED [ 40%] tests/validators/test_date.py::test_date_kwargs[kwargs2-2000-01-02-expected2] PASSED [ 40%] tests/validators/test_date.py::test_date_kwargs[kwargs3-1999-12-31-expected3] PASSED [ 40%] tests/validators/test_date.py::test_date_kwargs[kwargs4-2000-01-01-expected4] PASSED [ 40%] tests/validators/test_date.py::test_date_kwargs[kwargs5-2000-01-01-expected5] PASSED [ 40%] tests/validators/test_date.py::test_date_kwargs[kwargs6-1999-12-31-expected6] PASSED [ 40%] tests/validators/test_date.py::test_date_kwargs[kwargs7-2000-01-02-expected7] PASSED [ 40%] tests/validators/test_date.py::test_date_kwargs[kwargs8-2000-01-01-expected8] PASSED [ 40%] tests/validators/test_date.py::test_invalid_constraint PASSED [ 40%] tests/validators/test_date.py::test_dict_py PASSED [ 40%] tests/validators/test_date.py::test_dict[python] PASSED [ 40%] tests/validators/test_date.py::test_dict[json] PASSED [ 40%] tests/validators/test_date.py::test_union PASSED [ 40%] tests/validators/test_date.py::test_date_past[python-2022-06-08-expected0] PASSED [ 40%] tests/validators/test_date.py::test_date_past[python-1654646400-expected1] PASSED [ 40%] tests/validators/test_date.py::test_date_past[python-2068-06-08-expected2] PASSED [ 40%] tests/validators/test_date.py::test_date_past[python-3105734400-expected3] PASSED [ 40%] tests/validators/test_date.py::test_date_past[json-2022-06-08-expected0] PASSED [ 40%] tests/validators/test_date.py::test_date_past[json-1654646400-expected1] PASSED [ 40%] tests/validators/test_date.py::test_date_past[json-2068-06-08-expected2] PASSED [ 40%] tests/validators/test_date.py::test_date_past[json-3105734400-expected3] PASSED [ 40%] tests/validators/test_date.py::test_date_future[python-2022-06-08-expected0] PASSED [ 40%] tests/validators/test_date.py::test_date_future[python-1654646400-expected1] PASSED [ 40%] tests/validators/test_date.py::test_date_future[python-2068-06-08-expected2] PASSED [ 40%] tests/validators/test_date.py::test_date_future[python-3105734400-expected3] PASSED [ 40%] tests/validators/test_date.py::test_date_future[json-2022-06-08-expected0] PASSED [ 40%] tests/validators/test_date.py::test_date_future[json-1654646400-expected1] PASSED [ 40%] tests/validators/test_date.py::test_date_future[json-2068-06-08-expected2] PASSED [ 40%] tests/validators/test_date.py::test_date_future[json-3105734400-expected3] PASSED [ 40%] tests/validators/test_date.py::test_date_past_future_today PASSED [ 40%] tests/validators/test_date.py::test_offset_too_large PASSED [ 40%] tests/validators/test_datetime.py::test_datetime[input_value0-expected0] PASSED [ 40%] tests/validators/test_datetime.py::test_datetime[input_value1-expected1] PASSED [ 40%] tests/validators/test_datetime.py::test_datetime[2022-01-01-expected2] PASSED [ 40%] tests/validators/test_datetime.py::test_datetime[2022-06-08T12:13:14-expected3] PASSED [ 40%] tests/validators/test_datetime.py::test_datetime[1000000000000-expected4] PASSED [ 40%] tests/validators/test_datetime.py::test_datetime[2022-06-08T12:13:14-expected5] PASSED [ 40%] tests/validators/test_datetime.py::test_datetime[2022-06-08T12:13:14Z-expected6] PASSED [ 40%] tests/validators/test_datetime.py::test_datetime[input_value7-expected7] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime[input_value8-expected8] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime[input_value9-expected9] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime[1654646400-expected10] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime[input_value11-expected11] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime[input_value12-expected12] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime[input_value13-expected13] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime[1654646400.1234568-expected14] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime[253402300800000-expected15] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime[-20000000000-expected16] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime[nan-expected17] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime[inf-expected18] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime[-inf-expected19] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime[--expected20] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime[+-expected21] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime[2022-02-30-expected22] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_strict[input_value0-expected0] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_strict[input_value1-expected1] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_strict[2022-06-08T12:13:14-expected2] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_strict[2022-06-08T12:13:14-expected3] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_strict[input_value4-expected4] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_strict[1654646400-expected5] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_strict[input_value6-expected6] PASSED [ 41%] tests/validators/test_datetime.py::test_keep_tz PASSED [ 41%] tests/validators/test_datetime.py::test_keep_tz_bound PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[python-2022-06-08T12:13:14-expected0] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[python-2022-06-08T12:13:14Z-expected1] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[python-2022-06-08T12:13:14+12:15-expected2] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[python-2022-06-08T12:13:14+23:59-expected3] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[python-1655205632-expected4] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[python-1655205632.331557-expected5] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[python-2022-06-08T12:13:14+24:00-expected6] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[python-True-expected7] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[python-None-expected8] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[python-input_value9-expected9] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[json-2022-06-08T12:13:14-expected0] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[json-2022-06-08T12:13:14Z-expected1] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[json-2022-06-08T12:13:14+12:15-expected2] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[json-2022-06-08T12:13:14+23:59-expected3] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[json-1655205632-expected4] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[json-1655205632.331557-expected5] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[json-2022-06-08T12:13:14+24:00-expected6] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[json-True-expected7] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[json-None-expected8] PASSED [ 41%] tests/validators/test_datetime.py::test_datetime_json[json-input_value9-expected9] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_strict_json[2022-06-08T12:13:14-expected0] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_strict_json[2022-06-08T12:13:14Z-expected1] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_strict_json[123-expected2] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_strict_json[123.4-expected3] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_strict_json[True-expected4] PASSED [ 42%] tests/validators/test_datetime.py::test_custom_timezone_repr PASSED [ 42%] tests/validators/test_datetime.py::test_custom_timezone_utc_repr PASSED [ 42%] tests/validators/test_datetime.py::test_tz_comparison PASSED [ 42%] tests/validators/test_datetime.py::test_tz_info_deepcopy PASSED [ 42%] tests/validators/test_datetime.py::test_tz_info_copy PASSED [ 42%] tests/validators/test_datetime.py::test_custom_tz PASSED [ 42%] tests/validators/test_datetime.py::test_custom_invalid_tz PASSED [ 42%] tests/validators/test_datetime.py::test_dict_py PASSED [ 42%] tests/validators/test_datetime.py::test_dict[python] PASSED [ 42%] tests/validators/test_datetime.py::test_dict[json] PASSED [ 42%] tests/validators/test_datetime.py::test_union PASSED [ 42%] tests/validators/test_datetime.py::test_invalid_constraint PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_past[python-2022-06-08T12:13:14-expected0] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_past[python-2022-06-08T12:13:14Z-expected1] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_past[python-1655205632-expected2] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_past[python-2068-06-08T12:13:14-expected3] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_past[python-3105730800-expected4] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_past[json-2022-06-08T12:13:14-expected0] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_past[json-2022-06-08T12:13:14Z-expected1] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_past[json-1655205632-expected2] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_past[json-2068-06-08T12:13:14-expected3] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_past[json-3105730800-expected4] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_past_timezone PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_future[python-2068-06-08T12:13:14-expected0] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_future[python-2068-06-08T12:13:14Z-expected1] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_future[python-3105730800-expected2] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_future[python-2022-06-08T12:13:14-expected3] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_future[python-1655205632-expected4] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_future[json-2068-06-08T12:13:14-expected0] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_future[json-2068-06-08T12:13:14Z-expected1] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_future[json-3105730800-expected2] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_future[json-2022-06-08T12:13:14-expected3] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_future[json-1655205632-expected4] PASSED [ 42%] tests/validators/test_datetime.py::test_datetime_future_timezone PASSED [ 42%] tests/validators/test_datetime.py::test_mock_utc_offset_8_hours PASSED [ 42%] tests/validators/test_datetime.py::test_offset_too_large PASSED [ 42%] tests/validators/test_datetime.py::test_raises_schema_error_for_unknown_constraint_kind PASSED [ 42%] tests/validators/test_datetime.py::test_aware PASSED [ 42%] tests/validators/test_datetime.py::test_naive PASSED [ 43%] tests/validators/test_datetime.py::test_aware_specific PASSED [ 43%] tests/validators/test_datetime.py::test_neg_7200 PASSED [ 43%] tests/validators/test_datetime.py::test_tz_constraint_too_high PASSED [ 43%] tests/validators/test_datetime.py::test_tz_constraint_wrong PASSED [ 43%] tests/validators/test_datetime.py::test_tz_hash PASSED [ 43%] tests/validators/test_datetime.py::test_tz_cmp PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-0-expected0] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-1-expected1] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-42-expected2] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-42-expected3] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-42.123-expected4] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-42.0-expected5] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-42.5-expected6] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-10000000000.0-expected7] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-input_value8-expected8] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-input_value9-expected9] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-input_value10-expected10] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-input_value11-expected11] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-input_value12-expected12] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-input_value13-expected13] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-input_value14-expected14] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-True-expected15] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-False-expected16] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-wrong-expected17] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[python-input_value18-expected18] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-0-expected0] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-1-expected1] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-42-expected2] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-42-expected3] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-42.123-expected4] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-42.0-expected5] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-42.5-expected6] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-10000000000.0-expected7] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-input_value8-expected8] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-input_value9-expected9] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-input_value10-expected10] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-input_value11-expected11] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-input_value12-expected12] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-input_value13-expected13] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-input_value14-expected14] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-True-expected15] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-False-expected16] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-wrong-expected17] PASSED [ 43%] tests/validators/test_decimal.py::test_decimal[json-input_value18-expected18] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_strict_py[Decimal('0')-Decimal('0')] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_strict_py[Decimal('1')-Decimal('1')] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_strict_py[Decimal('42')-Decimal('42')] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_strict_py[Decimal('42.0')-Decimal('42.0')] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_strict_py[Decimal('42.5')-Decimal('42.5')] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_strict_py[42.0-Err('Input should be an instance of Decimal [type=is_instance_of, input_value=42.0, input_type=float]')] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_strict_py['42'-Err("Input should be an instance of Decimal [type=is_instance_of, input_value='42', input_type=str]")] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_strict_py[42-Err('Input should be an instance of Decimal [type=is_instance_of, input_value=42, input_type=int]')] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_strict_py[True-Err('Input should be an instance of Decimal [type=is_instance_of, input_value=True, input_type=bool]')] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_strict_json[0-Decimal('0')] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_strict_json[1-Decimal('1')] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_strict_json[42-Decimal('42')] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_strict_json['42.0'-Decimal('42.0')] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_strict_json['42.5'-Decimal('42.5')] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_strict_json[42.0-Decimal('42.0')] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_strict_json['42'-Decimal('42')] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_strict_json[True-Err('Decimal input should be an integer, float, string or Decimal object [type=decimal_type, input_value=True, input_type=bool]')] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[python-kwargs0-0-expected0] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[python-kwargs1-123.456-expected1] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[python-kwargs2-0-expected2] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[python-kwargs3--0.1-expected3] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[python-kwargs4-0.1-expected4] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[python-kwargs5-0-expected5] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[python-kwargs6-0-expected6] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[python-kwargs7--1-expected7] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[python-kwargs8-0.1-expected8] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[python-kwargs9-nan-expected9] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[python-kwargs10-inf-expected10] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[python-kwargs11--inf-expected11] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[python-kwargs12-nan-expected12] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[python-kwargs13-0-expected13] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[python-kwargs14-1-expected14] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[json-kwargs0-0-expected0] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[json-kwargs1-123.456-expected1] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[json-kwargs2-0-expected2] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[json-kwargs3--0.1-expected3] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[json-kwargs4-0.1-expected4] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[json-kwargs5-0-expected5] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[json-kwargs6-0-expected6] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[json-kwargs7--1-expected7] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[json-kwargs8-0.1-expected8] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[json-kwargs9-nan-expected9] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[json-kwargs10-inf-expected10] PASSED [ 44%] tests/validators/test_decimal.py::test_decimal_kwargs[json-kwargs11--inf-expected11] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_kwargs[json-kwargs12-nan-expected12] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_kwargs[json-kwargs13-0-expected13] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_kwargs[json-kwargs14-1-expected14] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[python-0.5-0.5-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[python-0.5-1-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[python-0.5-0.6-Err('Input should be a multiple of 0.5')] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[python-0.5-0.51-Err('Input should be a multiple of 0.5')] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[python-0.5-0.501-Err('Input should be a multiple of 0.5')] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[python-0.5-1000000.5-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[python-0.5-1000000.49-Err('Input should be a multiple of 0.5')] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[python-0.1-0-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[python-0.1-0.0-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[python-0.1-0.2-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[python-0.1-0.3-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[python-0.1-0.4-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[python-0.1-0.5-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[python-0.1-0.5001-Err('Input should be a multiple of 0.1')] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[python-0.1-1-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[python-0.1-1.0-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[python-0.1-50000000000-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[python-2.0--2.0-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[json-0.5-0.5-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[json-0.5-1-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[json-0.5-0.6-Err('Input should be a multiple of 0.5')] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[json-0.5-0.51-Err('Input should be a multiple of 0.5')] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[json-0.5-0.501-Err('Input should be a multiple of 0.5')] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[json-0.5-1000000.5-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[json-0.5-1000000.49-Err('Input should be a multiple of 0.5')] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[json-0.1-0-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[json-0.1-0.0-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[json-0.1-0.2-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[json-0.1-0.3-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[json-0.1-0.4-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[json-0.1-0.5-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[json-0.1-0.5001-Err('Input should be a multiple of 0.1')] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[json-0.1-1-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[json-0.1-1.0-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[json-0.1-50000000000-None] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_multiple_of[json-2.0--2.0-None] PASSED [ 45%] tests/validators/test_decimal.py::test_union_decimal_py PASSED [ 45%] tests/validators/test_decimal.py::test_union_decimal_json PASSED [ 45%] tests/validators/test_decimal.py::test_union_decimal_simple[python] PASSED [ 45%] tests/validators/test_decimal.py::test_union_decimal_simple[json] PASSED [ 45%] tests/validators/test_decimal.py::test_decimal_repr PASSED [ 46%] tests/validators/test_decimal.py::test_decimal_not_json[input_value0-expected0] PASSED [ 46%] tests/validators/test_decimal.py::test_decimal_not_json[input_value1-expected1] PASSED [ 46%] tests/validators/test_decimal.py::test_decimal_nan[python] PASSED [ 46%] tests/validators/test_decimal.py::test_decimal_nan[json] PASSED [ 46%] tests/validators/test_decimal.py::test_decimal_key[python] PASSED [ 46%] tests/validators/test_decimal.py::test_decimal_key[json] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[python-NaN-True-expected0] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[python-NaN-False-expected1] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[python-+inf-True-expected2] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[python-+inf-False-expected3] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[python-+infinity-True-expected4] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[python-+infinity-False-expected5] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[python--inf-True-expected6] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[python--inf-False-expected7] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[python--infinity-True-expected8] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[python--infinity-False-expected9] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[python-0.7-True-expected10] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[python-0.7-False-expected11] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[python-pika-True-expected12] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[python-pika-False-expected13] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[json-NaN-True-expected0] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[json-NaN-False-expected1] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[json-+inf-True-expected2] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[json-+inf-False-expected3] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[json-+infinity-True-expected4] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[json-+infinity-False-expected5] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[json--inf-True-expected6] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[json--inf-False-expected7] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[json--infinity-True-expected8] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[json--infinity-False-expected9] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[json-0.7-True-expected10] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[json-0.7-False-expected11] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[json-pika-True-expected12] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_json_values[json-pika-False-expected13] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_decimal_values[input_value0-True-expected0-True] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_decimal_values[input_value0-True-expected0-False] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_decimal_values[input_value1-False-expected1-True] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_decimal_values[input_value1-False-expected1-False] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_constrained_decimal_values[input_value0-True-expected0] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_constrained_decimal_values[input_value1-False-expected1] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_constrained_decimal_values[input_value2-True-expected2] PASSED [ 46%] tests/validators/test_decimal.py::test_non_finite_constrained_decimal_values[input_value3-False-expected3] PASSED [ 46%] tests/validators/test_decimal.py::test_validate_scientific_notation_from_json[1.0e-12-expected0] PASSED [ 46%] tests/validators/test_decimal.py::test_validate_scientific_notation_from_json[1e-12-expected1] PASSED [ 47%] tests/validators/test_decimal.py::test_validate_scientific_notation_from_json[12e-1-expected2] PASSED [ 47%] tests/validators/test_decimal.py::test_validate_scientific_notation_from_json[1.0E-12-expected3] PASSED [ 47%] tests/validators/test_decimal.py::test_validate_scientific_notation_from_json[1E-12-expected4] PASSED [ 47%] tests/validators/test_decimal.py::test_validate_scientific_notation_from_json[12E-1-expected5] PASSED [ 47%] tests/validators/test_decimal.py::test_validate_scientific_notation_from_json[1.0e+12-expected6] PASSED [ 47%] tests/validators/test_decimal.py::test_validate_scientific_notation_from_json[1e+12-expected7] PASSED [ 47%] tests/validators/test_decimal.py::test_validate_scientific_notation_from_json[12e+1-expected8] PASSED [ 47%] tests/validators/test_decimal.py::test_validate_scientific_notation_from_json[1.0E+12-expected9] PASSED [ 47%] tests/validators/test_decimal.py::test_validate_scientific_notation_from_json[1E+12-expected10] PASSED [ 47%] tests/validators/test_decimal.py::test_validate_scientific_notation_from_json[12E+1-expected11] PASSED [ 47%] tests/validators/test_decimal.py::test_validate_scientific_notation_from_json[1.0e12-expected12] PASSED [ 47%] tests/validators/test_decimal.py::test_validate_scientific_notation_from_json[1e12-expected13] PASSED [ 47%] tests/validators/test_decimal.py::test_validate_scientific_notation_from_json[12e1-expected14] PASSED [ 47%] tests/validators/test_decimal.py::test_validate_scientific_notation_from_json[1.0E12-expected15] PASSED [ 47%] tests/validators/test_decimal.py::test_validate_scientific_notation_from_json[1E12-expected16] PASSED [ 47%] tests/validators/test_decimal.py::test_validate_scientific_notation_from_json[12E1-expected17] PASSED [ 47%] tests/validators/test_decimal.py::test_validate_max_digits_and_decimal_places PASSED [ 47%] tests/validators/test_decimal.py::test_validate_max_digits_and_decimal_places_edge_case PASSED [ 47%] tests/validators/test_definitions.py::test_list_with_def PASSED [ 47%] tests/validators/test_definitions.py::test_ignored_def PASSED [ 47%] tests/validators/test_definitions.py::test_extract_used_refs_ignores_metadata PASSED [ 47%] tests/validators/test_definitions.py::test_check_ref_used_ignores_metadata PASSED [ 47%] tests/validators/test_definitions.py::test_def_error PASSED [ 47%] tests/validators/test_definitions.py::test_dict_repeat PASSED [ 47%] tests/validators/test_definitions.py::test_repeated_ref PASSED [ 47%] tests/validators/test_definitions.py::test_repeat_after PASSED [ 47%] tests/validators/test_definitions.py::test_deep PASSED [ 47%] tests/validators/test_definitions.py::test_use_after PASSED [ 47%] tests/validators/test_definitions.py::test_definition_chain PASSED [ 47%] tests/validators/test_definitions_recursive.py::test_branch_nullable PASSED [ 47%] tests/validators/test_definitions_recursive.py::test_unused_ref PASSED [ 47%] tests/validators/test_definitions_recursive.py::test_nullable_error PASSED [ 47%] tests/validators/test_definitions_recursive.py::test_list PASSED [ 47%] tests/validators/test_definitions_recursive.py::test_multiple_intertwined PASSED [ 47%] tests/validators/test_definitions_recursive.py::test_model_class PASSED [ 47%] tests/validators/test_definitions_recursive.py::test_invalid_schema PASSED [ 47%] tests/validators/test_definitions_recursive.py::test_outside_parent PASSED [ 47%] tests/validators/test_definitions_recursive.py::test_recursion_branch PASSED [ 47%] tests/validators/test_definitions_recursive.py::test_recursion_branch_from_attributes PASSED [ 47%] tests/validators/test_definitions_recursive.py::test_definition_list PASSED [ 47%] tests/validators/test_definitions_recursive.py::test_multiple_tuple_param[input_value0-expected0] PASSED [ 47%] tests/validators/test_definitions_recursive.py::test_multiple_tuple_param[input_value1-expected1] PASSED [ 47%] tests/validators/test_definitions_recursive.py::test_multiple_tuple_param[input_value2-expected2] PASSED [ 47%] tests/validators/test_definitions_recursive.py::test_multiple_tuple_param[input_value3-expected3] PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_multiple_tuple_param[input_value4-expected4] PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_multiple_tuple_repeat PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_multiple_tuple_recursion PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_multiple_tuple_recursion_once PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_definition_wrap PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_union_ref_strictness PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_union_container_strictness PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_union_cycle[strict=True] PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_union_cycle[strict=False] PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_function_name PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_function_change_id[strict=True] PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_function_change_id[strict=False] PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_many_uses_of_ref PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_error_inside_definition_wrapper PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_recursive_definitions_schema PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_unsorted_definitions_schema PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_validate_assignment PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_cyclic_data PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_cyclic_data_threeway PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_complex_recursive_type PASSED [ 48%] tests/validators/test_definitions_recursive.py::test_no_exponential_blowup PASSED [ 48%] tests/validators/test_dict.py::test_dict[python] PASSED [ 48%] tests/validators/test_dict.py::test_dict[json] PASSED [ 48%] tests/validators/test_dict.py::test_dict_cases[{'1': b'1', '2': b'2'}-{'1': '1', '2': '2'}] PASSED [ 48%] tests/validators/test_dict.py::test_dict_cases[OrderedDict([('a', b'1'), ('b', '2')])-{'a': '1', 'b': '2'}] PASSED [ 48%] tests/validators/test_dict.py::test_dict_cases[{}-{}] PASSED [ 48%] 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 [ 48%] tests/validators/test_dict.py::test_dict_cases[[]-Err('Input should be a valid dictionary [type=dict_type,')] PASSED [ 48%] tests/validators/test_dict.py::test_dict_cases[[('x', 'y')]-Err('Input should be a valid dictionary [type=dict_type,')] PASSED [ 48%] tests/validators/test_dict.py::test_dict_cases[[('x', 'y'), ('z', 'z')]-Err('Input should be a valid dictionary [type=dict_type,')] PASSED [ 48%] tests/validators/test_dict.py::test_dict_cases[()-Err('Input should be a valid dictionary [type=dict_type,')] PASSED [ 48%] tests/validators/test_dict.py::test_dict_cases[(('x', 'y'),)-Err('Input should be a valid dictionary [type=dict_type,')] PASSED [ 48%] tests/validators/test_dict.py::test_dict_cases[-Err('Input should be a valid dictionary [type=dict_type,')] PASSED [ 48%] tests/validators/test_dict.py::test_dict_value_error[python] PASSED [ 48%] tests/validators/test_dict.py::test_dict_value_error[json] PASSED [ 48%] tests/validators/test_dict.py::test_dict_error_key_int PASSED [ 48%] tests/validators/test_dict.py::test_dict_error_key_other PASSED [ 48%] tests/validators/test_dict.py::test_dict_any_value PASSED [ 48%] tests/validators/test_dict.py::test_mapping PASSED [ 48%] tests/validators/test_dict.py::test_key_error PASSED [ 48%] tests/validators/test_dict.py::test_mapping_error PASSED [ 48%] tests/validators/test_dict.py::test_mapping_error_yield_1[mapping_items0] PASSED [ 48%] tests/validators/test_dict.py::test_mapping_error_yield_1[mapping_items1] PASSED [ 48%] tests/validators/test_dict.py::test_mapping_error_yield_1[mapping_items2] PASSED [ 49%] tests/validators/test_dict.py::test_mapping_error_yield_1[not list] PASSED [ 49%] tests/validators/test_dict.py::test_dict_length_constraints[kwargs0-input_value0-expected0] PASSED [ 49%] tests/validators/test_dict.py::test_dict_length_constraints[kwargs1-input_value1-expected1] PASSED [ 49%] tests/validators/test_dict.py::test_dict_length_constraints[kwargs2-input_value2-expected2] PASSED [ 49%] tests/validators/test_dict.py::test_dict_length_constraints[kwargs3-input_value3-expected3] PASSED [ 49%] tests/validators/test_dict.py::test_dict_length_constraints[kwargs4-input_value4-expected4] PASSED [ 49%] tests/validators/test_dict.py::test_json_dict PASSED [ 49%] tests/validators/test_enums.py::test_plain_enum PASSED [ 49%] tests/validators/test_enums.py::test_int_enum PASSED [ 49%] tests/validators/test_enums.py::test_str_enum PASSED [ 49%] tests/validators/test_enums.py::test_float_enum PASSED [ 49%] tests/validators/test_enums.py::test_enum_missing PASSED [ 49%] tests/validators/test_enums.py::test_enum_missing_none PASSED [ 49%] tests/validators/test_enums.py::test_enum_missing_wrong PASSED [ 49%] tests/validators/test_enums.py::test_enum_exactness PASSED [ 49%] tests/validators/test_enums.py::test_plain_enum_lists PASSED [ 49%] tests/validators/test_enums.py::test_plain_enum_empty PASSED [ 49%] tests/validators/test_float.py::test_float[python-0-0] PASSED [ 49%] tests/validators/test_float.py::test_float[python-1-1] PASSED [ 49%] tests/validators/test_float.py::test_float[python-42-42_0] PASSED [ 49%] tests/validators/test_float.py::test_float[python-42-42_1] PASSED [ 49%] tests/validators/test_float.py::test_float[python- 42.1 -42.1] PASSED [ 49%] tests/validators/test_float.py::test_float[python-42.123-42.123] PASSED [ 49%] tests/validators/test_float.py::test_float[python-42.0-42] PASSED [ 49%] tests/validators/test_float.py::test_float[python-42.5-42.5] PASSED [ 49%] tests/validators/test_float.py::test_float[python-10000000000.0-10000000000.0] PASSED [ 49%] tests/validators/test_float.py::test_float[python-True-1] PASSED [ 49%] tests/validators/test_float.py::test_float[python-False-0] PASSED [ 49%] tests/validators/test_float.py::test_float[python-wrong-expected11] PASSED [ 49%] tests/validators/test_float.py::test_float[python-input_value12-expected12] PASSED [ 49%] tests/validators/test_float.py::test_float[json-0-0] PASSED [ 49%] tests/validators/test_float.py::test_float[json-1-1] PASSED [ 49%] tests/validators/test_float.py::test_float[json-42-42_0] PASSED [ 49%] tests/validators/test_float.py::test_float[json-42-42_1] PASSED [ 49%] tests/validators/test_float.py::test_float[json- 42.1 -42.1] PASSED [ 49%] tests/validators/test_float.py::test_float[json-42.123-42.123] PASSED [ 49%] tests/validators/test_float.py::test_float[json-42.0-42] PASSED [ 49%] tests/validators/test_float.py::test_float[json-42.5-42.5] PASSED [ 49%] tests/validators/test_float.py::test_float[json-10000000000.0-10000000000.0] PASSED [ 49%] tests/validators/test_float.py::test_float[json-True-1] PASSED [ 49%] tests/validators/test_float.py::test_float[json-False-0] PASSED [ 49%] tests/validators/test_float.py::test_float[json-wrong-expected11] PASSED [ 49%] tests/validators/test_float.py::test_float[json-input_value12-expected12] PASSED [ 49%] tests/validators/test_float.py::test_float_strict[python-0-0] PASSED [ 50%] tests/validators/test_float.py::test_float_strict[python-1-1] PASSED [ 50%] tests/validators/test_float.py::test_float_strict[python-42-42] PASSED [ 50%] tests/validators/test_float.py::test_float_strict[python-42.0-42.0] PASSED [ 50%] tests/validators/test_float.py::test_float_strict[python-42.5-42.5] PASSED [ 50%] 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 [ 50%] 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 [ 50%] tests/validators/test_float.py::test_float_strict[json-0-0] PASSED [ 50%] tests/validators/test_float.py::test_float_strict[json-1-1] PASSED [ 50%] tests/validators/test_float.py::test_float_strict[json-42-42] PASSED [ 50%] tests/validators/test_float.py::test_float_strict[json-42.0-42.0] PASSED [ 50%] tests/validators/test_float.py::test_float_strict[json-42.5-42.5] PASSED [ 50%] 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 [ 50%] 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 [ 50%] tests/validators/test_float.py::test_float_kwargs[python-kwargs0-0-0] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[python-kwargs1-123.456-123.456] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[python-kwargs2-0-0] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[python-kwargs3--0.1-expected3] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[python-kwargs4-0.1-0.1] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[python-kwargs5-0-expected5] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[python-kwargs6-0-0] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[python-kwargs7--1--1] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[python-kwargs8-0.1-expected8] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[python-kwargs9-0-expected9] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[python-kwargs10-1-expected10] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[python-kwargs11-nan-expected11] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[python-kwargs12-inf-inf] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[json-kwargs0-0-0] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[json-kwargs1-123.456-123.456] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[json-kwargs2-0-0] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[json-kwargs3--0.1-expected3] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[json-kwargs4-0.1-0.1] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[json-kwargs5-0-expected5] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[json-kwargs6-0-0] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[json-kwargs7--1--1] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[json-kwargs8-0.1-expected8] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[json-kwargs9-0-expected9] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[json-kwargs10-1-expected10] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[json-kwargs11-nan-expected11] PASSED [ 50%] tests/validators/test_float.py::test_float_kwargs[json-kwargs12-inf-inf] PASSED [ 50%] tests/validators/test_float.py::test_float_multiple_of[python-0.5-0.5-None] PASSED [ 50%] tests/validators/test_float.py::test_float_multiple_of[python-0.5-1-None] PASSED [ 50%] tests/validators/test_float.py::test_float_multiple_of[python-0.5-0.6-Err('Input should be a multiple of 0.5')] PASSED [ 50%] tests/validators/test_float.py::test_float_multiple_of[python-0.5-0.51-Err('Input should be a multiple of 0.5')] PASSED [ 50%] tests/validators/test_float.py::test_float_multiple_of[python-0.5-0.501-Err('Input should be a multiple of 0.5')] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[python-0.5-1000000.5-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[python-0.5-1000000.49-Err('Input should be a multiple of 0.5')] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-0-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-0.0-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-0.2-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-0.3-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-0.4-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-0.5-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-0.5001-Err('Input should be a multiple of 0.1')] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-1-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-1.0-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[python-0.1-50000000000-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[python-2.0--2.0-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[json-0.5-0.5-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[json-0.5-1-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[json-0.5-0.6-Err('Input should be a multiple of 0.5')] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[json-0.5-0.51-Err('Input should be a multiple of 0.5')] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[json-0.5-0.501-Err('Input should be a multiple of 0.5')] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[json-0.5-1000000.5-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[json-0.5-1000000.49-Err('Input should be a multiple of 0.5')] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-0-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-0.0-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-0.2-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-0.3-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-0.4-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-0.5-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-0.5001-Err('Input should be a multiple of 0.1')] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-1-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-1.0-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[json-0.1-50000000000-None] PASSED [ 51%] tests/validators/test_float.py::test_float_multiple_of[json-2.0--2.0-None] PASSED [ 51%] tests/validators/test_float.py::test_union_float[python] PASSED [ 51%] tests/validators/test_float.py::test_union_float[json] PASSED [ 51%] tests/validators/test_float.py::test_union_float_simple[python] PASSED [ 51%] tests/validators/test_float.py::test_union_float_simple[json] PASSED [ 51%] tests/validators/test_float.py::test_float_repr PASSED [ 51%] tests/validators/test_float.py::test_float_not_json[input_value0-1.23] PASSED [ 51%] tests/validators/test_float.py::test_float_not_json[input_value1-1.0] PASSED [ 51%] tests/validators/test_float.py::test_float_nan[python] PASSED [ 51%] tests/validators/test_float.py::test_float_nan[json] PASSED [ 51%] tests/validators/test_float.py::test_float_key[python] PASSED [ 51%] tests/validators/test_float.py::test_float_key[json] PASSED [ 51%] tests/validators/test_float.py::test_non_finite_json_values[python-NaN-True-expected0] PASSED [ 51%] tests/validators/test_float.py::test_non_finite_json_values[python-NaN-False-expected1] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[python-+inf-True-expected2] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[python-inf-True-expected3] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[python-+inf-False-expected4] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[python-+infinity-True-expected5] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[python-+infinity-False-expected6] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[python--inf-True-expected7] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[python--inf-False-expected8] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[python--infinity-True-expected9] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[python--infinity-False-expected10] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[python-0.7-True-0.7] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[python-0.7-False-0.7] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[python-pika-True-expected13] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[python-pika-False-expected14] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[json-NaN-True-expected0] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[json-NaN-False-expected1] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[json-+inf-True-expected2] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[json-inf-True-expected3] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[json-+inf-False-expected4] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[json-+infinity-True-expected5] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[json-+infinity-False-expected6] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[json--inf-True-expected7] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[json--inf-False-expected8] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[json--infinity-True-expected9] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[json--infinity-False-expected10] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[json-0.7-True-0.7] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[json-0.7-False-0.7] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[json-pika-True-expected13] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_json_values[json-pika-False-expected14] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_float_values[nan-True-expected0-True] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_float_values[nan-True-expected0-False] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_float_values[nan-False-expected1-True] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_float_values[nan-False-expected1-False] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_constrained_float_values[inf-True-expected0] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_constrained_float_values[inf-False-expected1] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_constrained_float_values[-inf-True-expected2] PASSED [ 52%] tests/validators/test_float.py::test_non_finite_constrained_float_values[-inf-False-expected3] PASSED [ 52%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1.0e-12-1e-12] PASSED [ 52%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1e-12-1e-12] PASSED [ 52%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[12e-1-1.2] PASSED [ 52%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1.0E-12-1e-12] PASSED [ 52%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1E-12-1e-12] PASSED [ 52%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[12E-1-1.2] PASSED [ 52%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1.0e+12-1000000000000.0] PASSED [ 52%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1e+12-1000000000000.0] PASSED [ 53%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[12e+1-120.0] PASSED [ 53%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1.0E+12-1000000000000.0] PASSED [ 53%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1E+12-1000000000000.0] PASSED [ 53%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[12E+1-120.0] PASSED [ 53%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1.0e12-1000000000000.0] PASSED [ 53%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1e12-1000000000000.0] PASSED [ 53%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[12e1-120.0] PASSED [ 53%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1.0E12-1000000000000.0] PASSED [ 53%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[1E12-1000000000000.0] PASSED [ 53%] tests/validators/test_float.py::test_validate_scientific_notation_from_json[12E1-120.0] PASSED [ 53%] tests/validators/test_float.py::test_string_with_underscores PASSED [ 53%] tests/validators/test_float.py::test_allow_inf_nan_true_json PASSED [ 53%] tests/validators/test_float.py::test_allow_inf_nan_false_json PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_ints_both[python-input_value0-expected0] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_ints_both[python-input_value1-expected1] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_ints_both[python-input_value2-expected2] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_ints_both[python-input_value3-expected3] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_ints_both[json-input_value0-expected0] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_ints_both[json-input_value1-expected1] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_ints_both[json-input_value2-expected2] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_ints_both[json-input_value3-expected3] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_any[input_value0-expected0] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_any[input_value1-expected1] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_any[input_value2-expected2] PASSED [ 53%] tests/validators/test_frozenset.py::test_no_copy PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[python-input_value0-expected0] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[python-foo-expected1] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[python-1-expected2] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[python-1.0-expected3] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[python-False-expected4] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[json-input_value0-expected0] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[json-foo-expected1] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[json-1-expected2] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[json-1.0-expected3] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_no_validators_both[json-False-expected4] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value0-expected0] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value1-expected1] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value2-expected2] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value3-expected3] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value4-expected4] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value5-expected5] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value6-expected6] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value7-expected7] PASSED [ 53%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value8-expected8] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value9-expected9] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value10-expected10] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_ints_python[-expected11] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value12-expected12] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value13-expected13] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_ints_python[input_value14-expected14] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_ints_python[abc-expected15] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_no_validators_python[input_value0-expected0] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_no_validators_python[input_value1-expected1] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_no_validators_python[input_value2-expected2] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_multiple_errors PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs0-input_value0-expected0] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs1-input_value1-expected1] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs2-input_value2-expected2] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs3-input_value3-expected3] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs4-input_value4-expected4] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs5-input_value5-expected5] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs6-input_value6-expected6] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs7-input_value7-expected7] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs8-abc-expected8] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs9-input_value9-expected9] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs10-input_value10-expected10] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs11-input_value11-expected11] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs12-input_value12-expected12] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs13-input_value13-expected13] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs14-input_value14-expected14] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs15-generate_repeats-expected15] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_kwargs_python[kwargs16-infinite_generator-expected16] PASSED [ 54%] tests/validators/test_frozenset.py::test_union_frozenset_list[input_value0-expected0] PASSED [ 54%] tests/validators/test_frozenset.py::test_union_frozenset_list[input_value1-expected1] PASSED [ 54%] tests/validators/test_frozenset.py::test_union_frozenset_int_frozenset_str[input_value0-expected0] PASSED [ 54%] tests/validators/test_frozenset.py::test_union_frozenset_int_frozenset_str[input_value1-expected1] PASSED [ 54%] tests/validators/test_frozenset.py::test_union_frozenset_int_frozenset_str[input_value2-expected2] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_as_dict_keys[python] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_as_dict_keys[json] PASSED [ 54%] tests/validators/test_frozenset.py::test_repr PASSED [ 54%] tests/validators/test_frozenset.py::test_generator_error PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_from_dict_items[Tuple[Any, Any]] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_from_dict_items[Tuple[int, int]] PASSED [ 54%] tests/validators/test_frozenset.py::test_frozenset_from_dict_items[Any] PASSED [ 54%] tests/validators/test_function.py::test_function_before PASSED [ 54%] tests/validators/test_function.py::test_function_before_no_info PASSED [ 54%] tests/validators/test_function.py::test_function_before_raise PASSED [ 54%] tests/validators/test_function.py::test_function_before_error PASSED [ 55%] tests/validators/test_function.py::test_function_before_error_hide_input[config0-type=string_too_long, input_value='12345x', input_type=str] PASSED [ 55%] tests/validators/test_function.py::test_function_before_error_hide_input[config1-type=string_too_long, input_value='12345x', input_type=str] PASSED [ 55%] tests/validators/test_function.py::test_function_before_error_hide_input[config2-type=string_too_long] PASSED [ 55%] tests/validators/test_function.py::test_function_before_error_model PASSED [ 55%] tests/validators/test_function.py::test_val_info_repr[None-kwargs0-ValidationInfo(config=None, context=None, data=None, field_name=None)] PASSED [ 55%] tests/validators/test_function.py::test_val_info_repr[None-kwargs1-ValidationInfo(config=None, context={1: 2}, data=None, field_name=None)] PASSED [ 55%] tests/validators/test_function.py::test_val_info_repr[None-kwargs2-ValidationInfo(config=None, context=None, data=None, field_name=None)] PASSED [ 55%] tests/validators/test_function.py::test_val_info_repr[config3-kwargs3-ValidationInfo(config={'title': 'hello'}, context=None, data=None, field_name=None)] PASSED [ 55%] tests/validators/test_function.py::test_function_wrap PASSED [ 55%] tests/validators/test_function.py::test_function_wrap_no_info PASSED [ 55%] tests/validators/test_function.py::test_function_wrap_repr PASSED [ 55%] tests/validators/test_function.py::test_function_wrap_str PASSED [ 55%] tests/validators/test_function.py::test_function_wrap_not_callable PASSED [ 55%] tests/validators/test_function.py::test_wrap_error PASSED [ 55%] tests/validators/test_function.py::test_function_wrap_error_hide_input[config0-type=int_parsing, input_value='wrong', input_type=str] PASSED [ 55%] tests/validators/test_function.py::test_function_wrap_error_hide_input[config1-type=int_parsing, input_value='wrong', input_type=str] PASSED [ 55%] tests/validators/test_function.py::test_function_wrap_error_hide_input[config2-type=int_parsing] PASSED [ 55%] tests/validators/test_function.py::test_function_wrap_location PASSED [ 55%] tests/validators/test_function.py::test_function_wrap_invalid_location PASSED [ 55%] tests/validators/test_function.py::test_function_after PASSED [ 55%] tests/validators/test_function.py::test_function_no_info PASSED [ 55%] tests/validators/test_function.py::test_function_after_raise PASSED [ 55%] tests/validators/test_function.py::test_function_after_error_hide_input[config0-type=value_error, input_value='input value', input_type=str] PASSED [ 55%] tests/validators/test_function.py::test_function_after_error_hide_input[config1-type=value_error, input_value='input value', input_type=str] PASSED [ 55%] tests/validators/test_function.py::test_function_after_error_hide_input[config2-type=value_error] PASSED [ 55%] tests/validators/test_function.py::test_function_after_config PASSED [ 55%] tests/validators/test_function.py::test_config_no_model PASSED [ 55%] tests/validators/test_function.py::test_function_plain PASSED [ 55%] tests/validators/test_function.py::test_function_plain_no_info PASSED [ 55%] tests/validators/test_function.py::test_plain_with_schema PASSED [ 55%] tests/validators/test_function.py::test_validate_assignment PASSED [ 55%] tests/validators/test_function.py::test_function_wrong_sig PASSED [ 55%] tests/validators/test_function.py::test_class_with_validator PASSED [ 55%] tests/validators/test_function.py::test_raise_assertion_error PASSED [ 55%] tests/validators/test_function.py::test_raise_assertion_error_plain PASSED [ 55%] tests/validators/test_function.py::test_error_with_error[ValueError] PASSED [ 55%] tests/validators/test_function.py::test_error_with_error[AssertionError] PASSED [ 55%] tests/validators/test_function.py::test_raise_type_error PASSED [ 55%] tests/validators/test_function.py::test_model_field_before_validator PASSED [ 55%] tests/validators/test_function.py::test_model_field_after_validator PASSED [ 55%] tests/validators/test_function.py::test_model_field_plain_validator PASSED [ 55%] tests/validators/test_function.py::test_model_field_wrap_validator PASSED [ 55%] tests/validators/test_function.py::test_non_model_field_before_validator_tries_to_access_field_info PASSED [ 55%] tests/validators/test_function.py::test_non_model_field_after_validator_tries_to_access_field_info PASSED [ 56%] tests/validators/test_function.py::test_non_model_field_plain_validator_tries_to_access_field_info PASSED [ 56%] tests/validators/test_function.py::test_non_model_field_wrap_validator_tries_to_access_field_info PASSED [ 56%] tests/validators/test_function.py::test_typed_dict_data PASSED [ 56%] tests/validators/test_function.py::test_model_root_function_assignment[before] PASSED [ 56%] tests/validators/test_function.py::test_model_root_function_assignment[after] PASSED [ 56%] tests/validators/test_function.py::test_model_root_function_assignment[wrap] PASSED [ 56%] tests/validators/test_function.py::test_function_validation_info_mode PASSED [ 56%] tests/validators/test_function.py::test_reprs PASSED [ 56%] tests/validators/test_function.py::test_function_after_doesnt_change_mode PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_int[python-[1, 2, 3]-[1, 2, 3]] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_int[python-[1, 2, '3']-[1, 2, 3]] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_int[python-{1: 2, 3: 4}-[1, 3]] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_int[python-'123'-[1, 2, 3]] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_int[python-5-Err('[type=iterable_type, input_value=5, input_type=int]')] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_int[python-[1, 'wrong']-Err("[type=int_parsing, input_value='wrong', input_type=str]")] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_int[json-[1, 2, 3]-[1, 2, 3]] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_int[json-[1, 2, '3']-[1, 2, 3]] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_int[json-{1: 2, 3: 4}-[1, 3]] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_int[json-'123'-[1, 2, 3]] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_int[json-5-Err('[type=iterable_type, input_value=5, input_type=int]')] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_int[json-[1, 'wrong']-Err("[type=int_parsing, input_value='wrong', input_type=str]")] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_hide_input[python-config0-type=iterable_type, input_value=5, input_type=int] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_hide_input[python-config1-type=iterable_type, input_value=5, input_type=int] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_hide_input[python-config2-type=iterable_type] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_hide_input[json-config0-type=iterable_type, input_value=5, input_type=int] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_hide_input[json-config1-type=iterable_type, input_value=5, input_type=int] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_hide_input[json-config2-type=iterable_type] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_any[python-[1, 2, 3]-[1, 2, 3]] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_any[python-[1, 2, '3']-[1, 2, '3']] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_any[python-{'1': 2, '3': 4}-['1', '3']] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_any[python-'123'-['1', '2', '3']] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_any[python-5-Err('[type=iterable_type, input_value=5, input_type=int]')] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_any[python-[1, 'wrong']-[1, 'wrong']] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_any[json-[1, 2, 3]-[1, 2, 3]] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_any[json-[1, 2, '3']-[1, 2, '3']] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_any[json-{'1': 2, '3': 4}-['1', '3']] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_any[json-'123'-['1', '2', '3']] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_any[json-5-Err('[type=iterable_type, input_value=5, input_type=int]')] PASSED [ 56%] tests/validators/test_generator.py::test_generator_json_any[json-[1, 'wrong']-[1, 'wrong']] PASSED [ 56%] tests/validators/test_generator.py::test_error_index[python] PASSED [ 56%] tests/validators/test_generator.py::test_error_index[json] PASSED [ 56%] tests/validators/test_generator.py::test_too_long[python] PASSED [ 56%] tests/validators/test_generator.py::test_too_long[json] PASSED [ 56%] tests/validators/test_generator.py::test_too_short[python] PASSED [ 57%] tests/validators/test_generator.py::test_too_short[json] PASSED [ 57%] tests/validators/test_generator.py::test_generator_too_long PASSED [ 57%] tests/validators/test_generator.py::test_generator_too_short PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-False-0] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-True-1] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-0-0_0] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-0-0_1] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-1-1] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python- 1 -1] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-42-42_0] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-42-42_1] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-42.0-42_0] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-42.0-42_1] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-42.00-42] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-042-42] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-4_2-42] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-4_2.0-42] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-04_2.0-42] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python- 04_2.0 -42] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python- 0_42.0 -expected16] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-000001-1] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-123456789.0-123456789] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-1.-expected19] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-42.-expected20] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-123456789123456.00001-expected21] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-10000000000-10000000000] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-9223372036854775807-9223372036854775807] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-9223372036854775808-9223372036854775808] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-18446744073709551614-18446744073709551614] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-float-remainder] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-string] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-list0] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[python-list1] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[json-False-0] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[json-True-1] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[json-0-0_0] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[json-0-0_1] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[json-1-1] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[json- 1 -1] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[json-42-42_0] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[json-42-42_1] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[json-42.0-42_0] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[json-42.0-42_1] PASSED [ 57%] tests/validators/test_int.py::test_int_py_and_json[json-42.00-42] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json-042-42] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json-4_2-42] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json-4_2.0-42] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json-04_2.0-42] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json- 04_2.0 -42] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json- 0_42.0 -expected16] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json-000001-1] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json-123456789.0-123456789] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json-1.-expected19] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json-42.-expected20] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json-123456789123456.00001-expected21] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json-10000000000-10000000000] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json-9223372036854775807-9223372036854775807] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json-9223372036854775808-9223372036854775808] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json-18446744073709551614-18446744073709551614] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json-float-remainder] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json-string] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json-list0] PASSED [ 58%] tests/validators/test_int.py::test_int_py_and_json[json-list1] PASSED [ 58%] tests/validators/test_int.py::test_int[Decimal('1')-1] PASSED [ 58%] tests/validators/test_int.py::test_int[Decimal('10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000')-10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] PASSED [ 58%] tests/validators/test_int.py::test_int[Decimal('1.0')-1] PASSED [ 58%] tests/validators/test_int.py::test_int[1.0-1] PASSED [ 58%] tests/validators/test_int.py::test_int[9223372036854775807-9223372036854775807] PASSED [ 58%] tests/validators/test_int.py::test_int['9223372036854775807'-9223372036854775807] PASSED [ 58%] tests/validators/test_int.py::test_int['18446744073709551614'-18446744073709551614] PASSED [ 58%] tests/validators/test_int.py::test_int[9223372036854775808-9223372036854775808] PASSED [ 58%] tests/validators/test_int.py::test_int[-9223372036854775806--9223372036854775806] PASSED [ 58%] tests/validators/test_int.py::test_int[18446744073709551614-18446744073709551614] PASSED [ 58%] tests/validators/test_int.py::test_int[-18446744073709551614--18446744073709551614] PASSED [ 58%] tests/validators/test_int.py::test_int[decimal-remainder0] PASSED [ 58%] tests/validators/test_int.py::test_int[decimal-remainder1] PASSED [ 58%] tests/validators/test_int.py::test_int[tuple] PASSED [ 58%] tests/validators/test_int.py::test_positive_int[input_value0-1] PASSED [ 58%] tests/validators/test_int.py::test_positive_int[input_value1-1] PASSED [ 58%] tests/validators/test_int.py::test_positive_int[i64_max] PASSED [ 58%] tests/validators/test_int.py::test_positive_int[i64_max+1] PASSED [ 58%] tests/validators/test_int.py::test_positive_int[-1] PASSED [ 58%] tests/validators/test_int.py::test_positive_int[-9223372036854775806-expected5] PASSED [ 58%] tests/validators/test_int.py::test_positive_int[18446744073709551614-18446744073709551614] PASSED [ 58%] tests/validators/test_int.py::test_positive_int[999999999999999999999999999999-999999999999999999999999999999] PASSED [ 58%] tests/validators/test_int.py::test_positive_int[0-expected8] PASSED [ 58%] tests/validators/test_int.py::test_positive_int[-1-expected9] PASSED [ 58%] tests/validators/test_int.py::test_positive_int[decimal-remainder] PASSED [ 59%] tests/validators/test_int.py::test_positive_int[tuple] PASSED [ 59%] tests/validators/test_int.py::test_negative_int[-1--1] PASSED [ 59%] tests/validators/test_int.py::test_negative_int[0-expected1] PASSED [ 59%] tests/validators/test_int.py::test_negative_int[-9223372036854775807--9223372036854775807] PASSED [ 59%] tests/validators/test_int.py::test_negative_int[-9223372036854775808--9223372036854775808] PASSED [ 59%] tests/validators/test_int.py::test_negative_int[-999999999999999999999999999999--999999999999999999999999999999] PASSED [ 59%] tests/validators/test_int.py::test_positive_json[1-1] PASSED [ 59%] tests/validators/test_int.py::test_positive_json[9223372036854775807-9223372036854775807] PASSED [ 59%] tests/validators/test_int.py::test_positive_json[9223372036854775808-9223372036854775808] PASSED [ 59%] tests/validators/test_int.py::test_positive_json[18446744073709551614-18446744073709551614] PASSED [ 59%] tests/validators/test_int.py::test_positive_json[1000000000000000019884624838656-1000000000000000019884624838656] PASSED [ 59%] tests/validators/test_int.py::test_positive_json[0-expected5] PASSED [ 59%] tests/validators/test_int.py::test_positive_json[-1-expected6] PASSED [ 59%] tests/validators/test_int.py::test_positive_json[list] PASSED [ 59%] tests/validators/test_int.py::test_negative_json[-1--1] PASSED [ 59%] tests/validators/test_int.py::test_negative_json[0-expected1] PASSED [ 59%] tests/validators/test_int.py::test_negative_json[-9223372036854775807--9223372036854775807] PASSED [ 59%] tests/validators/test_int.py::test_negative_json[-9223372036854775808--9223372036854775808] PASSED [ 59%] tests/validators/test_int.py::test_negative_json[-18446744073709551614--18446744073709551614] PASSED [ 59%] tests/validators/test_int.py::test_int_strict[python-0-0] PASSED [ 59%] tests/validators/test_int.py::test_int_strict[python-1-1] PASSED [ 59%] tests/validators/test_int.py::test_int_strict[python-42-42] PASSED [ 59%] tests/validators/test_int.py::test_int_strict[python-float-exact] PASSED [ 59%] tests/validators/test_int.py::test_int_strict[python-float-remainder] PASSED [ 59%] tests/validators/test_int.py::test_int_strict[python-string] PASSED [ 59%] tests/validators/test_int.py::test_int_strict[python-bool] PASSED [ 59%] tests/validators/test_int.py::test_int_strict[json-0-0] PASSED [ 59%] tests/validators/test_int.py::test_int_strict[json-1-1] PASSED [ 59%] tests/validators/test_int.py::test_int_strict[json-42-42] PASSED [ 59%] tests/validators/test_int.py::test_int_strict[json-float-exact] PASSED [ 59%] tests/validators/test_int.py::test_int_strict[json-float-remainder] PASSED [ 59%] tests/validators/test_int.py::test_int_strict[json-string] PASSED [ 59%] tests/validators/test_int.py::test_int_strict[json-bool] PASSED [ 59%] tests/validators/test_int.py::test_int_kwargs[python-{}-0-0] PASSED [ 59%] tests/validators/test_int.py::test_int_kwargs[python-{}-'123.000'-123] PASSED [ 59%] tests/validators/test_int.py::test_int_kwargs[python-{'ge': 0}-0-0] PASSED [ 59%] 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 [ 59%] tests/validators/test_int.py::test_int_kwargs[python-{'gt': 0}-1-1] PASSED [ 59%] 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 [ 59%] tests/validators/test_int.py::test_int_kwargs[python-{'le': 0}-0-0] PASSED [ 59%] tests/validators/test_int.py::test_int_kwargs[python-{'le': 0}--1--1] PASSED [ 59%] tests/validators/test_int.py::test_int_kwargs[python-{'le': 0}-1-Err('Input should be less than or equal to 0')] PASSED [ 59%] tests/validators/test_int.py::test_int_kwargs[python-{'lt': 0}-0-Err('Input should be less than 0')] PASSED [ 59%] tests/validators/test_int.py::test_int_kwargs[python-{'lt': 0}-1-Err('Input should be less than 0')] PASSED [ 60%] tests/validators/test_int.py::test_int_kwargs[python-{'multiple_of': 5}-15-15] PASSED [ 60%] tests/validators/test_int.py::test_int_kwargs[python-{'multiple_of': 5}-6-Err('Input should be a multiple of 5')] PASSED [ 60%] tests/validators/test_int.py::test_int_kwargs[json-{}-0-0] PASSED [ 60%] tests/validators/test_int.py::test_int_kwargs[json-{}-'123.000'-123] PASSED [ 60%] tests/validators/test_int.py::test_int_kwargs[json-{'ge': 0}-0-0] PASSED [ 60%] 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 [ 60%] tests/validators/test_int.py::test_int_kwargs[json-{'gt': 0}-1-1] PASSED [ 60%] 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 [ 60%] tests/validators/test_int.py::test_int_kwargs[json-{'le': 0}-0-0] PASSED [ 60%] tests/validators/test_int.py::test_int_kwargs[json-{'le': 0}--1--1] PASSED [ 60%] tests/validators/test_int.py::test_int_kwargs[json-{'le': 0}-1-Err('Input should be less than or equal to 0')] PASSED [ 60%] tests/validators/test_int.py::test_int_kwargs[json-{'lt': 0}-0-Err('Input should be less than 0')] PASSED [ 60%] tests/validators/test_int.py::test_int_kwargs[json-{'lt': 0}-1-Err('Input should be less than 0')] PASSED [ 60%] tests/validators/test_int.py::test_int_kwargs[json-{'multiple_of': 5}-15-15] PASSED [ 60%] tests/validators/test_int.py::test_int_kwargs[json-{'multiple_of': 5}-6-Err('Input should be a multiple of 5')] PASSED [ 60%] tests/validators/test_int.py::test_union_int[python] PASSED [ 60%] tests/validators/test_int.py::test_union_int[json] PASSED [ 60%] tests/validators/test_int.py::test_union_int_simple[python] PASSED [ 60%] tests/validators/test_int.py::test_union_int_simple[json] PASSED [ 60%] tests/validators/test_int.py::test_int_repr PASSED [ 60%] tests/validators/test_int.py::test_too_long PASSED [ 60%] tests/validators/test_int.py::test_long_python PASSED [ 60%] tests/validators/test_int.py::test_long_python_inequality PASSED [ 60%] tests/validators/test_int.py::test_long_json PASSED [ 60%] tests/validators/test_int.py::test_int_key[python] PASSED [ 60%] tests/validators/test_int.py::test_int_key[json] PASSED [ 60%] tests/validators/test_int.py::test_string_as_int_with_underscores PASSED [ 60%] tests/validators/test_int.py::test_int_subclass PASSED [ 60%] tests/validators/test_int.py::test_int_subclass_constraint PASSED [ 60%] tests/validators/test_int.py::test_float_subclass PASSED [ 60%] tests/validators/test_int.py::test_int_subclass_plain_enum PASSED [ 60%] tests/validators/test_int.py::test_allow_inf_nan_true_json PASSED [ 60%] tests/validators/test_int.py::test_allow_inf_nan_false_json PASSED [ 60%] tests/validators/test_int.py::test_json_big_int_key PASSED [ 60%] tests/validators/test_is_instance.py::test_validate_json PASSED [ 60%] tests/validators/test_is_instance.py::test_is_instance PASSED [ 60%] tests/validators/test_is_instance.py::test_is_instance_cases[Foo-input_val0-True] PASSED [ 60%] tests/validators/test_is_instance.py::test_is_instance_cases[Foo-Foo-False] PASSED [ 60%] tests/validators/test_is_instance.py::test_is_instance_cases[Foo-input_val2-True] PASSED [ 60%] tests/validators/test_is_instance.py::test_is_instance_cases[Foo-Bar-False] PASSED [ 60%] tests/validators/test_is_instance.py::test_is_instance_cases[Bar-input_val4-False] PASSED [ 60%] tests/validators/test_is_instance.py::test_is_instance_cases[Bar-Foo-False] PASSED [ 60%] tests/validators/test_is_instance.py::test_is_instance_cases[dict-input_val6-True] PASSED [ 60%] tests/validators/test_is_instance.py::test_is_instance_cases[dict-input_val7-False] PASSED [ 61%] tests/validators/test_is_instance.py::test_is_instance_cases[type-Foo-True] PASSED [ 61%] tests/validators/test_is_instance.py::test_is_instance_cases[type-input_val9-False] PASSED [ 61%] tests/validators/test_is_instance.py::test_is_instance_invalid[123] PASSED [ 61%] tests/validators/test_is_instance.py::test_is_instance_invalid[foo] PASSED [ 61%] tests/validators/test_is_instance.py::test_is_instance_invalid[input_cls2] PASSED [ 61%] tests/validators/test_is_instance.py::test_is_instance_invalid[input_cls3] PASSED [ 61%] tests/validators/test_is_instance.py::test_is_instance_invalid[input_cls4] PASSED [ 61%] tests/validators/test_is_instance.py::test_instancecheck PASSED [ 61%] tests/validators/test_is_instance.py::test_repr PASSED [ 61%] tests/validators/test_is_instance.py::test_is_type[Foo-True] PASSED [ 61%] tests/validators/test_is_instance.py::test_is_type[input_val1-False] PASSED [ 61%] tests/validators/test_is_instance.py::test_is_type[str-True] PASSED [ 61%] tests/validators/test_is_instance.py::test_is_type[foo-False] PASSED [ 61%] tests/validators/test_is_instance.py::test_is_type[int-True] PASSED [ 61%] tests/validators/test_is_instance.py::test_is_type[1-False] PASSED [ 61%] tests/validators/test_is_instance.py::test_is_type[type-True] PASSED [ 61%] tests/validators/test_is_instance.py::test_is_type[Foobar-True] PASSED [ 61%] tests/validators/test_is_instance.py::test_is_instance_dict PASSED [ 61%] tests/validators/test_is_instance.py::test_is_instance_dict_not_str PASSED [ 61%] tests/validators/test_is_instance.py::test_is_instance_sequence PASSED [ 61%] tests/validators/test_is_instance.py::test_is_instance_tuple PASSED [ 61%] tests/validators/test_is_instance.py::test_class_repr PASSED [ 61%] tests/validators/test_is_instance.py::test_is_instance_json_type_before_validator PASSED [ 61%] tests/validators/test_is_subclass.py::test_is_subclass_basic PASSED [ 61%] tests/validators/test_is_subclass.py::test_is_subclass[Foo-True] PASSED [ 61%] tests/validators/test_is_subclass.py::test_is_subclass[Foobar-True] PASSED [ 61%] tests/validators/test_is_subclass.py::test_is_subclass[Bar-False] PASSED [ 61%] tests/validators/test_is_subclass.py::test_is_subclass[type-False] PASSED [ 61%] tests/validators/test_is_subclass.py::test_is_subclass[1-False] PASSED [ 61%] tests/validators/test_is_subclass.py::test_is_subclass[foo-False] PASSED [ 61%] tests/validators/test_is_subclass.py::test_is_subclass[input_value6-False] PASSED [ 61%] tests/validators/test_is_subclass.py::test_is_subclass[input_value7-False] PASSED [ 61%] tests/validators/test_is_subclass.py::test_is_subclass[input_value8-False] PASSED [ 61%] tests/validators/test_is_subclass.py::test_not_parent PASSED [ 61%] tests/validators/test_is_subclass.py::test_invalid_type PASSED [ 61%] tests/validators/test_is_subclass.py::test_custom_repr PASSED [ 61%] tests/validators/test_json.py::test_any[python-{"a": 1}-expected0] PASSED [ 61%] tests/validators/test_json.py::test_any[python-"a"-a] PASSED [ 61%] tests/validators/test_json.py::test_any[python-1-1] PASSED [ 61%] tests/validators/test_json.py::test_any[python-[1, 2, 3, "4"]-expected3] PASSED [ 61%] tests/validators/test_json.py::test_any[python-{1: 2}-expected4] PASSED [ 61%] tests/validators/test_json.py::test_any[python-44-expected5] PASSED [ 61%] tests/validators/test_json.py::test_any[json-{"a": 1}-expected0] PASSED [ 61%] tests/validators/test_json.py::test_any[json-"a"-a] PASSED [ 62%] tests/validators/test_json.py::test_any[json-1-1] PASSED [ 62%] tests/validators/test_json.py::test_any[json-[1, 2, 3, "4"]-expected3] PASSED [ 62%] tests/validators/test_json.py::test_any[json-{1: 2}-expected4] PASSED [ 62%] tests/validators/test_json.py::test_any[json-44-expected5] PASSED [ 62%] tests/validators/test_json.py::test_any_python[str] PASSED [ 62%] tests/validators/test_json.py::test_any_python[bytes] PASSED [ 62%] tests/validators/test_json.py::test_any_python[str_unicode] PASSED [ 62%] tests/validators/test_json.py::test_any_python[bytearray] PASSED [ 62%] tests/validators/test_json.py::test_any_python[str_invalid] PASSED [ 62%] tests/validators/test_json.py::test_any_python[bytes_invalid] PASSED [ 62%] tests/validators/test_json.py::test_any_python[bytearray_invalid] PASSED [ 62%] tests/validators/test_json.py::test_list_int[python-[1]-expected0] PASSED [ 62%] tests/validators/test_json.py::test_list_int[python-[1, 2, 3, "4"]-expected1] PASSED [ 62%] tests/validators/test_json.py::test_list_int[python-44-expected2] PASSED [ 62%] tests/validators/test_json.py::test_list_int[python-"x"-expected3] PASSED [ 62%] tests/validators/test_json.py::test_list_int[python-[1, 2, 3, "err"]-expected4] PASSED [ 62%] tests/validators/test_json.py::test_list_int[json-[1]-expected0] PASSED [ 62%] tests/validators/test_json.py::test_list_int[json-[1, 2, 3, "4"]-expected1] PASSED [ 62%] tests/validators/test_json.py::test_list_int[json-44-expected2] PASSED [ 62%] tests/validators/test_json.py::test_list_int[json-"x"-expected3] PASSED [ 62%] tests/validators/test_json.py::test_list_int[json-[1, 2, 3, "err"]-expected4] PASSED [ 62%] tests/validators/test_json.py::test_dict_key[python] PASSED [ 62%] tests/validators/test_json.py::test_dict_key[json] PASSED [ 62%] tests/validators/test_json.py::test_enum PASSED [ 62%] tests/validators/test_json.py::test_any_schema_no_schema PASSED [ 62%] tests/validators/test_json_or_python.py::test_json_or_python PASSED [ 62%] tests/validators/test_lax_or_strict.py::test_lax_or_strict PASSED [ 62%] tests/validators/test_lax_or_strict.py::test_lax_or_strict_default_strict PASSED [ 62%] tests/validators/test_list.py::test_list_py_or_json[python-[1, 2, 3]-[1, 2, 3]] PASSED [ 62%] tests/validators/test_list.py::test_list_py_or_json[python-[1, 2, '3']-[1, 2, 3]] PASSED [ 62%] 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 [ 62%] 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 [ 62%] tests/validators/test_list.py::test_list_py_or_json[json-[1, 2, 3]-[1, 2, 3]] PASSED [ 62%] tests/validators/test_list.py::test_list_py_or_json[json-[1, 2, '3']-[1, 2, 3]] PASSED [ 62%] 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 [ 62%] 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 [ 62%] tests/validators/test_list.py::test_list_strict PASSED [ 62%] tests/validators/test_list.py::test_list_no_copy PASSED [ 62%] tests/validators/test_list.py::test_list_int[[1, 2, '3']-[1, 2, 3]] PASSED [ 62%] tests/validators/test_list.py::test_list_int[(1, 2, '3')-[1, 2, 3]] PASSED [ 62%] tests/validators/test_list.py::test_list_int[deque([1, 2, '3'])-[1, 2, 3]] PASSED [ 62%] tests/validators/test_list.py::test_list_int[{1, 2, '3'}-IsList(1, 2, 3, check_order=False)] PASSED [ 62%] tests/validators/test_list.py::test_list_int[-[1, 2, 3]] PASSED [ 62%] tests/validators/test_list.py::test_list_int[frozenset({1, 2, '3'})-IsList(1, 2, 3, check_order=False)] PASSED [ 63%] tests/validators/test_list.py::test_list_int[dict_keys([1, 2, '3'])-[1, 2, 3]] PASSED [ 63%] tests/validators/test_list.py::test_list_int[dict_values([10, 20, '30'])-[10, 20, 30]] PASSED [ 63%] 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 [ 63%] tests/validators/test_list.py::test_list_int[ at 0x3be1303e00>-[1, 2, 3]] PASSED [ 63%] 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 [ 63%] 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 [ 63%] tests/validators/test_list.py::test_list_json PASSED [ 63%] tests/validators/test_list.py::test_list_any[input_value0-expected0] PASSED [ 63%] tests/validators/test_list.py::test_list_any[input_value1-expected1] PASSED [ 63%] tests/validators/test_list.py::test_list_any[input_value2-expected2] PASSED [ 63%] tests/validators/test_list.py::test_list_any[input_value3-expected3] PASSED [ 63%] tests/validators/test_list.py::test_list_any[input_value4-expected4] PASSED [ 63%] tests/validators/test_list.py::test_list_any[input_value5-expected5] PASSED [ 63%] tests/validators/test_list.py::test_list_any[input_value6-expected6] PASSED [ 63%] tests/validators/test_list.py::test_list_error[input_value0-0] PASSED [ 63%] tests/validators/test_list.py::test_list_error[input_value1-0] PASSED [ 63%] tests/validators/test_list.py::test_list_error[input_value2-0] PASSED [ 63%] tests/validators/test_list.py::test_list_error[input_value3-3] PASSED [ 63%] tests/validators/test_list.py::test_list_error[input_value4-3] PASSED [ 63%] tests/validators/test_list.py::test_list_error[input_value5-3] PASSED [ 63%] tests/validators/test_list.py::test_list_length_constraints[kwargs0-input_value0-expected0] PASSED [ 63%] tests/validators/test_list.py::test_list_length_constraints[kwargs1-input_value1-expected1] PASSED [ 63%] tests/validators/test_list.py::test_list_length_constraints[kwargs2-input_value2-expected2] PASSED [ 63%] tests/validators/test_list.py::test_list_length_constraints[kwargs3-input_value3-expected3] PASSED [ 63%] tests/validators/test_list.py::test_list_length_constraints[kwargs4-input_value4-expected4] PASSED [ 63%] tests/validators/test_list.py::test_list_length_constraints[kwargs5-input_value5-expected5] PASSED [ 63%] tests/validators/test_list.py::test_list_length_constraints[kwargs6-input_value6-expected6] PASSED [ 63%] tests/validators/test_list.py::test_list_length_constraints[kwargs7-input_value7-expected7] PASSED [ 63%] tests/validators/test_list.py::test_list_length_constraints[kwargs8-infinite_generator-expected8] PASSED [ 63%] tests/validators/test_list.py::test_list_length_constraints[kwargs9-input_value9-expected9] PASSED [ 63%] tests/validators/test_list.py::test_list_length_constraints_omit[input_value0-expected0] PASSED [ 63%] tests/validators/test_list.py::test_list_length_constraints_omit[input_value1-expected1] PASSED [ 63%] tests/validators/test_list.py::test_list_length_constraints_omit[input_value2-expected2] PASSED [ 63%] tests/validators/test_list.py::test_length_ctx PASSED [ 63%] tests/validators/test_list.py::test_list_function PASSED [ 63%] tests/validators/test_list.py::test_list_function_val_error PASSED [ 63%] tests/validators/test_list.py::test_list_function_internal_error PASSED [ 63%] tests/validators/test_list.py::test_generator_error PASSED [ 63%] tests/validators/test_list.py::test_list_from_dict_items[Tuple[Any, Any]] PASSED [ 63%] tests/validators/test_list.py::test_list_from_dict_items[Tuple[int, int]] PASSED [ 63%] tests/validators/test_list.py::test_list_from_dict_items[Any] PASSED [ 63%] tests/validators/test_list.py::test_bad_iter[int] PASSED [ 63%] tests/validators/test_list.py::test_bad_iter[any] PASSED [ 63%] tests/validators/test_list.py::test_max_length_fail_fast[True] PASSED [ 64%] tests/validators/test_list.py::test_max_length_fail_fast[False] PASSED [ 64%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=[1, 2, 3], output=[1, 2, 3], strict=True)] PASSED [ 64%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=[1, 2, 3], output=[1, 2, 3], strict=False)] PASSED [ 64%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=[1, 2, 3], output=[1, 2, 3], strict=None)] PASSED [ 64%] 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 [ 64%] 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 [ 64%] 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 [ 64%] 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 [ 64%] 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 [ 64%] 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 [ 64%] 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 [ 64%] 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 [ 64%] 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 [ 64%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input= at 0x3be1301d80>, output=Err('Input should be a valid list [type=list_type,'), strict=True)] PASSED [ 64%] 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 [ 64%] 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 [ 64%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=(1, 2, 3), output=[1, 2, 3], strict=False)] PASSED [ 64%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=frozenset({1, 2, 3}), output=[1, 2, 3], strict=False)] PASSED [ 64%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input={1, 2, 3}, output=[1, 2, 3], strict=False)] PASSED [ 64%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=deque([1, 2, 3]), output=[1, 2, 3], strict=False)] PASSED [ 64%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=dict_keys([1, 2, 3]), output=[1, 2, 3], strict=False)] PASSED [ 64%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=dict_values([1, 2, 3]), output=[1, 2, 3], strict=False)] PASSED [ 64%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input=MySequence([1, 2, 3]), output=[1, 2, 3], strict=False)] PASSED [ 64%] 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 [ 64%] 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 [ 64%] tests/validators/test_list.py::test_list_allowed_inputs_python[ListInputTestCase(input= at 0x3be1301d80>, output=[1, 2, 3], strict=False)] PASSED [ 64%] 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 [ 64%] 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 [ 64%] 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 [ 64%] 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 [ 64%] 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 [ 64%] 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 [ 64%] 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 [ 64%] 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 [ 64%] tests/validators/test_literal.py::test_literal_py_and_json[python-kwarg_expected0-1-1] PASSED [ 64%] tests/validators/test_literal.py::test_literal_py_and_json[python-wrong-single-int] PASSED [ 64%] tests/validators/test_literal.py::test_literal_py_and_json[python-kwarg_expected2-foo-foo] PASSED [ 64%] tests/validators/test_literal.py::test_literal_py_and_json[python-wrong-single-str] PASSED [ 64%] tests/validators/test_literal.py::test_literal_py_and_json[python-kwarg_expected4-1-1] PASSED [ 64%] tests/validators/test_literal.py::test_literal_py_and_json[python-kwarg_expected5-2-2] PASSED [ 64%] tests/validators/test_literal.py::test_literal_py_and_json[python-wrong-multiple-int0] PASSED [ 64%] tests/validators/test_literal.py::test_literal_py_and_json[python-kwarg_expected7-4-4] PASSED [ 64%] tests/validators/test_literal.py::test_literal_py_and_json[python-wrong-multiple-int1] PASSED [ 64%] tests/validators/test_literal.py::test_literal_py_and_json[python-kwarg_expected9-a-a] PASSED [ 65%] tests/validators/test_literal.py::test_literal_py_and_json[python-wrong-multiple-str] PASSED [ 65%] tests/validators/test_literal.py::test_literal_py_and_json[python-kwarg_expected11-1-1] PASSED [ 65%] tests/validators/test_literal.py::test_literal_py_and_json[python-kwarg_expected12-1-1] PASSED [ 65%] tests/validators/test_literal.py::test_literal_py_and_json[python-wrong-str-int] PASSED [ 65%] tests/validators/test_literal.py::test_literal_py_and_json[json-kwarg_expected0-1-1] PASSED [ 65%] tests/validators/test_literal.py::test_literal_py_and_json[json-wrong-single-int] PASSED [ 65%] tests/validators/test_literal.py::test_literal_py_and_json[json-kwarg_expected2-foo-foo] PASSED [ 65%] tests/validators/test_literal.py::test_literal_py_and_json[json-wrong-single-str] PASSED [ 65%] tests/validators/test_literal.py::test_literal_py_and_json[json-kwarg_expected4-1-1] PASSED [ 65%] tests/validators/test_literal.py::test_literal_py_and_json[json-kwarg_expected5-2-2] PASSED [ 65%] tests/validators/test_literal.py::test_literal_py_and_json[json-wrong-multiple-int0] PASSED [ 65%] tests/validators/test_literal.py::test_literal_py_and_json[json-kwarg_expected7-4-4] PASSED [ 65%] tests/validators/test_literal.py::test_literal_py_and_json[json-wrong-multiple-int1] PASSED [ 65%] tests/validators/test_literal.py::test_literal_py_and_json[json-kwarg_expected9-a-a] PASSED [ 65%] tests/validators/test_literal.py::test_literal_py_and_json[json-wrong-multiple-str] PASSED [ 65%] tests/validators/test_literal.py::test_literal_py_and_json[json-kwarg_expected11-1-1] PASSED [ 65%] tests/validators/test_literal.py::test_literal_py_and_json[json-kwarg_expected12-1-1] PASSED [ 65%] tests/validators/test_literal.py::test_literal_py_and_json[json-wrong-str-int] PASSED [ 65%] tests/validators/test_literal.py::test_literal_not_json[kwarg_expected0-whatever-whatever] PASSED [ 65%] tests/validators/test_literal.py::test_literal_not_json[kwarg_expected1-input_value1-expected1] PASSED [ 65%] tests/validators/test_literal.py::test_literal_not_json[kwarg_expected2-input_value2-expected2] PASSED [ 65%] tests/validators/test_literal.py::test_literal_not_json[wrong-general] PASSED [ 65%] tests/validators/test_literal.py::test_literal_not_json[kwarg_expected4-bite-bite] PASSED [ 65%] tests/validators/test_literal.py::test_literal_not_json[single-byte] PASSED [ 65%] tests/validators/test_literal.py::test_build_error PASSED [ 65%] tests/validators/test_literal.py::test_literal_none PASSED [ 65%] tests/validators/test_literal.py::test_union PASSED [ 65%] tests/validators/test_literal.py::test_enum_value PASSED [ 65%] tests/validators/test_literal.py::test_str_enum_values PASSED [ 65%] tests/validators/test_literal.py::test_int_enum_values PASSED [ 65%] tests/validators/test_literal.py::test_mix_int_enum_with_int[-err0] PASSED [ 65%] tests/validators/test_literal.py::test_mix_int_enum_with_int[-err1] PASSED [ 65%] tests/validators/test_literal.py::test_mix_str_enum_with_str[-err0] PASSED [ 65%] tests/validators/test_literal.py::test_mix_str_enum_with_str[-err1] PASSED [ 65%] tests/validators/test_model.py::test_model_class PASSED [ 65%] tests/validators/test_model.py::test_model_class_extra PASSED [ 65%] tests/validators/test_model.py::test_model_class_setattr PASSED [ 65%] tests/validators/test_model.py::test_model_class_root_validator_wrap PASSED [ 65%] tests/validators/test_model.py::test_model_class_root_validator_before PASSED [ 65%] tests/validators/test_model.py::test_model_class_root_validator_after PASSED [ 65%] tests/validators/test_model.py::test_function_ask[before] PASSED [ 65%] tests/validators/test_model.py::test_function_ask[after] PASSED [ 65%] tests/validators/test_model.py::test_function_ask[wrap] PASSED [ 65%] tests/validators/test_model.py::test_function_plain_ask PASSED [ 66%] tests/validators/test_model.py::test_union_sub_schema PASSED [ 66%] tests/validators/test_model.py::test_tagged_union_sub_schema PASSED [ 66%] tests/validators/test_model.py::test_bad_sub_schema PASSED [ 66%] tests/validators/test_model.py::test_model_class_function_after PASSED [ 66%] tests/validators/test_model.py::test_model_class_not_type PASSED [ 66%] tests/validators/test_model.py::test_model_class_instance_direct PASSED [ 66%] tests/validators/test_model.py::test_model_class_instance_subclass PASSED [ 66%] tests/validators/test_model.py::test_model_class_instance_subclass_revalidate PASSED [ 66%] tests/validators/test_model.py::test_model_class_strict PASSED [ 66%] tests/validators/test_model.py::test_model_class_strict_json PASSED [ 66%] tests/validators/test_model.py::test_internal_error PASSED [ 66%] tests/validators/test_model.py::test_revalidate_always PASSED [ 66%] tests/validators/test_model.py::test_revalidate_subclass_instances PASSED [ 66%] tests/validators/test_model.py::test_revalidate_extra PASSED [ 66%] tests/validators/test_model.py::test_post_init PASSED [ 66%] tests/validators/test_model.py::test_revalidate_post_init PASSED [ 66%] tests/validators/test_model.py::test_post_init_validation_error PASSED [ 66%] tests/validators/test_model.py::test_post_init_internal_error PASSED [ 66%] tests/validators/test_model.py::test_post_init_mutate PASSED [ 66%] tests/validators/test_model.py::test_validate_assignment PASSED [ 66%] tests/validators/test_model.py::test_validate_assignment_function PASSED [ 66%] tests/validators/test_model.py::test_validate_assignment_no_fields_set PASSED [ 66%] tests/validators/test_model.py::test_frozen PASSED [ 66%] tests/validators/test_model.py::test_validate_assignment_model_validator_function[with_info_after_validator_function-call10-call20] PASSED [ 66%] tests/validators/test_model.py::test_validate_assignment_model_validator_function[with_info_before_validator_function-call11-call21] PASSED [ 66%] tests/validators/test_model.py::test_validate_assignment_model_validator_function[with_info_wrap_validator_function-call12-call22] PASSED [ 66%] tests/validators/test_model.py::test_model_error PASSED [ 66%] tests/validators/test_model_fields.py::test_simple PASSED [ 66%] tests/validators/test_model_fields.py::test_strict PASSED [ 66%] tests/validators/test_model_fields.py::test_with_default PASSED [ 66%] tests/validators/test_model_fields.py::test_missing_error PASSED [ 66%] tests/validators/test_model_fields.py::test_config[{}-{'a': '123'}-({'a': 123, 'b': 4.2}, None, {'a'})] PASSED [ 66%] tests/validators/test_model_fields.py::test_config[{}-Map(a=123)-({'a': 123, 'b': 4.2}, None, {'a'})] PASSED [ 66%] tests/validators/test_model_fields.py::test_config[{}-{b'a': '123'}-Err('Field required [type=missing,')] PASSED [ 66%] tests/validators/test_model_fields.py::test_config[{}-{'a': '123', 'c': 4}-({'a': 123, 'b': 4.2}, None, {'a'})] PASSED [ 66%] 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 [ 66%] 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 [ 66%] 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 [ 66%] tests/validators/test_model_fields.py::test_config[{}-{'a': '123', 'b': '4.7'}-({'a': 123, 'b': 4.7}, None, {'a', 'b'})] PASSED [ 66%] tests/validators/test_model_fields.py::test_config[{}-{'a': '123', 'b': 'nan'}-({'a': 123, 'b': FunctionCheck(isnan)}, None, {'a', 'b'})] PASSED [ 66%] 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 [ 66%] tests/validators/test_model_fields.py::test_ignore_extra PASSED [ 66%] tests/validators/test_model_fields.py::test_forbid_extra PASSED [ 66%] tests/validators/test_model_fields.py::test_allow_extra_invalid PASSED [ 67%] tests/validators/test_model_fields.py::test_allow_extra_wrong PASSED [ 67%] tests/validators/test_model_fields.py::test_str_config PASSED [ 67%] tests/validators/test_model_fields.py::test_validate_assignment PASSED [ 67%] tests/validators/test_model_fields.py::test_validate_assignment_strict_field PASSED [ 67%] tests/validators/test_model_fields.py::test_validate_assignment_functions PASSED [ 67%] tests/validators/test_model_fields.py::test_validate_assignment_ignore_extra PASSED [ 67%] tests/validators/test_model_fields.py::test_validate_assignment_allow_extra PASSED [ 67%] tests/validators/test_model_fields.py::test_validate_assignment_allow_extra_validate PASSED [ 67%] tests/validators/test_model_fields.py::test_validate_assignment_with_strict PASSED [ 67%] tests/validators/test_model_fields.py::test_json_error PASSED [ 67%] tests/validators/test_model_fields.py::test_missing_schema_key PASSED [ 67%] tests/validators/test_model_fields.py::test_fields_required_by_default PASSED [ 67%] tests/validators/test_model_fields.py::test_fields_required_by_default_with_default PASSED [ 67%] tests/validators/test_model_fields.py::test_alias[python] PASSED [ 67%] tests/validators/test_model_fields.py::test_alias[json] PASSED [ 67%] tests/validators/test_model_fields.py::test_empty_string_field_name[python] PASSED [ 67%] tests/validators/test_model_fields.py::test_empty_string_field_name[json] PASSED [ 67%] tests/validators/test_model_fields.py::test_empty_string_aliases[python] PASSED [ 67%] tests/validators/test_model_fields.py::test_empty_string_aliases[json] PASSED [ 67%] tests/validators/test_model_fields.py::test_alias_allow_pop[python] PASSED [ 67%] tests/validators/test_model_fields.py::test_alias_allow_pop[json] PASSED [ 67%] tests/validators/test_model_fields.py::test_alias_path[python-{'foo': {'bar': '123'}}-({'field_a': 123}, None, {'field_a'})] PASSED [ 67%] tests/validators/test_model_fields.py::test_alias_path[python-{'x': '123'}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 67%] tests/validators/test_model_fields.py::test_alias_path[python-{'foo': '123'}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 67%] tests/validators/test_model_fields.py::test_alias_path[python-{'foo': [1, 2, 3]}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 67%] tests/validators/test_model_fields.py::test_alias_path[python-{'foo': {'bat': '123'}}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 67%] tests/validators/test_model_fields.py::test_alias_path[json-{'foo': {'bar': '123'}}-({'field_a': 123}, None, {'field_a'})] PASSED [ 67%] tests/validators/test_model_fields.py::test_alias_path[json-{'x': '123'}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 67%] tests/validators/test_model_fields.py::test_alias_path[json-{'foo': '123'}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 67%] tests/validators/test_model_fields.py::test_alias_path[json-{'foo': [1, 2, 3]}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 67%] tests/validators/test_model_fields.py::test_alias_path[json-{'foo': {'bat': '123'}}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 67%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'foo': {'bar': {'bat': '123'}}}-({'field_a': 123}, None, {'field_a'})] PASSED [ 67%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'foo': [1, 2, 3, 4]}-({'field_a': 4}, None, {'field_a'})] PASSED [ 67%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'foo': (1, 2, 3, 4)}-({'field_a': 4}, None, {'field_a'})] PASSED [ 67%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'spam': 5}-({'field_a': 5}, None, {'field_a'})] PASSED [ 67%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'spam': 1, 'foo': {'bar': {'bat': 2}}}-({'field_a': 2}, None, {'field_a'})] PASSED [ 67%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'foo': {'x': 2}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 67%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'x': '123'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 67%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'x': {2: 33}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 67%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'foo': '01234'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 67%] tests/validators/test_model_fields.py::test_aliases_path_multiple[python-{'foo': [1]}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 67%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'foo': {'bar': {'bat': '123'}}}-({'field_a': 123}, None, {'field_a'})] PASSED [ 67%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'foo': [1, 2, 3, 4]}-({'field_a': 4}, None, {'field_a'})] PASSED [ 67%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'foo': (1, 2, 3, 4)}-({'field_a': 4}, None, {'field_a'})] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'spam': 5}-({'field_a': 5}, None, {'field_a'})] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'spam': 1, 'foo': {'bar': {'bat': 2}}}-({'field_a': 2}, None, {'field_a'})] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'foo': {'x': 2}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'x': '123'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'x': {2: 33}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'foo': '01234'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_multiple[json-{'foo': [1]}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_negative[{'foo': {-2: '123'}}-({'field_a': 123}, None, {'field_a'})] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_negative[{'foo': [1, 42, 'xx']}-({'field_a': 42}, None, {'field_a'})] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_negative[{'foo': [42, 'xxx', 42]}-Err('Input should be a valid integer,')] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_negative[{'foo': [42]}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_negative[{'foo': {'xx': '123'}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_negative[{'foo': {'-2': '123'}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_negative[{'foo': {2: '123'}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_negative[{'foo': 'foobar'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_negative[{'foo': {0, 1, 2}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_negative_json[python-{'foo': [1, 42, 'xx']}-({'field_a': 42}, None, {'field_a'})] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_negative_json[python-{'foo': [42, 'xxx', 42]}-Err('Input should be a valid integer,')] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_negative_json[python-{'foo': [42]}-Err('foo.-2\\\\n +Field required \\\\[type=missing,')] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_negative_json[json-{'foo': [1, 42, 'xx']}-({'field_a': 42}, None, {'field_a'})] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_negative_json[json-{'foo': [42, 'xxx', 42]}-Err('Input should be a valid integer,')] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_path_negative_json[json-{'foo': [42]}-Err('foo.-2\\\\n +Field required \\\\[type=missing,')] PASSED [ 68%] tests/validators/test_model_fields.py::test_aliases_debug PASSED [ 68%] tests/validators/test_model_fields.py::test_paths_allow_by_name[python-{'foo': {'bar': 42}}] PASSED [ 68%] tests/validators/test_model_fields.py::test_paths_allow_by_name[python-{'foo': 42}] PASSED [ 68%] tests/validators/test_model_fields.py::test_paths_allow_by_name[python-{'field_a': 42}] PASSED [ 68%] tests/validators/test_model_fields.py::test_paths_allow_by_name[json-{'foo': {'bar': 42}}] PASSED [ 68%] tests/validators/test_model_fields.py::test_paths_allow_by_name[json-{'foo': 42}] PASSED [ 68%] tests/validators/test_model_fields.py::test_paths_allow_by_name[json-{'field_a': 42}] PASSED [ 68%] tests/validators/test_model_fields.py::test_alias_build_error[{'validation_alias': ['foo', ['bar']]}-'Input should be a valid string'] PASSED [ 68%] tests/validators/test_model_fields.py::test_alias_build_error[{'validation_alias': []}-'Lookup paths should have at least one element'] PASSED [ 68%] tests/validators/test_model_fields.py::test_alias_build_error[{'validation_alias': [[]]}-'Each alias path should have at least one element'] PASSED [ 68%] tests/validators/test_model_fields.py::test_alias_build_error[{'validation_alias': [123]}-"TypeError: 'int' object cannot be converted to 'PyList'"] PASSED [ 68%] tests/validators/test_model_fields.py::test_alias_build_error[{'validation_alias': [[[]]]}-'Input should be a valid string'] PASSED [ 68%] 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 [ 68%] tests/validators/test_model_fields.py::test_alias_error_loc_alias[python] PASSED [ 68%] tests/validators/test_model_fields.py::test_alias_error_loc_alias[json] PASSED [ 68%] tests/validators/test_model_fields.py::test_alias_error_loc_field_names[python] PASSED [ 68%] tests/validators/test_model_fields.py::test_alias_error_loc_field_names[json] PASSED [ 68%] tests/validators/test_model_fields.py::test_empty_model PASSED [ 68%] tests/validators/test_model_fields.py::test_model_fields_deep PASSED [ 68%] tests/validators/test_model_fields.py::test_from_attributes[schema--({'a': 1, 'b': 2, 'c': 'ham'}, None, {'c', 'a', 'b'})] PASSED [ 68%] 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', 'a', 'b'})] PASSED [ 68%] 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', 'a', 'b'})] PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes[schema-{'a': 1, 'b': 2, 'c': 'ham'}-({'a': 1, 'b': 2, 'c': 'ham'}, None, {'c', 'a', 'b'})] PASSED [ 69%] 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', 'a', 'b'})] PASSED [ 69%] 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', 'a', 'b'})] PASSED [ 69%] 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', 'a', 'b'})] PASSED [ 69%] 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', 'a', 'b'})] PASSED [ 69%] 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', 'a', 'b'})] PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes[schema--Err('[type=model_attributes_type,')] PASSED [ 69%] 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 [ 69%] tests/validators/test_model_fields.py::test_from_attributes[schema-[(1, 2)]-Err('type=model_attributes_type,')] PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes[schema-((1, 2),)-Err('type=model_attributes_type,')] PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes[validation--({'a': 1, 'b': 2, 'c': 'ham'}, None, {'c', 'a', 'b'})] PASSED [ 69%] 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', 'a', 'b'})] PASSED [ 69%] 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', 'a', 'b'})] PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes[validation-{'a': 1, 'b': 2, 'c': 'ham'}-({'a': 1, 'b': 2, 'c': 'ham'}, None, {'c', 'a', 'b'})] PASSED [ 69%] 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', 'a', 'b'})] PASSED [ 69%] 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', 'a', 'b'})] PASSED [ 69%] 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', 'a', 'b'})] PASSED [ 69%] 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', 'a', 'b'})] PASSED [ 69%] 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', 'a', 'b'})] PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes[validation--Err('[type=model_attributes_type,')] PASSED [ 69%] 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 [ 69%] tests/validators/test_model_fields.py::test_from_attributes[validation-[(1, 2)]-Err('type=model_attributes_type,')] PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes[validation-((1, 2),)-Err('type=model_attributes_type,')] PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_type_error PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_by_name PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_override_true PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_override_false PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_missing PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_error PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_extra PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_extra_ignore_no_attributes_accessed PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_extra_forbid PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_function[Cls(a=1)-{'a': 1}] PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_function[Cls(a=)-{'a': }] PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_function[Cls(a= at 0x3bd63b1e40>)-{'a': HasRepr(IsStr(regex='.+.+'))}] PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_function[Cls(a=['/build/python-pydantic-core/src/pydantic-core-2.18.1', '/usr/bin', '/build/python-pydantic-core/src/pydantic-core-2.18.1/test_dir/usr/lib/python3.11/site-packages', '/build/python-pydantic-core/src/pydantic-core-2.18.1', '/usr/lib/python311.zip', '/usr/lib/python3.11', '/usr/lib/python3.11/lib-dynload', '/usr/lib/python3.11/site-packages'])-{'a': ['/build/python-pydantic-core/src/pydantic-core-2.18.1', '/usr/bin', '/build/python-pydantic-core/src/pydantic-core-2.18.1/test_dir/usr/lib/python3.11/site-packages', '/build/python-pydantic-core/src/pydantic-core-2.18.1', '/usr/lib/python311.zip', '/usr/lib/python3.11', '/usr/lib/python3.11/lib-dynload', '/usr/lib/python3.11/site-packages']}] PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_function[Cls(a=)-{'a': }] PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_error_error PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_path[{'foo': {'bar': {'bat': '123'}}}-{'my_field': 123}] PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(foo=Cls(bar=Cls(bat='123')))-{'my_field': 123}] PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(foo={'bar': {'bat': '123'}})-{'my_field': 123}] PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(foo=[1, 2, 3, 4])-{'my_field': 4}] PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(foo=(1, 2, 3, 4))-{'my_field': 4}] PASSED [ 69%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(spam=5)-{'my_field': 5}] PASSED [ 70%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(spam=1, foo=Cls(bar=Cls(bat=2)))-{'my_field': 2}] PASSED [ 70%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(x='123')-Err('my_field\\\\n +Field required \\\\[type=missing,')] PASSED [ 70%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(x={2: 33})-Err('my_field\\\\n +Field required \\\\[type=missing,')] PASSED [ 70%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(foo='01234')-Err('my_field\\\\n +Field required \\\\[type=missing,')] PASSED [ 70%] tests/validators/test_model_fields.py::test_from_attributes_path[Cls(foo=[1])-Err('my_field\\\\n +Field required \\\\[type=missing,')] PASSED [ 70%] tests/validators/test_model_fields.py::test_from_attributes_path[-Err('Input should be a valid dictionary')] PASSED [ 70%] tests/validators/test_model_fields.py::test_from_attributes_path_error PASSED [ 70%] tests/validators/test_model_fields.py::test_alias_extra[python] PASSED [ 70%] tests/validators/test_model_fields.py::test_alias_extra[json] PASSED [ 70%] tests/validators/test_model_fields.py::test_alias_extra_from_attributes PASSED [ 70%] tests/validators/test_model_fields.py::test_alias_extra_by_name[python] PASSED [ 70%] tests/validators/test_model_fields.py::test_alias_extra_by_name[json] PASSED [ 70%] tests/validators/test_model_fields.py::test_alias_extra_forbid[python] PASSED [ 70%] tests/validators/test_model_fields.py::test_alias_extra_forbid[json] PASSED [ 70%] tests/validators/test_model_fields.py::test_with_default_factory PASSED [ 70%] tests/validators/test_model_fields.py::test_bad_default_factory[-unsupported operand type(s) for +: 'int' and 'str'] PASSED [ 70%] tests/validators/test_model_fields.py::test_bad_default_factory[-() missing 1 required positional argument: 'x'] PASSED [ 70%] tests/validators/test_model_fields.py::TestOnError::test_on_error_bad_name PASSED [ 70%] tests/validators/test_model_fields.py::TestOnError::test_on_error_bad_default PASSED [ 70%] tests/validators/test_model_fields.py::TestOnError::test_on_error_raise_by_default[python] PASSED [ 70%] tests/validators/test_model_fields.py::TestOnError::test_on_error_raise_by_default[json] PASSED [ 70%] tests/validators/test_model_fields.py::TestOnError::test_on_error_raise_explicit[python] PASSED [ 70%] tests/validators/test_model_fields.py::TestOnError::test_on_error_raise_explicit[json] PASSED [ 70%] tests/validators/test_model_fields.py::TestOnError::test_on_error_default[python] PASSED [ 70%] tests/validators/test_model_fields.py::TestOnError::test_on_error_default[json] PASSED [ 70%] tests/validators/test_model_fields.py::TestOnError::test_on_error_default_factory[python] PASSED [ 70%] tests/validators/test_model_fields.py::TestOnError::test_on_error_default_factory[json] PASSED [ 70%] tests/validators/test_model_fields.py::TestOnError::test_wrap_on_error[python] PASSED [ 70%] tests/validators/test_model_fields.py::TestOnError::test_wrap_on_error[json] PASSED [ 70%] tests/validators/test_model_fields.py::test_frozen_field PASSED [ 70%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extras_schema=unset-config0-schema_extra_behavior_kw0] PASSED [ 70%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extras_schema=unset-config1-schema_extra_behavior_kw1] PASSED [ 70%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extras_schema=unset-config2-schema_extra_behavior_kw2] PASSED [ 70%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extras_schema=unset-None-schema_extra_behavior_kw3] PASSED [ 70%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extras_schema=unset-config4-schema_extra_behavior_kw4] PASSED [ 70%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extras_schema=None-config0-schema_extra_behavior_kw0] PASSED [ 70%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extras_schema=None-config1-schema_extra_behavior_kw1] PASSED [ 70%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extras_schema=None-config2-schema_extra_behavior_kw2] PASSED [ 70%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extras_schema=None-None-schema_extra_behavior_kw3] PASSED [ 70%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extras_schema=None-config4-schema_extra_behavior_kw4] PASSED [ 70%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extras_schema=int-config0-schema_extra_behavior_kw0] PASSED [ 70%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extras_schema=int-config1-schema_extra_behavior_kw1] PASSED [ 70%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extras_schema=int-config2-schema_extra_behavior_kw2] PASSED [ 70%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extras_schema=int-None-schema_extra_behavior_kw3] PASSED [ 71%] tests/validators/test_model_fields.py::test_extra_behavior_allow[extras_schema=int-config4-schema_extra_behavior_kw4] PASSED [ 71%] tests/validators/test_model_fields.py::test_extra_behavior_forbid[config0-schema_extra_behavior_kw0] PASSED [ 71%] tests/validators/test_model_fields.py::test_extra_behavior_forbid[config1-schema_extra_behavior_kw1] PASSED [ 71%] tests/validators/test_model_fields.py::test_extra_behavior_forbid[config2-schema_extra_behavior_kw2] PASSED [ 71%] tests/validators/test_model_fields.py::test_extra_behavior_forbid[None-schema_extra_behavior_kw3] PASSED [ 71%] tests/validators/test_model_fields.py::test_extra_behavior_forbid[config4-schema_extra_behavior_kw4] PASSED [ 71%] tests/validators/test_model_fields.py::test_extra_behavior_ignore[config0-schema_extra_behavior_kw0] PASSED [ 71%] tests/validators/test_model_fields.py::test_extra_behavior_ignore[config1-schema_extra_behavior_kw1] PASSED [ 71%] tests/validators/test_model_fields.py::test_extra_behavior_ignore[None-schema_extra_behavior_kw2] PASSED [ 71%] tests/validators/test_model_fields.py::test_extra_behavior_ignore[config3-schema_extra_behavior_kw3] PASSED [ 71%] tests/validators/test_model_fields.py::test_extra_behavior_ignore[config4-schema_extra_behavior_kw4] PASSED [ 71%] tests/validators/test_model_fields.py::test_extra_behavior_ignore[config5-schema_extra_behavior_kw5] PASSED [ 71%] tests/validators/test_model_fields.py::test_extra_behavior_ignore[None-schema_extra_behavior_kw6] PASSED [ 71%] tests/validators/test_model_init.py::test_model_init PASSED [ 71%] tests/validators/test_model_init.py::test_model_init_nested PASSED [ 71%] tests/validators/test_model_init.py::test_function_before PASSED [ 71%] tests/validators/test_model_init.py::test_function_after PASSED [ 71%] tests/validators/test_model_init.py::test_function_wrap PASSED [ 71%] tests/validators/test_model_init.py::test_simple PASSED [ 71%] tests/validators/test_model_init.py::test_model_custom_init PASSED [ 71%] tests/validators/test_model_init.py::test_model_custom_init_nested PASSED [ 71%] tests/validators/test_model_init.py::test_model_custom_init_extra PASSED [ 71%] tests/validators/test_model_init.py::test_model_custom_init_revalidate PASSED [ 71%] tests/validators/test_model_init.py::test_leak_model[None] PASSED [ 71%] tests/validators/test_model_init.py::test_leak_model[field] PASSED [ 71%] tests/validators/test_model_init.py::test_leak_model[model] PASSED [ 71%] tests/validators/test_model_init.py::test_model_custom_init_with_union PASSED [ 71%] tests/validators/test_model_root.py::test_model_root PASSED [ 71%] tests/validators/test_model_root.py::test_revalidate PASSED [ 71%] tests/validators/test_model_root.py::test_revalidate_with_default PASSED [ 71%] tests/validators/test_model_root.py::test_init PASSED [ 71%] tests/validators/test_model_root.py::test_assignment PASSED [ 71%] tests/validators/test_model_root.py::test_field_function PASSED [ 71%] tests/validators/test_model_root.py::test_extra PASSED [ 71%] tests/validators/test_model_root.py::test_fields_set PASSED [ 71%] tests/validators/test_model_root.py::test_construct_from_validate_default PASSED [ 71%] tests/validators/test_none.py::test_python_none PASSED [ 71%] tests/validators/test_none.py::test_json_none PASSED [ 71%] tests/validators/test_nullable.py::test_nullable PASSED [ 71%] tests/validators/test_nullable.py::test_union_nullable_bool_int PASSED [ 71%] tests/validators/test_nullable.py::test_leak_nullable PASSED [ 71%] tests/validators/test_pickling.py::test_basic_schema_validator PASSED [ 71%] tests/validators/test_pickling.py::test_schema_validator_containing_config PASSED [ 71%] tests/validators/test_pickling.py::test_schema_validator_tz_pickle PASSED [ 72%] tests/validators/test_set.py::test_set_ints_both[python-input_value0-expected0] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_both[python-input_value1-expected1] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_both[python-input_value2-expected2] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_both[python-input_value3-expected3] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_both[python-5-expected4] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_both[json-input_value0-expected0] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_both[json-input_value1-expected1] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_both[json-input_value2-expected2] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_both[json-input_value3-expected3] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_both[json-5-expected4] PASSED [ 72%] tests/validators/test_set.py::test_set_no_validators_both[python-input_value0-expected0] PASSED [ 72%] tests/validators/test_set.py::test_set_no_validators_both[json-input_value0-expected0] PASSED [ 72%] tests/validators/test_set.py::test_frozenset_no_validators_both[python-input_value0-expected0] PASSED [ 72%] tests/validators/test_set.py::test_frozenset_no_validators_both[python-foo-expected1] PASSED [ 72%] tests/validators/test_set.py::test_frozenset_no_validators_both[python-1-expected2] PASSED [ 72%] tests/validators/test_set.py::test_frozenset_no_validators_both[python-1.0-expected3] PASSED [ 72%] tests/validators/test_set.py::test_frozenset_no_validators_both[python-False-expected4] PASSED [ 72%] tests/validators/test_set.py::test_frozenset_no_validators_both[json-input_value0-expected0] PASSED [ 72%] tests/validators/test_set.py::test_frozenset_no_validators_both[json-foo-expected1] PASSED [ 72%] tests/validators/test_set.py::test_frozenset_no_validators_both[json-1-expected2] PASSED [ 72%] tests/validators/test_set.py::test_frozenset_no_validators_both[json-1.0-expected3] PASSED [ 72%] tests/validators/test_set.py::test_frozenset_no_validators_both[json-False-expected4] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_python[input_value0-expected0] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_python[input_value1-expected1] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_python[input_value2-expected2] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_python[input_value3-expected3] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_python[input_value4-expected4] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_python[input_value5-expected5] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_python[input_value6-expected6] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_python[input_value7-expected7] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_python[input_value8-expected8] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_python[input_value9-expected9] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_python[input_value10-expected10] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_python[-expected11] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_python[input_value12-expected12] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_python[input_value13-expected13] PASSED [ 72%] tests/validators/test_set.py::test_set_ints_python[abc-expected14] PASSED [ 72%] tests/validators/test_set.py::test_set_no_validators_python[input_value0-expected0] PASSED [ 72%] tests/validators/test_set.py::test_set_no_validators_python[input_value1-expected1] PASSED [ 72%] tests/validators/test_set.py::test_set_multiple_errors PASSED [ 72%] tests/validators/test_set.py::test_set_kwargs[{'strict': True}-{1, 2, 3}-{1, 2, 3}] PASSED [ 72%] tests/validators/test_set.py::test_set_kwargs[{'strict': True}-set()-set()] PASSED [ 72%] 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 [ 72%] tests/validators/test_set.py::test_set_kwargs[{'strict': True}-[]-Err('Input should be a valid set [type=set_type,')] PASSED [ 73%] tests/validators/test_set.py::test_set_kwargs[{'strict': True}-()-Err('Input should be a valid set [type=set_type,')] PASSED [ 73%] tests/validators/test_set.py::test_set_kwargs[{'strict': True}-(1, 2, 3)-Err('Input should be a valid set [type=set_type,')] PASSED [ 73%] 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 [ 73%] tests/validators/test_set.py::test_set_kwargs[{'strict': True}-'abc'-Err('Input should be a valid set [type=set_type,')] PASSED [ 73%] tests/validators/test_set.py::test_set_kwargs[{'min_length': 3}-{1, 2, 3}-{1, 2, 3}] PASSED [ 73%] 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 [ 73%] 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 more [type=too_long,')] PASSED [ 73%] 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 more [type=too_long,')] PASSED [ 73%] tests/validators/test_set.py::test_set_kwargs[{'max_length': 3, 'items_schema': {'type': 'int'}}-{1, 2, 3, 4}-Err('type=too_long,')] PASSED [ 73%] tests/validators/test_set.py::test_set_kwargs[{'max_length': 3, 'items_schema': {'type': 'int'}}-[1, 2, 3, 4]-Err('type=too_long,')] PASSED [ 73%] tests/validators/test_set.py::test_set_kwargs[{'max_length': 3}-[1, 1, 2, 2, 3, 3]-{1, 2, 3}] PASSED [ 73%] tests/validators/test_set.py::test_set_kwargs[{'max_length': 3}--{1, 2, 3}] PASSED [ 73%] tests/validators/test_set.py::test_set_kwargs[{'max_length': 3}--Err('Set should have at most 3 items after validation, not more [type=too_long,')] PASSED [ 73%] tests/validators/test_set.py::test_union_set_list[input_value0-expected0] PASSED [ 73%] tests/validators/test_set.py::test_union_set_list[input_value1-expected1] PASSED [ 73%] tests/validators/test_set.py::test_union_set_int_set_str[input_value0-expected0] PASSED [ 73%] tests/validators/test_set.py::test_union_set_int_set_str[input_value1-expected1] PASSED [ 73%] tests/validators/test_set.py::test_union_set_int_set_str[input_value2-expected2] PASSED [ 73%] tests/validators/test_set.py::test_set_as_dict_keys[python] PASSED [ 73%] tests/validators/test_set.py::test_set_as_dict_keys[json] PASSED [ 73%] tests/validators/test_set.py::test_generator_error PASSED [ 73%] tests/validators/test_set.py::test_set_from_dict_items[Tuple[Any, Any]] PASSED [ 73%] tests/validators/test_set.py::test_set_from_dict_items[Tuple[int, int]] PASSED [ 73%] tests/validators/test_set.py::test_set_from_dict_items[Any] PASSED [ 73%] tests/validators/test_set.py::test_set_any[input_value0-expected0] PASSED [ 73%] tests/validators/test_set.py::test_set_any[input_value1-expected1] PASSED [ 73%] tests/validators/test_set.py::test_set_any[input_value2-expected2] PASSED [ 73%] tests/validators/test_set.py::test_set_any[input_value3-expected3] PASSED [ 73%] tests/validators/test_set.py::test_set_any[input_value4-expected4] PASSED [ 73%] tests/validators/test_string.py::test_str[python-foobar-foobar] PASSED [ 73%] tests/validators/test_string.py::test_str[python-123-expected1] PASSED [ 73%] tests/validators/test_string.py::test_str[python-123.456-expected2] PASSED [ 73%] tests/validators/test_string.py::test_str[python-False-expected3] PASSED [ 73%] tests/validators/test_string.py::test_str[python-True-expected4] PASSED [ 73%] tests/validators/test_string.py::test_str[python-input_value5-expected5] PASSED [ 73%] tests/validators/test_string.py::test_str[json-foobar-foobar] PASSED [ 73%] tests/validators/test_string.py::test_str[json-123-expected1] PASSED [ 73%] tests/validators/test_string.py::test_str[json-123.456-expected2] PASSED [ 73%] tests/validators/test_string.py::test_str[json-False-expected3] PASSED [ 73%] tests/validators/test_string.py::test_str[json-True-expected4] PASSED [ 73%] tests/validators/test_string.py::test_str[json-input_value5-expected5] PASSED [ 73%] tests/validators/test_string.py::test_str_not_json[foobar-foobar0] PASSED [ 73%] tests/validators/test_string.py::test_str_not_json[\U0001f408 Hello \ud800World-\U0001f408 Hello \ud800World] PASSED [ 73%] tests/validators/test_string.py::test_str_not_json[foobar-foobar1] PASSED [ 74%] tests/validators/test_string.py::test_str_not_json[input_value3-foobar] PASSED [ 74%] tests/validators/test_string.py::test_str_not_json[\x81-expected4] PASSED [ 74%] tests/validators/test_string.py::test_str_not_json[input_value5-expected5] PASSED [ 74%] tests/validators/test_string.py::test_str_not_json[\x00-\x00] PASSED [ 74%] tests/validators/test_string.py::test_str_not_json[123-expected7] PASSED [ 74%] tests/validators/test_string.py::test_str_not_json[input_value8-expected8] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[python-kwargs0-abc-abc] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[python-kwargs1-Foobar-Foobar] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[python-kwargs2-fooBar-FOOBAR] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[python-kwargs3-fooBar-foobar] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[python-kwargs4- foobar -foobar] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[python-kwargs5- fooBar-FOOBAR] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[python-kwargs6-12345-12345] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[python-kwargs7-1234-expected7] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[python-kwargs8-12345-12345] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[python-kwargs9-123456-expected9] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[python-kwargs10-12345-12345] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[python-kwargs11-foobar 123-foobar 123] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[python-kwargs12-12345a-expected12] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[python-kwargs13-1234 -1234] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[python-kwargs14-abc-ABC] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[python-kwargs15-foobar 123 -foobar 123] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[python-kwargs16-\U0001f408 Hello-\U0001f408 Hello] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[json-kwargs0-abc-abc] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[json-kwargs1-Foobar-Foobar] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[json-kwargs2-fooBar-FOOBAR] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[json-kwargs3-fooBar-foobar] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[json-kwargs4- foobar -foobar] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[json-kwargs5- fooBar-FOOBAR] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[json-kwargs6-12345-12345] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[json-kwargs7-1234-expected7] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[json-kwargs8-12345-12345] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[json-kwargs9-123456-expected9] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[json-kwargs10-12345-12345] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[json-kwargs11-foobar 123-foobar 123] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[json-kwargs12-12345a-expected12] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[json-kwargs13-1234 -1234] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[json-kwargs14-abc-ABC] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[json-kwargs15-foobar 123 -foobar 123] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str[json-kwargs16-\U0001f408 Hello-\U0001f408 Hello] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str_py_only[kwargs0-abc-abc] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str_py_only[kwargs1-Foobar-Foobar] PASSED [ 74%] tests/validators/test_string.py::test_constrained_str_py_only[kwargs2-123-expected2] PASSED [ 74%] tests/validators/test_string.py::test_unicode_error PASSED [ 75%] tests/validators/test_string.py::test_str_constrained[short string] PASSED [ 75%] tests/validators/test_string.py::test_str_constrained[long string] PASSED [ 75%] tests/validators/test_string.py::test_str_constrained[short string with unicode characters] PASSED [ 75%] tests/validators/test_string.py::test_str_constrained[long string with unicode characters] PASSED [ 75%] tests/validators/test_string.py::test_str_constrained[a lot of `\u0430`s] PASSED [ 75%] tests/validators/test_string.py::test_str_constrained_config PASSED [ 75%] tests/validators/test_string.py::test_invalid_regex[None] PASSED [ 75%] tests/validators/test_string.py::test_invalid_regex[rust-regex] PASSED [ 75%] tests/validators/test_string.py::test_invalid_regex[python-re] PASSED [ 75%] tests/validators/test_string.py::test_regex_error[None] PASSED [ 75%] tests/validators/test_string.py::test_regex_error[rust-regex] PASSED [ 75%] tests/validators/test_string.py::test_regex_error[python-re] PASSED [ 75%] tests/validators/test_string.py::test_default_validator PASSED [ 75%] tests/validators/test_string.py::test_strict_subclass[False] PASSED [ 75%] tests/validators/test_string.py::test_strict_subclass[True] PASSED [ 75%] tests/validators/test_string.py::test_lax_subclass[{}] PASSED [ 75%] tests/validators/test_string.py::test_lax_subclass[{'to_lower': True}] PASSED [ 75%] tests/validators/test_string.py::test_lax_subclass_plain_enum[{}] PASSED [ 75%] tests/validators/test_string.py::test_lax_subclass_plain_enum[{'to_lower': True}] PASSED [ 75%] tests/validators/test_string.py::test_subclass_preserved PASSED [ 75%] tests/validators/test_string.py::test_coerce_numbers_to_str_disabled_in_strict_mode PASSED [ 75%] tests/validators/test_string.py::test_coerce_numbers_to_str_raises_for_bool PASSED [ 75%] tests/validators/test_string.py::test_coerce_numbers_to_str[42] PASSED [ 75%] tests/validators/test_string.py::test_coerce_numbers_to_str[42.0] PASSED [ 75%] tests/validators/test_string.py::test_coerce_numbers_to_str[Decimal('42.0')] PASSED [ 75%] tests/validators/test_string.py::test_coerce_numbers_to_str_from_json[42] PASSED [ 75%] tests/validators/test_string.py::test_coerce_numbers_to_str_from_json[42.0] PASSED [ 75%] tests/validators/test_string.py::test_coerce_numbers_to_str_from_json[42.13] PASSED [ 75%] tests/validators/test_string.py::test_backtracking_regex_rust_unsupported[None] PASSED [ 75%] tests/validators/test_string.py::test_backtracking_regex_rust_unsupported[schema] PASSED [ 75%] tests/validators/test_string.py::test_backtracking_regex_rust_unsupported[config] PASSED [ 75%] tests/validators/test_string.py::test_backtracking_regex_python[schema] PASSED [ 75%] tests/validators/test_string.py::test_backtracking_regex_python[config] PASSED [ 75%] tests/validators/test_string.py::test_coerce_numbers_to_str_schema[42] PASSED [ 75%] tests/validators/test_string.py::test_coerce_numbers_to_str_schema[443] PASSED [ 75%] tests/validators/test_string.py::test_coerce_numbers_to_str_schema[10242] PASSED [ 75%] tests/validators/test_string.py::test_coerce_numbers_to_str_schema_precedence[42] PASSED [ 75%] tests/validators/test_string.py::test_coerce_numbers_to_str_schema_precedence[443] PASSED [ 75%] tests/validators/test_string.py::test_coerce_numbers_to_str_schema_precedence[10242] PASSED [ 75%] tests/validators/test_string.py::test_coerce_numbers_to_str_schema_with_strict_mode[42] PASSED [ 75%] tests/validators/test_string.py::test_coerce_numbers_to_str_schema_with_strict_mode[443] PASSED [ 75%] tests/validators/test_string.py::test_coerce_numbers_to_str_schema_with_strict_mode[10242] PASSED [ 75%] tests/validators/test_tagged_union.py::test_simple_tagged_union[python-{'foo': 'apple', 'bar': '123'}-{'foo': 'apple', 'bar': 123}] PASSED [ 75%] tests/validators/test_tagged_union.py::test_simple_tagged_union[python-{'foo': 'banana', 'spam': [1, 2, '3']}-{'foo': 'banana', 'spam': [1, 2, 3]}] PASSED [ 76%] 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 [ 76%] 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 [ 76%] 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 [ 76%] 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 [ 76%] 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 [ 76%] tests/validators/test_tagged_union.py::test_simple_tagged_union[json-{'foo': 'apple', 'bar': '123'}-{'foo': 'apple', 'bar': 123}] PASSED [ 76%] tests/validators/test_tagged_union.py::test_simple_tagged_union[json-{'foo': 'banana', 'spam': [1, 2, '3']}-{'foo': 'banana', 'spam': [1, 2, 3]}] PASSED [ 76%] 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 [ 76%] 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 [ 76%] 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 [ 76%] 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 [ 76%] 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 [ 76%] tests/validators/test_tagged_union.py::test_int_choice_keys[python-input_value0-expected0] PASSED [ 76%] tests/validators/test_tagged_union.py::test_int_choice_keys[python-input_value1-expected1] PASSED [ 76%] tests/validators/test_tagged_union.py::test_int_choice_keys[python-input_value2-expected2] PASSED [ 76%] tests/validators/test_tagged_union.py::test_int_choice_keys[python-input_value3-expected3] PASSED [ 76%] tests/validators/test_tagged_union.py::test_int_choice_keys[json-input_value0-expected0] PASSED [ 76%] tests/validators/test_tagged_union.py::test_int_choice_keys[json-input_value1-expected1] PASSED [ 76%] tests/validators/test_tagged_union.py::test_int_choice_keys[json-input_value2-expected2] PASSED [ 76%] tests/validators/test_tagged_union.py::test_int_choice_keys[json-input_value3-expected3] PASSED [ 76%] tests/validators/test_tagged_union.py::test_enum_keys PASSED [ 76%] tests/validators/test_tagged_union.py::test_discriminator_path[python] PASSED [ 76%] tests/validators/test_tagged_union.py::test_discriminator_path[json] PASSED [ 76%] tests/validators/test_tagged_union.py::test_discriminator_function[python-foo-foo] PASSED [ 76%] tests/validators/test_tagged_union.py::test_discriminator_function[python-123-123] PASSED [ 76%] tests/validators/test_tagged_union.py::test_discriminator_function[python-baz-expected2] PASSED [ 76%] tests/validators/test_tagged_union.py::test_discriminator_function[python-None-expected3] PASSED [ 76%] tests/validators/test_tagged_union.py::test_discriminator_function[python-input_value4-expected4] PASSED [ 76%] tests/validators/test_tagged_union.py::test_discriminator_function[json-foo-foo] PASSED [ 76%] tests/validators/test_tagged_union.py::test_discriminator_function[json-123-123] PASSED [ 76%] tests/validators/test_tagged_union.py::test_discriminator_function[json-baz-expected2] PASSED [ 76%] tests/validators/test_tagged_union.py::test_discriminator_function[json-None-expected3] PASSED [ 76%] tests/validators/test_tagged_union.py::test_discriminator_function[json-input_value4-expected4] PASSED [ 76%] tests/validators/test_tagged_union.py::test_int_discriminator_function[python-foo-foo] PASSED [ 76%] tests/validators/test_tagged_union.py::test_int_discriminator_function[python-123-123] PASSED [ 76%] tests/validators/test_tagged_union.py::test_int_discriminator_function[python-None-expected2] PASSED [ 76%] tests/validators/test_tagged_union.py::test_int_discriminator_function[python-input_value3-expected3] PASSED [ 76%] tests/validators/test_tagged_union.py::test_int_discriminator_function[json-foo-foo] PASSED [ 76%] tests/validators/test_tagged_union.py::test_int_discriminator_function[json-123-123] PASSED [ 76%] tests/validators/test_tagged_union.py::test_int_discriminator_function[json-None-expected2] PASSED [ 76%] tests/validators/test_tagged_union.py::test_int_discriminator_function[json-input_value3-expected3] PASSED [ 76%] tests/validators/test_tagged_union.py::test_from_attributes PASSED [ 76%] tests/validators/test_tagged_union.py::test_use_ref PASSED [ 76%] tests/validators/test_tagged_union.py::test_downcast_error PASSED [ 77%] tests/validators/test_tagged_union.py::test_custom_error PASSED [ 77%] tests/validators/test_tagged_union.py::test_custom_error_type PASSED [ 77%] tests/validators/test_time.py::test_time[time] PASSED [ 77%] tests/validators/test_time.py::test_time[time-micro] PASSED [ 77%] tests/validators/test_time.py::test_time[time-tz] PASSED [ 77%] tests/validators/test_time.py::test_time[str] PASSED [ 77%] tests/validators/test_time.py::test_time[str-tz] PASSED [ 77%] tests/validators/test_time.py::test_time[bytes] PASSED [ 77%] tests/validators/test_time.py::test_time[tuple] PASSED [ 77%] tests/validators/test_time.py::test_time[date] PASSED [ 77%] tests/validators/test_time.py::test_time[datetime] PASSED [ 77%] tests/validators/test_time.py::test_time[int] PASSED [ 77%] tests/validators/test_time.py::test_time[nan] PASSED [ 77%] tests/validators/test_time.py::test_time[inf] PASSED [ 77%] tests/validators/test_time.py::test_time[-inf] PASSED [ 77%] tests/validators/test_time.py::test_time[decimal] PASSED [ 77%] tests/validators/test_time.py::test_time[decimal-6dig] PASSED [ 77%] tests/validators/test_time.py::test_time[decimal-7dig-up] PASSED [ 77%] tests/validators/test_time.py::test_time[decimal-7dig-down] PASSED [ 77%] tests/validators/test_time.py::test_time_json[python-str] PASSED [ 77%] tests/validators/test_time.py::test_time_json[python-str-micro] PASSED [ 77%] tests/validators/test_time.py::test_time_json[python-str-micro-6dig0] PASSED [ 77%] tests/validators/test_time.py::test_time_json[python-str-micro-6dig1] PASSED [ 77%] tests/validators/test_time.py::test_time_json[python-str-micro-7dig] PASSED [ 77%] tests/validators/test_time.py::test_time_json[python-int] PASSED [ 77%] tests/validators/test_time.py::test_time_json[python-float] PASSED [ 77%] tests/validators/test_time.py::test_time_json[python-float.0] PASSED [ 77%] tests/validators/test_time.py::test_time_json[python-int-zero] PASSED [ 77%] tests/validators/test_time.py::test_time_json[python-too-high] PASSED [ 77%] tests/validators/test_time.py::test_time_json[python-negative] PASSED [ 77%] tests/validators/test_time.py::test_time_json[python-too-high-2**32] PASSED [ 77%] tests/validators/test_time.py::test_time_json[python-too-high-2**64] PASSED [ 77%] tests/validators/test_time.py::test_time_json[python-too-high-2**100] PASSED [ 77%] tests/validators/test_time.py::test_time_json[python-bool] PASSED [ 77%] tests/validators/test_time.py::test_time_json[json-str] PASSED [ 77%] tests/validators/test_time.py::test_time_json[json-str-micro] PASSED [ 77%] tests/validators/test_time.py::test_time_json[json-str-micro-6dig0] PASSED [ 77%] tests/validators/test_time.py::test_time_json[json-str-micro-6dig1] PASSED [ 77%] tests/validators/test_time.py::test_time_json[json-str-micro-7dig] PASSED [ 77%] tests/validators/test_time.py::test_time_json[json-int] PASSED [ 77%] tests/validators/test_time.py::test_time_json[json-float] PASSED [ 77%] tests/validators/test_time.py::test_time_json[json-float.0] PASSED [ 77%] tests/validators/test_time.py::test_time_json[json-int-zero] PASSED [ 77%] tests/validators/test_time.py::test_time_json[json-too-high] PASSED [ 78%] tests/validators/test_time.py::test_time_json[json-negative] PASSED [ 78%] tests/validators/test_time.py::test_time_json[json-too-high-2**32] PASSED [ 78%] tests/validators/test_time.py::test_time_json[json-too-high-2**64] PASSED [ 78%] tests/validators/test_time.py::test_time_json[json-too-high-2**100] PASSED [ 78%] tests/validators/test_time.py::test_time_json[json-bool] PASSED [ 78%] tests/validators/test_time.py::test_time_error_microseconds_overflow[python] PASSED [ 78%] tests/validators/test_time.py::test_time_error_microseconds_overflow[json] PASSED [ 78%] tests/validators/test_time.py::test_time_strict[input_value0-expected0] PASSED [ 78%] tests/validators/test_time.py::test_time_strict[12:13:14-expected1] PASSED [ 78%] tests/validators/test_time.py::test_time_strict[12:13:14-expected2] PASSED [ 78%] tests/validators/test_time.py::test_time_strict[1654646400-expected3] PASSED [ 78%] tests/validators/test_time.py::test_time_strict[True-expected4] PASSED [ 78%] tests/validators/test_time.py::test_time_strict[input_value5-expected5] PASSED [ 78%] tests/validators/test_time.py::test_time_strict[input_value6-expected6] PASSED [ 78%] tests/validators/test_time.py::test_time_strict_json["12:13:14"-expected0] PASSED [ 78%] tests/validators/test_time.py::test_time_strict_json["foobar"-expected1] PASSED [ 78%] tests/validators/test_time.py::test_time_strict_json[123-expected2] PASSED [ 78%] tests/validators/test_time.py::test_time_kwargs[kwargs0-12:13:14-expected0] PASSED [ 78%] tests/validators/test_time.py::test_time_kwargs[kwargs1-00:12-expected1] PASSED [ 78%] tests/validators/test_time.py::test_time_kwargs[kwargs2-01:00-expected2] PASSED [ 78%] tests/validators/test_time.py::test_time_kwargs[kwargs3-01:01-expected3] PASSED [ 78%] tests/validators/test_time.py::test_time_kwargs[kwargs4-input_value4-expected4] PASSED [ 78%] tests/validators/test_time.py::test_time_kwargs[kwargs5-input_value5-expected5] PASSED [ 78%] tests/validators/test_time.py::test_time_kwargs[kwargs6-00:59-expected6] PASSED [ 78%] tests/validators/test_time.py::test_time_kwargs[kwargs7-01:00-expected7] PASSED [ 78%] tests/validators/test_time.py::test_time_kwargs[kwargs8-01:00-expected8] PASSED [ 78%] tests/validators/test_time.py::test_time_kwargs[kwargs9-00:59-expected9] PASSED [ 78%] tests/validators/test_time.py::test_time_kwargs[kwargs10-12:13:14.123457-expected10] PASSED [ 78%] tests/validators/test_time.py::test_time_kwargs[kwargs11-12:13:14.123456-expected11] PASSED [ 78%] tests/validators/test_time.py::test_time_bound_ctx PASSED [ 78%] tests/validators/test_time.py::test_invalid_constraint PASSED [ 78%] tests/validators/test_time.py::test_dict_py PASSED [ 78%] tests/validators/test_time.py::test_dict[python] PASSED [ 78%] tests/validators/test_time.py::test_dict[json] PASSED [ 78%] tests/validators/test_time.py::test_union PASSED [ 78%] tests/validators/test_time.py::test_aware PASSED [ 78%] tests/validators/test_time.py::test_naive PASSED [ 78%] tests/validators/test_time.py::test_aware_specific PASSED [ 78%] tests/validators/test_time.py::test_neg_7200 PASSED [ 78%] tests/validators/test_time.py::test_tz_constraint_too_high PASSED [ 78%] tests/validators/test_time.py::test_tz_constraint_wrong PASSED [ 78%] tests/validators/test_timedelta.py::test_timedelta[datetime.timedelta(days=-3, seconds=7201, microseconds=500000)-datetime.timedelta(days=-3, seconds=7201, microseconds=500000)] PASSED [ 78%] tests/validators/test_timedelta.py::test_timedelta[datetime.timedelta(days=17, seconds=3723, microseconds=500000)-datetime.timedelta(days=17, seconds=3723, microseconds=500000)] PASSED [ 78%] tests/validators/test_timedelta.py::test_timedelta['P0Y0M3D2WT1H2M3.5S'-datetime.timedelta(days=17, seconds=3723, microseconds=500000)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta[b'P0Y0M3D2WT1H2M3.5S'-datetime.timedelta(days=17, seconds=3723, microseconds=500000)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta[(-1,)-Err('Input should be a valid timedelta [type=time_delta_type')] PASSED [ 79%] 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 [ 79%] tests/validators/test_timedelta.py::test_timedelta[3601-datetime.timedelta(seconds=3601)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta[Decimal('3601.123456')-datetime.timedelta(seconds=3601, microseconds=123456)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta[Decimal('3601.1234562')-datetime.timedelta(seconds=3601, microseconds=123456)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta[Decimal('3601.1234568')-datetime.timedelta(seconds=3601, microseconds=123457)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta[-3601-datetime.timedelta(days=-1, seconds=82799)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta[Decimal('-3601.222222')-datetime.timedelta(days=-1, seconds=82798, microseconds=777778)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta[Decimal('-3601.2222222')-datetime.timedelta(days=-1, seconds=82798, microseconds=777778)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta[Decimal('-3601.2222227')-datetime.timedelta(days=-1, seconds=82798, microseconds=777777)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta[nan-Err('Input should be a valid timedelta, NaN values not permitted')] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta[inf-Err('Input should be a valid timedelta, durations may not exceed 999,999,999 days')] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta[-inf-Err('Input should be a valid timedelta, durations may not exceed 999,999,999 days')] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta[datetime.timedelta(days=999999999, seconds=86399, microseconds=999999)-datetime.timedelta(days=999999999, seconds=86399, microseconds=999999)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta['02:03:04.05'-datetime.timedelta(seconds=7384, microseconds=50000)] PASSED [ 79%] 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 [ 79%] tests/validators/test_timedelta.py::test_timedelta_json['"P0Y0M3D2WT1H2M3.5S"'-datetime.timedelta(days=17, seconds=3723, microseconds=500000)] PASSED [ 79%] 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 [ 79%] tests/validators/test_timedelta.py::test_timedelta_json['true'-Err('Input should be a valid duration [type=time_delta_type')] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_json['3601'-datetime.timedelta(seconds=3601)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_json['3601.123456'-datetime.timedelta(seconds=3601, microseconds=123456)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_json['-3601'-datetime.timedelta(days=-1, seconds=82799)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_json['-3601.222222'-datetime.timedelta(days=-1, seconds=82798, microseconds=777778)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_json['-3601.2222222'-datetime.timedelta(days=-1, seconds=82798, microseconds=777778)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_json['3600.999999'-datetime.timedelta(seconds=3600, microseconds=999999)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_strict[input_value0-expected0] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_strict[P0Y0M3D2WT1H2M3.5S-expected1] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_strict[P0Y0M3D2WT1H2M3.5S-expected2] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_strict_json["P0Y0M3D2WT1H2M3.5S"-expected0] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_strict_json["12345"-expected1] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_strict_json[true-expected2] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{}-'P0Y0M3D2WT1H2M3S'-datetime.timedelta(days=17, seconds=3723)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'le': datetime.timedelta(days=3)}-'P2DT1H'-datetime.timedelta(days=2, seconds=3600)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'le': datetime.timedelta(days=3)}-'P3DT0H'-datetime.timedelta(days=3)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'le': datetime.timedelta(days=3)}-'P3DT1H'-Err('Input should be less than or equal to 3 days')] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'lt': datetime.timedelta(days=3)}-'P2DT1H'-datetime.timedelta(days=2, seconds=3600)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'lt': datetime.timedelta(days=3)}-'P3DT1H'-Err('Input should be less than 3 days')] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'ge': datetime.timedelta(days=3)}-'P3DT1H'-datetime.timedelta(days=3, seconds=3600)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'ge': datetime.timedelta(days=3)}-'P3D'-datetime.timedelta(days=3)] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'ge': datetime.timedelta(days=3)}-'P2DT1H'-Err('Input should be greater than or equal to 3 days')] PASSED [ 79%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'gt': datetime.timedelta(days=3)}-'P3DT1H'-datetime.timedelta(days=3, seconds=3600)] PASSED [ 79%] 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 [ 79%] 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 [ 80%] 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 -2 days and 23 hours and 59 minutes and 59 seconds and 877000 microseconds [type=less_than_equal')] PASSED [ 80%] 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 [ 80%] 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 [ 80%] 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 -2 days and 23 hours and 59 minutes and 59 seconds and 877000 microseconds [type=greater_than')] PASSED [ 80%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'gt': datetime.timedelta(seconds=5400)}-'PT180S'-Err('Input should be greater than 1 hour and 30 minutes [type=greater_than')] PASSED [ 80%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'gt': datetime.timedelta(0)}-'-P0DT0.1S'-Err('Input should be greater than 0 seconds [type=greater_than')] PASSED [ 80%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'gt': datetime.timedelta(0)}-'P0DT0.0S'-Err('Input should be greater than 0 seconds [type=greater_than')] PASSED [ 80%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'ge': datetime.timedelta(0)}-'P0DT0.0S'-datetime.timedelta(0)] PASSED [ 80%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'lt': datetime.timedelta(0)}-'-PT0S'-datetime.timedelta(0)] PASSED [ 80%] tests/validators/test_timedelta.py::test_timedelta_kwargs[{'lt': datetime.timedelta(days=749, seconds=3661, microseconds=100000)}-'P2Y1W10DT48H60M61.100000S'-Err('Input should be less than 749 days and 1 hour and 1 minute and 1 second and 100000 microseconds')] PASSED [ 80%] tests/validators/test_timedelta.py::test_timedelta_kwargs_strict PASSED [ 80%] tests/validators/test_timedelta.py::test_invalid_constraint PASSED [ 80%] tests/validators/test_timedelta.py::test_dict_py PASSED [ 80%] tests/validators/test_timedelta.py::test_dict_key[python] PASSED [ 80%] tests/validators/test_timedelta.py::test_dict_key[json] PASSED [ 80%] tests/validators/test_timedelta.py::test_dict_value[python] PASSED [ 80%] tests/validators/test_timedelta.py::test_dict_value[json] PASSED [ 80%] tests/validators/test_timedelta.py::test_union PASSED [ 80%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=3)-{'positive': True, 'day': 3, 'second': 0, 'microsecond': 0}] PASSED [ 80%] 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 [ 80%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=-1)-{'positive': False, 'day': 1, 'second': 0, 'microsecond': 0}] PASSED [ 80%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=1, seconds=10)-{'positive': True, 'day': 1, 'second': 10, 'microsecond': 0}] PASSED [ 80%] 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 [ 80%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=-2, seconds=86390)-{'positive': False, 'day': 1, 'second': 10, 'microsecond': 0}] PASSED [ 80%] 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 [ 80%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=-4, seconds=43200)-{'positive': False, 'day': 3, 'second': 43200, 'microsecond': 0}] PASSED [ 80%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=-4, microseconds=456)-{'positive': False, 'day': 3, 'second': 86399, 'microsecond': 999544}] PASSED [ 80%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=-1, seconds=20000)-{'positive': False, 'day': 0, 'second': 66400, 'microsecond': 0}] PASSED [ 80%] 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 [ 80%] 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 [ 80%] tests/validators/test_timedelta.py::test_pytimedelta_as_timedelta[datetime.timedelta(days=-999999999)-{'positive': False, 'day': 999999999, 'second': 0, 'microsecond': 0}] PASSED [ 80%] tests/validators/test_timedelta.py::test_large_value PASSED [ 80%] tests/validators/test_timedelta.py::test_pandas SKIPPED (pandas not installed) [ 80%] tests/validators/test_tuple.py::test_tuple_json[python-0-[{'type': 'int'}]-[1, 2, 3]-(1, 2, 3)] PASSED [ 80%] tests/validators/test_tuple.py::test_tuple_json[python-0-[{'type': 'int'}]-1-Err('[type=tuple_type, input_value=1, input_type=int]')] PASSED [ 80%] tests/validators/test_tuple.py::test_tuple_json[python-None-[{'type': 'int'}, {'type': 'int'}, {'type': 'int'}]-[1, 2, '3']-(1, 2, 3)] PASSED [ 80%] tests/validators/test_tuple.py::test_tuple_json[python-None-[{'type': 'int'}, {'type': 'int'}, {'type': 'int'}]-5-Err('[type=tuple_type, input_value=5, input_type=int]')] PASSED [ 80%] tests/validators/test_tuple.py::test_tuple_json[json-0-[{'type': 'int'}]-[1, 2, 3]-(1, 2, 3)] PASSED [ 80%] tests/validators/test_tuple.py::test_tuple_json[json-0-[{'type': 'int'}]-1-Err('[type=tuple_type, input_value=1, input_type=int]')] PASSED [ 80%] tests/validators/test_tuple.py::test_tuple_json[json-None-[{'type': 'int'}, {'type': 'int'}, {'type': 'int'}]-[1, 2, '3']-(1, 2, 3)] PASSED [ 80%] tests/validators/test_tuple.py::test_tuple_json[json-None-[{'type': 'int'}, {'type': 'int'}, {'type': 'int'}]-5-Err('[type=tuple_type, input_value=5, input_type=int]')] PASSED [ 80%] tests/validators/test_tuple.py::test_any_no_copy PASSED [ 80%] tests/validators/test_tuple.py::test_tuple_strict_passes_with_tuple[0-items0-input_value0-expected0] PASSED [ 80%] tests/validators/test_tuple.py::test_tuple_strict_passes_with_tuple[0-items1-input_value1-expected1] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_strict_passes_with_tuple[None-items2-input_value2-expected2] PASSED [ 81%] tests/validators/test_tuple.py::test_empty_positional_tuple PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_strict_fails_without_tuple[list-0-items0] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_strict_fails_without_tuple[list-None-items1] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_strict_fails_without_tuple[set-0-items0] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_strict_fails_without_tuple[set-None-items1] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_strict_fails_without_tuple[frozenset-0-items0] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_strict_fails_without_tuple[frozenset-None-items1] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_var_len_kwargs[{}-(1, 2, 3, 4)-(1, 2, 3, 4)] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_var_len_kwargs[{'min_length': 3}-(1, 2, 3, 4)-(1, 2, 3, 4)] PASSED [ 81%] 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 [ 81%] tests/validators/test_tuple.py::test_tuple_var_len_kwargs[{'max_length': 4}-(1, 2, 3, 4)-(1, 2, 3, 4)] PASSED [ 81%] 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 [ 81%] tests/validators/test_tuple.py::test_tuple_var_len_kwargs[{'max_length': 3}-[1, 2, 3, 4, 5]-Err('Tuple should have at most 3 items after validation, not 5 [type=too_long,')] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_var_len_kwargs[{'max_length': 3}--Err('Tuple should have at most 3 items after validation, not more [type=too_long,')] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_validate[(1, 2, '3')-(1, 2, 3)-0-items0] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_validate[(1, 2, '3')-(1, 2, 3)-None-items1] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_validate[[1, 2, '3']-(1, 2, 3)-0-items0] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_validate[[1, 2, '3']-(1, 2, 3)-None-items1] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_validate[deque([1, 2, '3'])-(1, 2, 3)-0-items0] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_validate[deque([1, 2, '3'])-(1, 2, 3)-None-items1] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_validate[dict_keys([1, 2, '3'])-(1, 2, 3)-0-items0] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_validate[dict_keys([1, 2, '3'])-(1, 2, 3)-None-items1] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_validate[dict_values([10, 20, '30'])-(10, 20, 30)-0-items0] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_validate[dict_values([10, 20, '30'])-(10, 20, 30)-None-items1] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_validate[{1: 10, 2: 20, '3': '30'}-Err('Input should be a valid tuple [type=tuple_type,')-0-items0] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_validate[{1: 10, 2: 20, '3': '30'}-Err('Input should be a valid tuple [type=tuple_type,')-None-items1] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_validate[{1, 2, '3'}-IsTuple(1, 2, 3, check_order=False)-0-items0] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_validate[{1, 2, '3'}-IsTuple(1, 2, 3, check_order=False)-None-items1] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_validate[frozenset({1, 2, '3'})-IsTuple(1, 2, 3, check_order=False)-0-items0] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_validate[frozenset({1, 2, '3'})-IsTuple(1, 2, 3, check_order=False)-None-items1] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_validate_iterator[0-items0] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_validate_iterator[None-items1] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_var_len_errors[input_value0-0] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_var_len_errors[input_value1-0] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_var_len_errors[input_value2-3] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_var_len_errors[input_value3-3] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_var_len_errors[input_value4-index4] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_fix_len_errors[input_value0-items0-0] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_fix_len_errors[input_value1-items1-0] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_fix_len_errors[input_value2-items2-3] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_fix_len_errors[input_value3-items3-3] PASSED [ 81%] tests/validators/test_tuple.py::test_tuple_fix_len_errors[input_value4-items4-index4] PASSED [ 81%] tests/validators/test_tuple.py::test_multiple_missing[python] PASSED [ 82%] tests/validators/test_tuple.py::test_multiple_missing[json] PASSED [ 82%] tests/validators/test_tuple.py::test_extra_arguments[python] PASSED [ 82%] tests/validators/test_tuple.py::test_extra_arguments[json] PASSED [ 82%] tests/validators/test_tuple.py::test_positional_empty[python] PASSED [ 82%] tests/validators/test_tuple.py::test_positional_empty[json] PASSED [ 82%] tests/validators/test_tuple.py::test_positional_empty_extra[python] PASSED [ 82%] tests/validators/test_tuple.py::test_positional_empty_extra[json] PASSED [ 82%] tests/validators/test_tuple.py::test_union_tuple_list[input_value0-expected0] PASSED [ 82%] tests/validators/test_tuple.py::test_union_tuple_list[input_value1-expected1] PASSED [ 82%] tests/validators/test_tuple.py::test_union_tuple_var_len[(1, 2, 3)-(1, 2, 3)] PASSED [ 82%] tests/validators/test_tuple.py::test_union_tuple_var_len[('a', 'b', 'c')-('a', 'b', 'c')] PASSED [ 82%] tests/validators/test_tuple.py::test_union_tuple_var_len[('a', b'a', 'c')-('a', 'a', 'c')] PASSED [ 82%] 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 [ 82%] tests/validators/test_tuple.py::test_union_tuple_fix_len[(1, 2, 3)-(1, 2, 3)] PASSED [ 82%] tests/validators/test_tuple.py::test_union_tuple_fix_len[('a', 'b', 'c')-('a', 'b', 'c')] PASSED [ 82%] 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 [ 82%] tests/validators/test_tuple.py::test_tuple_fix_error PASSED [ 82%] tests/validators/test_tuple.py::test_tuple_fix_extra[input_value0-expected0] PASSED [ 82%] tests/validators/test_tuple.py::test_tuple_fix_extra[input_value1-expected1] PASSED [ 82%] tests/validators/test_tuple.py::test_tuple_fix_extra[input_value2-expected2] PASSED [ 82%] tests/validators/test_tuple.py::test_tuple_fix_extra[input_value3-expected3] PASSED [ 82%] tests/validators/test_tuple.py::test_tuple_fix_extra[input_value4-expected4] PASSED [ 82%] tests/validators/test_tuple.py::test_tuple_fix_extra[input_value5-expected5] PASSED [ 82%] tests/validators/test_tuple.py::test_tuple_fix_extra_any PASSED [ 82%] tests/validators/test_tuple.py::test_generator_error PASSED [ 82%] tests/validators/test_tuple.py::test_frozenset_from_dict_items[Tuple[Any, Any]] PASSED [ 82%] tests/validators/test_tuple.py::test_frozenset_from_dict_items[Tuple[int, int]] PASSED [ 82%] tests/validators/test_tuple.py::test_frozenset_from_dict_items[Any] PASSED [ 82%] tests/validators/test_tuple.py::test_length_constraints_omit[input_value0-expected0] PASSED [ 82%] tests/validators/test_tuple.py::test_length_constraints_omit[input_value1-expected1] PASSED [ 82%] tests/validators/test_tuple.py::test_length_constraints_omit[input_value2-expected2] PASSED [ 82%] tests/validators/test_typed_dict.py::test_simple PASSED [ 82%] tests/validators/test_typed_dict.py::test_strict PASSED [ 82%] tests/validators/test_typed_dict.py::test_with_default PASSED [ 82%] tests/validators/test_typed_dict.py::test_missing_error PASSED [ 82%] tests/validators/test_typed_dict.py::test_config[{}-{'a': '123'}-{'a': 123}] PASSED [ 82%] tests/validators/test_typed_dict.py::test_config[{}-Map(a=123)-{'a': 123}] PASSED [ 82%] tests/validators/test_typed_dict.py::test_config[{}-{b'a': '123'}-Err('Field required [type=missing,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_config[{}-{'a': '123', 'c': 4}-{'a': 123}] PASSED [ 82%] tests/validators/test_typed_dict.py::test_config[{'extra_fields_behavior': 'allow'}-{'a': '123', 'c': 4}-{'a': 123, 'c': 4}] PASSED [ 82%] 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 [ 82%] tests/validators/test_typed_dict.py::test_config[{'strict': True}-Map(a=123)-Err('Input should be a valid dictionary [type=dict_type,')] PASSED [ 82%] tests/validators/test_typed_dict.py::test_config[{}-{'a': '123', 'b': '4.7'}-{'a': 123, 'b': 4.7}] PASSED [ 82%] tests/validators/test_typed_dict.py::test_config[{}-{'a': '123', 'b': 'nan'}-{'a': 123, 'b': FunctionCheck(isnan)}] PASSED [ 83%] 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 [ 83%] tests/validators/test_typed_dict.py::test_ignore_extra PASSED [ 83%] tests/validators/test_typed_dict.py::test_forbid_extra PASSED [ 83%] tests/validators/test_typed_dict.py::test_allow_extra_invalid PASSED [ 83%] tests/validators/test_typed_dict.py::test_allow_extra_wrong PASSED [ 83%] tests/validators/test_typed_dict.py::test_str_config PASSED [ 83%] tests/validators/test_typed_dict.py::test_json_error PASSED [ 83%] tests/validators/test_typed_dict.py::test_missing_schema_key PASSED [ 83%] tests/validators/test_typed_dict.py::test_fields_required_by_default PASSED [ 83%] tests/validators/test_typed_dict.py::test_fields_required_by_default_with_optional PASSED [ 83%] tests/validators/test_typed_dict.py::test_fields_required_by_default_with_default PASSED [ 83%] tests/validators/test_typed_dict.py::test_all_optional_fields PASSED [ 83%] tests/validators/test_typed_dict.py::test_all_optional_fields_with_required_fields PASSED [ 83%] tests/validators/test_typed_dict.py::test_field_required_and_default PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias[python] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias[json] PASSED [ 83%] tests/validators/test_typed_dict.py::test_empty_string_field_name[python] PASSED [ 83%] tests/validators/test_typed_dict.py::test_empty_string_field_name[json] PASSED [ 83%] tests/validators/test_typed_dict.py::test_empty_string_aliases[python] PASSED [ 83%] tests/validators/test_typed_dict.py::test_empty_string_aliases[json] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_allow_pop[python] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_allow_pop[json] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_path[python-{'foo': {'bar': '123'}}-{'field_a': 123}] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_path[python-{'x': '123'}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_path[python-{'foo': '123'}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_path[python-{'foo': [1, 2, 3]}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_path[python-{'foo': {'bat': '123'}}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_path[json-{'foo': {'bar': '123'}}-{'field_a': 123}] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_path[json-{'x': '123'}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_path[json-{'foo': '123'}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_path[json-{'foo': [1, 2, 3]}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 83%] tests/validators/test_typed_dict.py::test_alias_path[json-{'foo': {'bat': '123'}}-Err('foo.bar\\\\n +Field required \\\\[type=missing,')] PASSED [ 83%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'foo': {'bar': {'bat': '123'}}}-{'field_a': 123}] PASSED [ 83%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'foo': [1, 2, 3, 4]}-{'field_a': 4}] PASSED [ 83%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'foo': (1, 2, 3, 4)}-{'field_a': 4}] PASSED [ 83%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'spam': 5}-{'field_a': 5}] PASSED [ 83%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'spam': 1, 'foo': {'bar': {'bat': 2}}}-{'field_a': 2}] PASSED [ 83%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'foo': {'x': 2}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 83%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'x': '123'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 83%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'x': {2: 33}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 83%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'foo': '01234'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 83%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[python-{'foo': [1]}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 83%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'foo': {'bar': {'bat': '123'}}}-{'field_a': 123}] PASSED [ 83%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'foo': [1, 2, 3, 4]}-{'field_a': 4}] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'foo': (1, 2, 3, 4)}-{'field_a': 4}] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'spam': 5}-{'field_a': 5}] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'spam': 1, 'foo': {'bar': {'bat': 2}}}-{'field_a': 2}] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'foo': {'x': 2}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'x': '123'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'x': {2: 33}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'foo': '01234'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_multiple[json-{'foo': [1]}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_negative[{'foo': {-2: '123'}}-{'field_a': 123}] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_negative[{'foo': [1, 42, 'xx']}-{'field_a': 42}] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_negative[{'foo': [42, 'xxx', 42]}-Err('Input should be a valid integer,')] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_negative[{'foo': [42]}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_negative[{'foo': {'xx': '123'}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_negative[{'foo': {'-2': '123'}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_negative[{'foo': {2: '123'}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_negative[{'foo': 'foobar'}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_negative[{'foo': {0, 1, 2}}-Err('field_a\\\\n +Field required \\\\[type=missing,')] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_negative_json[python-{'foo': [1, 42, 'xx']}-{'field_a': 42}] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_negative_json[python-{'foo': [42, 'xxx', 42]}-Err('Input should be a valid integer,')] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_negative_json[python-{'foo': [42]}-Err('foo.-2\\\\n +Field required \\\\[type=missing,')] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_negative_json[json-{'foo': [1, 42, 'xx']}-{'field_a': 42}] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_negative_json[json-{'foo': [42, 'xxx', 42]}-Err('Input should be a valid integer,')] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_path_negative_json[json-{'foo': [42]}-Err('foo.-2\\\\n +Field required \\\\[type=missing,')] PASSED [ 84%] tests/validators/test_typed_dict.py::test_aliases_debug PASSED [ 84%] tests/validators/test_typed_dict.py::test_paths_allow_by_name[python-{'foo': {'bar': 42}}] PASSED [ 84%] tests/validators/test_typed_dict.py::test_paths_allow_by_name[python-{'foo': 42}] PASSED [ 84%] tests/validators/test_typed_dict.py::test_paths_allow_by_name[python-{'field_a': 42}] PASSED [ 84%] tests/validators/test_typed_dict.py::test_paths_allow_by_name[json-{'foo': {'bar': 42}}] PASSED [ 84%] tests/validators/test_typed_dict.py::test_paths_allow_by_name[json-{'foo': 42}] PASSED [ 84%] tests/validators/test_typed_dict.py::test_paths_allow_by_name[json-{'field_a': 42}] PASSED [ 84%] tests/validators/test_typed_dict.py::test_alias_build_error[{'validation_alias': ['foo', ['bar']]}-'Input should be a valid string'] PASSED [ 84%] tests/validators/test_typed_dict.py::test_alias_build_error[{'validation_alias': []}-'Lookup paths should have at least one element'] PASSED [ 84%] tests/validators/test_typed_dict.py::test_alias_build_error[{'validation_alias': [[]]}-'Each alias path should have at least one element'] PASSED [ 84%] tests/validators/test_typed_dict.py::test_alias_build_error[{'validation_alias': [123]}-"TypeError: 'int' object cannot be converted to 'PyList'"] PASSED [ 84%] tests/validators/test_typed_dict.py::test_alias_build_error[{'validation_alias': [[[]]]}-'Input should be a valid string'] PASSED [ 84%] 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 [ 84%] tests/validators/test_typed_dict.py::test_alias_error_loc_alias[python] PASSED [ 84%] tests/validators/test_typed_dict.py::test_alias_error_loc_alias[json] PASSED [ 84%] tests/validators/test_typed_dict.py::test_alias_error_loc_field_names[python] PASSED [ 84%] tests/validators/test_typed_dict.py::test_alias_error_loc_field_names[json] PASSED [ 84%] tests/validators/test_typed_dict.py::test_empty_model PASSED [ 84%] tests/validators/test_typed_dict.py::test_model_deep PASSED [ 84%] tests/validators/test_typed_dict.py::test_alias_extra[python] PASSED [ 84%] tests/validators/test_typed_dict.py::test_alias_extra[json] PASSED [ 85%] tests/validators/test_typed_dict.py::test_alias_extra_by_name[python] PASSED [ 85%] tests/validators/test_typed_dict.py::test_alias_extra_by_name[json] PASSED [ 85%] tests/validators/test_typed_dict.py::test_alias_extra_forbid[python] PASSED [ 85%] tests/validators/test_typed_dict.py::test_alias_extra_forbid[json] PASSED [ 85%] tests/validators/test_typed_dict.py::test_with_default_factory PASSED [ 85%] tests/validators/test_typed_dict.py::test_field_required_and_default_factory PASSED [ 85%] tests/validators/test_typed_dict.py::test_bad_default_factory[-unsupported operand type(s) for +: 'int' and 'str'] PASSED [ 85%] tests/validators/test_typed_dict.py::test_bad_default_factory[-() missing 1 required positional argument: 'x'] PASSED [ 85%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_bad_name PASSED [ 85%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_bad_omit PASSED [ 85%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_bad_default PASSED [ 85%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_raise_by_default[python] PASSED [ 85%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_raise_by_default[json] PASSED [ 85%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_raise_explicit[python] PASSED [ 85%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_raise_explicit[json] PASSED [ 85%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_omit[python] PASSED [ 85%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_omit[json] PASSED [ 85%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_omit_with_default[python] PASSED [ 85%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_omit_with_default[json] PASSED [ 85%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_default[python] PASSED [ 85%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_default[json] PASSED [ 85%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_default_factory[python] PASSED [ 85%] tests/validators/test_typed_dict.py::TestOnError::test_on_error_default_factory[json] PASSED [ 85%] tests/validators/test_typed_dict.py::TestOnError::test_wrap_on_error[python] PASSED [ 85%] tests/validators/test_typed_dict.py::TestOnError::test_wrap_on_error[json] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extras_schema=unset-config0-schema_extra_behavior_kw0] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extras_schema=unset-config1-schema_extra_behavior_kw1] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extras_schema=unset-config2-schema_extra_behavior_kw2] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extras_schema=unset-None-schema_extra_behavior_kw3] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extras_schema=unset-config4-schema_extra_behavior_kw4] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extras_schema=None-config0-schema_extra_behavior_kw0] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extras_schema=None-config1-schema_extra_behavior_kw1] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extras_schema=None-config2-schema_extra_behavior_kw2] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extras_schema=None-None-schema_extra_behavior_kw3] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extras_schema=None-config4-schema_extra_behavior_kw4] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extras_schema=int-config0-schema_extra_behavior_kw0] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extras_schema=int-config1-schema_extra_behavior_kw1] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extras_schema=int-config2-schema_extra_behavior_kw2] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extras_schema=int-None-schema_extra_behavior_kw3] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_allow[extras_schema=int-config4-schema_extra_behavior_kw4] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_forbid[config0-schema_extra_behavior_kw0] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_forbid[config1-schema_extra_behavior_kw1] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_forbid[config2-schema_extra_behavior_kw2] PASSED [ 85%] tests/validators/test_typed_dict.py::test_extra_behavior_forbid[None-schema_extra_behavior_kw3] PASSED [ 86%] tests/validators/test_typed_dict.py::test_extra_behavior_forbid[config4-schema_extra_behavior_kw4] PASSED [ 86%] tests/validators/test_typed_dict.py::test_extra_behavior_ignore[config0-schema_extra_behavior_kw0] PASSED [ 86%] tests/validators/test_typed_dict.py::test_extra_behavior_ignore[config1-schema_extra_behavior_kw1] PASSED [ 86%] tests/validators/test_typed_dict.py::test_extra_behavior_ignore[None-schema_extra_behavior_kw2] PASSED [ 86%] tests/validators/test_typed_dict.py::test_extra_behavior_ignore[config3-schema_extra_behavior_kw3] PASSED [ 86%] tests/validators/test_typed_dict.py::test_extra_behavior_ignore[config4-schema_extra_behavior_kw4] PASSED [ 86%] tests/validators/test_typed_dict.py::test_extra_behavior_ignore[config5-schema_extra_behavior_kw5] PASSED [ 86%] tests/validators/test_typed_dict.py::test_extra_behavior_ignore[None-schema_extra_behavior_kw6] PASSED [ 86%] tests/validators/test_typed_dict.py::test_leak_typed_dict PASSED [ 86%] tests/validators/test_union.py::test_union_bool_int[True-True] PASSED [ 86%] tests/validators/test_union.py::test_union_bool_int[False-False] PASSED [ 86%] tests/validators/test_union.py::test_union_bool_int[true-True] PASSED [ 86%] tests/validators/test_union.py::test_union_bool_int[false-False] PASSED [ 86%] tests/validators/test_union.py::test_union_bool_int[1-1] PASSED [ 86%] tests/validators/test_union.py::test_union_bool_int[0-0] PASSED [ 86%] tests/validators/test_union.py::test_union_bool_int[123-123_0] PASSED [ 86%] tests/validators/test_union.py::test_union_bool_int[123-123_1] PASSED [ 86%] tests/validators/test_union.py::test_union_bool_int[0-False] PASSED [ 86%] tests/validators/test_union.py::test_union_bool_int[1-True] PASSED [ 86%] tests/validators/test_union.py::test_union_int_bool[True-True] PASSED [ 86%] tests/validators/test_union.py::test_union_int_bool[False-False] PASSED [ 86%] tests/validators/test_union.py::test_union_int_bool[true-True] PASSED [ 86%] tests/validators/test_union.py::test_union_int_bool[false-False] PASSED [ 86%] tests/validators/test_union.py::test_union_int_bool[1-1_0] PASSED [ 86%] tests/validators/test_union.py::test_union_int_bool[0-0_0] PASSED [ 86%] tests/validators/test_union.py::test_union_int_bool[123-123_0] PASSED [ 86%] tests/validators/test_union.py::test_union_int_bool[123-123_1] PASSED [ 86%] tests/validators/test_union.py::test_union_int_bool[0-0_1] PASSED [ 86%] tests/validators/test_union.py::test_union_int_bool[1-1_1] PASSED [ 86%] tests/validators/test_union.py::TestModelClass::test_model_a PASSED [ 86%] tests/validators/test_union.py::TestModelClass::test_model_b PASSED [ 86%] tests/validators/test_union.py::TestModelClass::test_exact_check PASSED [ 86%] tests/validators/test_union.py::TestModelClass::test_error PASSED [ 86%] tests/validators/test_union.py::TestModelClassSimilar::test_model_a PASSED [ 86%] tests/validators/test_union.py::TestModelClassSimilar::test_model_b_ignored PASSED [ 86%] tests/validators/test_union.py::TestModelClassSimilar::test_model_b_not_ignored PASSED [ 86%] tests/validators/test_union.py::test_nullable_via_union PASSED [ 86%] tests/validators/test_union.py::test_union_list_bool_int PASSED [ 86%] tests/validators/test_union.py::test_no_choices PASSED [ 86%] tests/validators/test_union.py::test_empty_choices PASSED [ 86%] tests/validators/test_union.py::test_one_choice PASSED [ 86%] tests/validators/test_union.py::test_strict_union PASSED [ 86%] tests/validators/test_union.py::test_custom_error PASSED [ 86%] tests/validators/test_union.py::test_custom_error_type PASSED [ 87%] tests/validators/test_union.py::test_custom_error_type_context PASSED [ 87%] tests/validators/test_union.py::test_dirty_behaviour PASSED [ 87%] tests/validators/test_union.py::test_int_float PASSED [ 87%] tests/validators/test_union.py::test_str_float PASSED [ 87%] tests/validators/test_union.py::test_no_strict_check PASSED [ 87%] tests/validators/test_union.py::test_strict_reference PASSED [ 87%] tests/validators/test_union.py::test_case_labels PASSED [ 87%] tests/validators/test_union.py::test_left_to_right_doesnt_care_about_strict_check PASSED [ 87%] tests/validators/test_union.py::test_left_to_right_union PASSED [ 87%] tests/validators/test_union.py::test_left_to_right_union_strict PASSED [ 87%] tests/validators/test_union.py::test_union_function_before_called_once PASSED [ 87%] tests/validators/test_union.py::test_smart_union_json_string_types[schema0-12345678-1234-5678-1234-567812345678-expected_value0] PASSED [ 87%] tests/validators/test_union.py::test_smart_union_json_string_types[schema1-2020-01-01-expected_value1] PASSED [ 87%] tests/validators/test_union.py::test_smart_union_json_string_types[schema2-00:00:00-expected_value2] PASSED [ 87%] tests/validators/test_union.py::test_smart_union_json_string_types[schema3-2020-01-01:00:00:00-2020-01-01:00:00:00] PASSED [ 87%] tests/validators/test_union.py::test_smart_union_json_string_types[schema4-https://foo.com-https://foo.com] PASSED [ 87%] tests/validators/test_union.py::test_smart_union_json_string_types[schema5-https://bar.com,foo.com-https://bar.com,foo.com] PASSED [ 87%] tests/validators/test_union.py::test_smart_union_json_string_types_str_first[schema0-12345678-1234-5678-1234-567812345678] XFAIL [ 87%] tests/validators/test_union.py::test_smart_union_json_string_types_str_first[schema1-2020-01-01] PASSED [ 87%] tests/validators/test_union.py::test_smart_union_json_string_types_str_first[schema2-00:00:00] PASSED [ 87%] tests/validators/test_union.py::test_smart_union_json_string_types_str_first[schema3-2020-01-01:00:00:00] PASSED [ 87%] tests/validators/test_union.py::test_smart_union_json_string_types_str_first[schema4-https://foo.com] PASSED [ 87%] tests/validators/test_union.py::test_smart_union_json_string_types_str_first[schema5-https://bar.com,foo.com] PASSED [ 87%] tests/validators/test_union.py::test_smart_union_default_fallback PASSED [ 87%] tests/validators/test_union.py::test_smart_union_model_field PASSED [ 87%] tests/validators/test_union.py::test_smart_union_dataclass_field PASSED [ 87%] tests/validators/test_union.py::test_smart_union_with_any PASSED [ 87%] tests/validators/test_union.py::test_smart_union_validator_function PASSED [ 87%] tests/validators/test_union.py::test_smart_union_validator_function_one_arm PASSED [ 87%] tests/validators/test_union.py::test_int_not_coerced_to_enum PASSED [ 87%] tests/validators/test_union.py::test_model_and_literal_union PASSED [ 87%] tests/validators/test_url.py::test_url_ok[python] PASSED [ 87%] tests/validators/test_url.py::test_url_ok[json] PASSED [ 87%] tests/validators/test_url.py::test_url_from_constructor_ok PASSED [ 87%] tests/validators/test_url.py::test_url_cases[-expected0-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[-expected0-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[:,-expected1-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[:,-expected1-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http://example.com-expected2-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http://example.com-expected2-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http://exa\nmple.com-expected3-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[http://exa\nmple.com-expected3-URI_CLASS] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[xxx-expected4-SCHEMA_VALIDATOR] PASSED [ 87%] tests/validators/test_url.py::test_url_cases[xxx-expected4-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://-expected5-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://-expected5-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[https://xn----expected6-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[https://xn----expected6-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://example.com:65535-http://example.com:65535/-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://example.com:65535-http://example.com:65535/-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http:\\\\example.com-http://example.com/-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http:\\\\example.com-http://example.com/-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http:example.com-http://example.com/-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http:example.com-http://example.com/-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://example.com:65536-expected10-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://example.com:65536-expected10-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://1...1-expected11-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://1...1-expected11-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[https://[2001:0db8:85a3:0000:0000:8a2e:0370:7334[-expected12-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[https://[2001:0db8:85a3:0000:0000:8a2e:0370:7334[-expected12-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[https://[-expected13-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[https://[-expected13-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[https://example com-expected14-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[https://example com-expected14-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://exam%ple.com-expected15-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://exam%ple.com-expected15-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http:// /-expected16-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http:// /-expected16-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[/more-expected17-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[/more-expected17-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://example.com./foobar-expected18-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://example.com./foobar-expected18-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://example.com-expected19-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://example.com-expected19-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http:/foo-expected20-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http:/foo-expected20-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http:///foo-expected21-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http:///foo-expected21-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://exam_ple.com-expected22-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://exam_ple.com-expected22-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://exam-ple.com-expected23-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://exam-ple.com-expected23-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://example-.com-expected24-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[http://example-.com-expected24-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[https://\xa3\xa3\xa3.com-expected25-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[https://\xa3\xa3\xa3.com-expected25-URI_CLASS] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[https://foobar.\xa3\xa3\xa3.com-expected26-SCHEMA_VALIDATOR] PASSED [ 88%] tests/validators/test_url.py::test_url_cases[https://foobar.\xa3\xa3\xa3.com-expected26-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[https://foo.\xa3$.money.com-expected27-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[https://foo.\xa3$.money.com-expected27-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[https://xn--9aaa.com/-expected28-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[https://xn--9aaa.com/-expected28-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[https://m\xfcnchen/-expected29-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[https://m\xfcnchen/-expected29-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http://\xe0.\u05d0\u0308.com-expected30-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[http://\xe0.\u05d0\u0308.com-expected30-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[ssh://xn--9aaa.com/-ssh://xn--9aaa.com/-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[ssh://xn--9aaa.com/-ssh://xn--9aaa.com/-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[ssh://m\xfcnchen.com/-ssh://m%C3%BCnchen.com/-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[ssh://m\xfcnchen.com/-ssh://m%C3%BCnchen.com/-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[ssh://example/-ssh://example/-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[ssh://example/-ssh://example/-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[ssh://\xa3\xa3\xa3/-ssh://%C2%A3%C2%A3%C2%A3/-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[ssh://\xa3\xa3\xa3/-ssh://%C2%A3%C2%A3%C2%A3/-URI_CLASS] PASSED [ 89%] 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 [ 89%] 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 [ 89%] tests/validators/test_url.py::test_url_cases[ftp://127.0.0.1-expected36-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[ftp://127.0.0.1-expected36-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[wss://1.1.1.1-expected37-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[wss://1.1.1.1-expected37-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[snap://[::1]-expected38-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[snap://[::1]-expected38-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[ftp://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]-expected39-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[ftp://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]-expected39-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[foobar://127.0.0.1-expected40-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[foobar://127.0.0.1-expected40-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[mysql://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]-expected41-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[mysql://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]-expected41-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[mysql://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]/thing-expected42-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[mysql://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]/thing-expected42-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[https:/more-expected43-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[https:/more-expected43-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[https:more-expected44-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[https:more-expected44-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[file:///foobar-expected45-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[file:///foobar-expected45-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[file:///:80-expected46-SCHEMA_VALIDATOR] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[file:///:80-expected46-URI_CLASS] PASSED [ 89%] tests/validators/test_url.py::test_url_cases[file://:80-expected47-SCHEMA_VALIDATOR] PASSED [ 89%] 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 [ 90%] tests/validators/test_url.py::test_url_cases[file:\\\\foobar\\more-expected49-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[file:\\\\foobar\\more-expected49-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http:\\\\foobar\\more-expected50-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http:\\\\foobar\\more-expected50-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[mongo:\\\\foobar\\more-expected51-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[mongo:\\\\foobar\\more-expected51-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[mongodb+srv://server.example.com/-mongodb+srv://server.example.com/-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[mongodb+srv://server.example.com/-mongodb+srv://server.example.com/-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http://example.com.-expected53-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http://example.com.-expected53-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http:/example.com-expected54-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http:/example.com-expected54-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http:/foo-expected55-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http:/foo-expected55-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http://foo-expected56-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http://foo-expected56-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http:///foo-expected57-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http:///foo-expected57-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http:////foo-expected58-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http:////foo-expected58-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http://--expected59-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http://--expected59-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http:////example.com-expected60-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http:////example.com-expected60-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[https://\xa3\xa3\xa3.com-expected61-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[https://\xa3\xa3\xa3.com-expected61-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[https://\xa3\xa3\xa3.com.-expected62-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[https://\xa3\xa3\xa3.com.-expected62-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[https://xn--9aaa.com/-expected63-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[https://xn--9aaa.com/-expected63-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[https://m\xfcnchen/-expected64-SCHEMA_VALIDATOR] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[https://m\xfcnchen/-expected64-URI_CLASS] PASSED [ 90%] tests/validators/test_url.py::test_url_cases[http://\xe0.\u05d0\u0308.com-expected65-SCHEMA_VALIDATOR] PASSED [ 90%] 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 [ 91%] tests/validators/test_url.py::test_url_cases[file:///foobar-expected71-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[file:///foobar-expected71-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[postgresql+py-postgresql://user:pass@localhost:5432/app-expected72-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[postgresql+py-postgresql://user:pass@localhost:5432/app-expected72-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[https://https/-expected73-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[https://https/-expected73-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[http://user:@example.org-expected74-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[http://user:@example.org-expected74-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[http://us@er:p[ass@example.org-expected75-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[http://us@er:p[ass@example.org-expected75-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[http://us%40er:p%5Bass@example.org-expected76-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[http://us%40er:p%5Bass@example.org-expected76-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[http://us[]er:p,ass@example.org-expected77-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[http://us[]er:p,ass@example.org-expected77-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[http://%2F:@example.org-expected78-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[http://%2F:@example.org-expected78-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[foo://user:@example.org-expected79-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[foo://user:@example.org-expected79-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[foo://us@er:p[ass@example.org-expected80-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[foo://us@er:p[ass@example.org-expected80-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[foo://us%40er:p%5Bass@example.org-expected81-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[foo://us%40er:p%5Bass@example.org-expected81-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[foo://us[]er:p,ass@example.org-expected82-SCHEMA_VALIDATOR] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[foo://us[]er:p,ass@example.org-expected82-URI_CLASS] PASSED [ 91%] tests/validators/test_url.py::test_url_cases[foo://%2F:@example.org-expected83-SCHEMA_VALIDATOR] PASSED [ 91%] 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 [ 92%] tests/validators/test_url.py::test_url_cases[https://example.\u0440\u0444-https://example.xn--p1ai/-SCHEMA_VALIDATOR] PASSED [ 92%] tests/validators/test_url.py::test_url_cases[https://example.\u0440\u0444-https://example.xn--p1ai/-URI_CLASS] PASSED [ 92%] tests/validators/test_url.py::test_url_cases[https://exampl\xa3e.\u73e0\u5b9d-https://xn--example-gia.xn--pbt977c/-SCHEMA_VALIDATOR] PASSED [ 92%] tests/validators/test_url.py::test_url_cases[https://exampl\xa3e.\u73e0\u5b9d-https://xn--example-gia.xn--pbt977c/-URI_CLASS] PASSED [ 92%] tests/validators/test_url.py::test_url_cases[ht\U0001f4a3tp://example.org-expected95-SCHEMA_VALIDATOR] PASSED [ 92%] tests/validators/test_url.py::test_url_cases[ht\U0001f4a3tp://example.org-expected95-URI_CLASS] PASSED [ 92%] 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 [ 92%] 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 [ 92%] tests/validators/test_url.py::test_url_defaults_single_url[validator_kwargs0-http://example.org-expected0] PASSED [ 92%] tests/validators/test_url.py::test_url_defaults_single_url[validator_kwargs1-redis://-expected1] PASSED [ 92%] tests/validators/test_url.py::test_url_defaults_multi_host_url[validator_kwargs0-http://example.org-expected0] PASSED [ 92%] tests/validators/test_url.py::test_url_defaults_multi_host_url[validator_kwargs1-redis://-expected1] PASSED [ 92%] tests/validators/test_url.py::test_url_defaults_multi_host_url[validator_kwargs2-redis://localhost,127.0.0.1-expected2] PASSED [ 92%] tests/validators/test_url.py::test_url_defaults_multi_host_url[validator_kwargs3-redis://-expected3] PASSED [ 92%] tests/validators/test_url.py::test_multi_host_url[http://example.org:1234/baz-expected0] PASSED [ 92%] tests/validators/test_url.py::test_multi_host_url[redis://localhost,127.0.0.1-expected1] PASSED [ 92%] tests/validators/test_url.py::test_multi_host_url[redis://-expected2] PASSED [ 92%] 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 [ 93%] tests/validators/test_url.py::test_url_to_url PASSED [ 93%] tests/validators/test_url.py::test_url_to_constraint PASSED [ 93%] tests/validators/test_url.py::test_wrong_type_lax PASSED [ 93%] tests/validators/test_url.py::test_wrong_type_strict PASSED [ 93%] tests/validators/test_url.py::test_username[https://apple:pie@example.com/foo-https://apple:pie@example.com/foo-apple-pie] PASSED [ 93%] tests/validators/test_url.py::test_username[https://apple:@example.com/foo-https://apple@example.com/foo-apple-None] PASSED [ 93%] 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 [ 93%] 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 [ 93%] tests/validators/test_url.py::test_strict_not_strict PASSED [ 93%] 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 [ 94%] 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 [ 94%] tests/validators/test_url.py::test_url_vulnerabilities[10.251.0.83:7777?a=1 HTTP/1.1\r\nX-injected: header-expected6] PASSED [ 94%] 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 [ 94%] 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 [ 94%] 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 [ 94%] tests/validators/test_url.py::test_url_vulnerabilities[https://@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@[-expected10] PASSED [ 94%] tests/validators/test_url.py::test_url_vulnerabilities[https://user:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@example.com-expected11] PASSED [ 94%] 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[00000000-8000-4000-8000-000000000000-expected10] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[00000000-0000-4000-0000-000000000000-expected11] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[\x124Vx\x124Vx\x124Vx\x124Vx-expected12] 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-expected13] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[ebcdab58-6eb8-46fb-a190-d07a33e9eac8-expected14] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[input_value15-expected15] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[input_value16-expected16] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[not-a-valid-uuid-expected17] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[12345678-1234-5678-1234-5678123456789-expected18] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[12345678-1234-1234-1234-1234567890123-expected19] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[\x00\x00\x00\x000\x00\x00\x00\x000\x00\x00\x00\x000\x00\x00\x00\x000-expected20] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[550e8400-e29b-41d4-a716-expected21] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[f47ac10b-58cc-4372-a567-0e02b2c3d47-expected22] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[de305d54-75b4-431b-adb2-eb6b9e54601-expected23] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[1b4e28ba-2fa1-11d2-883f-0016d3cca42-expected24] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[6ba7b810-9dad-11d1-80b4-00c04fd430c-expected25] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[886313e1-3b8a-5372-9b90-0c9aee199e5-expected26] PASSED [ 95%] tests/validators/test_uuid.py::test_uuid[c0a8f9a8-aa5e-482b-a067-9cb3a51f5c1-expected27] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid[214850178493633095719753750962310141912-expected28] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid[0-expected29] 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[00000000-8000-4000-8000-000000000000-4-expected8] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value9-4-expected9] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[00000000-0000-4000-0000-000000000000-None-expected10] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value11-None-expected11] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[00000000-7fff-4000-7fff-000000000000-None-expected12] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value13-None-expected13] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value14-4-expected14] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[b34b6755-f49c-3bd2-6f06-131a708c2bf3-None-expected15] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value16-None-expected16] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value17-4-expected17] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[a6cc5730-2261-11ee-9c43-2eb5a363657c-5-expected18] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value19-5-expected19] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[04e4aeb3-8f20-30d0-8852-d295e1265eed-4-expected20] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value21-4-expected21] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[0e7ac198-9acd-4c0c-b4b4-761974bf71d7-3-expected22] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value23-3-expected23] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[08ed0736-fb95-5cc5-85ed-37e4f3df9b29-1-expected24] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value25-1-expected25] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[00000000-0000-4000-0000-000000000000-4-expected26] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_version[input_value27-4-expected27] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_json[python-a6cc5730-2261-11ee-9c43-2eb5a363657c-expected0] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_json[python-12345678123456781234567812345678-expected1] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_json[python-c0a8f9a8-aa5e-482b-a067-9cb3a51f5c1-expected2] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_json[python-10.0-expected3] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_json[python-None-expected4] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_json[python-True-expected5] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_json[python-214850178493633095719753750962310141912-expected6] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_json[python-24197857161011715162171839636988778104-expected7] PASSED [ 96%] tests/validators/test_uuid.py::test_uuid_json[json-a6cc5730-2261-11ee-9c43-2eb5a363657c-expected0] PASSED [ 96%] 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_uuid.py::test_uuid_wrap_json 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 [ 97%] tests/validators/test_with_default.py::test_set[input_value3-expected3] PASSED [ 97%] tests/validators/test_with_default.py::test_set[input_value4-expected4] PASSED [ 97%] tests/validators/test_with_default.py::test_dict_values[python] PASSED [ 97%] tests/validators/test_with_default.py::test_dict_values[json] PASSED [ 97%] tests/validators/test_with_default.py::test_dict_keys PASSED [ 97%] tests/validators/test_with_default.py::test_tuple_variable[python] PASSED [ 97%] tests/validators/test_with_default.py::test_tuple_variable[json] PASSED [ 97%] tests/validators/test_with_default.py::test_tuple_positional PASSED [ 97%] tests/validators/test_with_default.py::test_tuple_positional_omit PASSED [ 97%] tests/validators/test_with_default.py::test_on_error_default PASSED [ 97%] tests/validators/test_with_default.py::test_factory_runtime_error PASSED [ 97%] tests/validators/test_with_default.py::test_factory_type_error PASSED [ 97%] tests/validators/test_with_default.py::test_typed_dict_error PASSED [ 97%] tests/validators/test_with_default.py::test_on_error_default_not_int PASSED [ 97%] tests/validators/test_with_default.py::test_on_error_default_factory PASSED [ 97%] 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 [ 98%] tests/validators/test_with_default.py::test_validate_default[before-None-None] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[wrap-before-True-True] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[wrap-before-True-False] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[wrap-before-True-None] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[wrap-before-False-True] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[wrap-before-False-False] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[wrap-before-False-None] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[wrap-before-None-True] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[wrap-before-None-False] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[wrap-before-None-None] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[wrap-after-True-True] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[wrap-after-True-False] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[wrap-after-True-None] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[wrap-after-False-True] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[wrap-after-False-False] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[wrap-after-False-None] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[wrap-after-None-True] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[wrap-after-None-False] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default[wrap-after-None-None] PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default_factory PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default_error_tuple PASSED [ 98%] tests/validators/test_with_default.py::test_validate_default_error_typed_dict PASSED [ 98%] tests/validators/test_with_default.py::test_deepcopy_mutable_defaults PASSED [ 98%] 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 [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value0-expected0-model_fields_schema-model_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value0-expected0-typed_dict_schema-typed_dict_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value1-expected1-model_fields_schema-model_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value1-expected1-typed_dict_schema-typed_dict_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value2-expected2-model_fields_schema-model_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value2-expected2-typed_dict_schema-typed_dict_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value3-expected3-model_fields_schema-model_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value3-expected3-typed_dict_schema-typed_dict_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value4-expected4-model_fields_schema-model_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value4-expected4-typed_dict_schema-typed_dict_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value5-expected5-model_fields_schema-model_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value5-expected5-typed_dict_schema-typed_dict_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value6-expected6-model_fields_schema-model_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value6-expected6-typed_dict_schema-typed_dict_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value7-expected7-model_fields_schema-model_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value7-expected7-typed_dict_schema-typed_dict_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value8-expected8-model_fields_schema-model_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value8-expected8-typed_dict_schema-typed_dict_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value9-expected9-model_fields_schema-model_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value9-expected9-typed_dict_schema-typed_dict_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value10-expected10-model_fields_schema-model_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises[input_value10-expected10-typed_dict_schema-typed_dict_field] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises_dataclass[input_value0-expected0] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises_dataclass[input_value1-expected1] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises_dataclass[input_value2-expected2] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises_dataclass[input_value3-expected3] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises_dataclass[input_value4-expected4] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises_dataclass[input_value5-expected5] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises_dataclass[input_value6-expected6] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises_dataclass[input_value7-expected7] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises_dataclass[input_value8-expected8] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises_dataclass[input_value9-expected9] PASSED [ 99%] tests/validators/test_with_default.py::test_validate_default_raises_dataclass[input_value10-expected10] PASSED [100%] =================================== FAILURES =================================== ________________________________ test_recursive ________________________________ self = data = ConjectureData(INTERESTING, 69 bytes, frozen) def _execute_once_for_engine(self, data: ConjectureData) -> None: """Wrapper around ``execute_once`` that intercepts test failure exceptions and single-test control exceptions, and turns them into appropriate method calls to `data` instead. This allows the engine to assume that any exception other than ``StopTest`` must be a fatal error, and should stop the entire engine. """ trace: Trace = set() try: # this is actually covered by our tests, but only on >= 3.12. if ( sys.version_info[:2] >= (3, 12) and sys.monitoring.get_tool(MONITORING_TOOL_ID) is not None ): # pragma: no cover warnings.warn( "avoiding tracing test function because tool id " f"{MONITORING_TOOL_ID} is already taken by tool " f"{sys.monitoring.get_tool(MONITORING_TOOL_ID)}.", HypothesisWarning, # I'm not sure computing a correct stacklevel is reasonable # given the number of entry points here. stacklevel=1, ) _can_trace = ( (sys.version_info[:2] < (3, 12) and sys.gettrace() is None) or ( sys.version_info[:2] >= (3, 12) and sys.monitoring.get_tool(MONITORING_TOOL_ID) is None ) ) and not PYPY _trace_obs = TESTCASE_CALLBACKS and OBSERVABILITY_COLLECT_COVERAGE _trace_failure = ( self.failed_normally and not self.failed_due_to_deadline and {Phase.shrink, Phase.explain}.issubset(self.settings.phases) ) if _can_trace and (_trace_obs or _trace_failure): # pragma: no cover # This is in fact covered by our *non-coverage* tests, but due to the # settrace() contention *not* by our coverage tests. Ah well. with Tracer() as tracer: try: result = self.execute_once(data) if data.status == Status.VALID: self.explain_traces[None].add(frozenset(tracer.branches)) finally: trace = tracer.branches else: > result = self.execute_once(data) /usr/lib/python3.11/site-packages/hypothesis/core.py:1029: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/hypothesis/core.py:946: in execute_once result = self.test_runner(data, run) /usr/lib/python3.11/site-packages/hypothesis/core.py:734: in default_executor return function(data) /usr/lib/python3.11/site-packages/hypothesis/core.py:857: in run kw, argslices = context.prep_args_kwargs_from_strategies( /usr/lib/python3.11/site-packages/hypothesis/control.py:157: in prep_args_kwargs_from_strategies obj = check(self.data.draw(s, observe_as=f"generate:{k}")) /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2385: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/lazy.py:167: in do_draw return data.draw(self.wrapped_strategy) /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/collections.py:355: in do_draw result = data.draw(self.fixed) /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/strategies.py:843: in do_draw x = data.draw(self.mapped_strategy) /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/collections.py:60: in do_draw return tuple(data.draw(e) for e in self.element_strategies) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/collections.py:60: in return tuple(data.draw(e) for e in self.element_strategies) /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/lazy.py:167: in do_draw return data.draw(self.wrapped_strategy) /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/deferred.py:87: in do_draw return data.draw(self.wrapped_strategy) /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/strategies.py:682: in do_draw return data.draw(strategy) /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/lazy.py:167: in do_draw return data.draw(self.wrapped_strategy) /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/collections.py:355: in do_draw result = data.draw(self.fixed) /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/strategies.py:843: in do_draw x = data.draw(self.mapped_strategy) /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/collections.py:60: in do_draw return tuple(data.draw(e) for e in self.element_strategies) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/collections.py:60: in return tuple(data.draw(e) for e in self.element_strategies) /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/lazy.py:167: in do_draw return data.draw(self.wrapped_strategy) /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/strings.py:117: in do_draw return data.draw_string( /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2161: in draw_string value = self.provider.draw_string( /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:1562: in draw_string while elements.more(): /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/utils.py:283: in more should_continue = self.data.draw_boolean( /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2239: in draw_boolean value = self.provider.draw_boolean( /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:1326: in draw_boolean i = self._cd.draw_bits( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ConjectureData(INTERESTING, 69 bytes, frozen), n = 3 def draw_bits( self, n: int, *, forced: Optional[int] = None, fake_forced: bool = False ) -> int: """Return an ``n``-bit integer from the underlying source of bytes. If ``forced`` is set to an integer will instead ignore the underlying source and simulate a draw as if it had returned that integer.""" self.__assert_not_frozen("draw_bits") if n == 0: return 0 assert n > 0 n_bytes = bits_to_bytes(n) self.__check_capacity(n_bytes) if forced is not None: buf = int_to_bytes(forced, n_bytes) elif self._bytes_drawn < len(self.__prefix): index = self._bytes_drawn buf = self.__prefix[index : index + n_bytes] if len(buf) < n_bytes: assert self.__random is not None buf += uniform(self.__random, n_bytes - len(buf)) else: assert self.__random is not None buf = uniform(self.__random, n_bytes) buf = bytearray(buf) self._bytes_drawn += n_bytes assert len(buf) == n_bytes # If we have a number of bits that is not a multiple of 8 # we have to mask off the high bits. buf[0] &= BYTE_MASKS[n % 8] buf = bytes(buf) result = int_from_bytes(buf) self.__example_record.draw_bits() initial = self.index assert isinstance(self.buffer, bytearray) self.buffer.extend(buf) self.index = len(self.buffer) if forced is not None and not fake_forced: self.forced_indices.update(range(initial, self.index)) self.blocks.add_endpoint(self.index) > assert result.bit_length() <= n E Failed: Timeout >30.0s /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2545: Failed During handling of the above exception, another exception occurred: definition_schema = SchemaValidator(title="typed-dict", validator=DefinitionRef( DefinitionRefValidator { definition: "typed-d...7fa0) }) }], extra_behavior: Ignore, extras_validator: None, strict: false, loc_by_alias: true })], cache_strings=True) @pytest.mark.skipif(sys.platform == 'emscripten', reason='Seems to fail sometimes on pyodide no idea why') > @given(strategies.from_type(BranchModel)) tests/test_hypothesis.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def inconsistent_generation(): > raise Flaky( "Inconsistent data generation! Data generation behaved differently " "between different runs. Is your data generation depending on external " "state?" ) E hypothesis.errors.Flaky: Inconsistent data generation! Data generation behaved differently between different runs. Is your data generation depending on external state? /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/datatree.py:47: Flaky ____________________________ test_definition_cycles ____________________________ draw = existing = [{'name': '', 'sub_branch': None}, {'name': 'Ĭ:\U000db217', 'sub_branch': None}] @strategies.composite def branch_models_with_cycles(draw, existing=None): if existing is None: existing = [] model = BranchModel(name=draw(strategies.text()), sub_branch=None) existing.append(model) > model['sub_branch'] = draw( strategies.none() | strategies.builds(BranchModel, name=strategies.text(), sub_branch=branch_models_with_cycles(existing)) | strategies.sampled_from(existing) ) tests/test_hypothesis.py:102: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/strategies.py:682: in do_draw return data.draw(strategy) /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/lazy.py:167: in do_draw return data.draw(self.wrapped_strategy) /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/core.py:1043: in do_draw kwargs = {k: data.draw(v) for k, v in self.kwargs.items()} /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/core.py:1043: in kwargs = {k: data.draw(v) for k, v in self.kwargs.items()} /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/core.py:1761: in do_draw return self.definition(data.draw, *self.args, **self.kwargs) tests/test_hypothesis.py:102: in branch_models_with_cycles model['sub_branch'] = draw( /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/strategies.py:682: in do_draw return data.draw(strategy) /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/lazy.py:167: in do_draw return data.draw(self.wrapped_strategy) /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/core.py:1043: in do_draw kwargs = {k: data.draw(v) for k, v in self.kwargs.items()} /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/core.py:1043: in kwargs = {k: data.draw(v) for k, v in self.kwargs.items()} /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2379: in draw return strategy.do_draw(self) /usr/lib/python3.11/site-packages/hypothesis/strategies/_internal/strings.py:117: in do_draw return data.draw_string( /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:2161: in draw_string value = self.provider.draw_string( /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/data.py:1589: in draw_string chars.append(intervals.char_in_shrink_order(i)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = IntervalSet(((0, 55295), (57344, 1114111))), i = 69265 > def char_in_shrink_order(self, i: int) -> str: E Failed: Timeout >30.0s /usr/lib/python3.11/site-packages/hypothesis/internal/intervalsets.py:241: Failed During handling of the above exception, another exception occurred: definition_schema = SchemaValidator(title="typed-dict", validator=DefinitionRef( DefinitionRefValidator { definition: "typed-d...7fa0) }) }], extra_behavior: Ignore, extras_validator: None, strict: false, loc_by_alias: true })], cache_strings=True) @given(branch_models_with_cycles()) > def test_definition_cycles(definition_schema, data): tests/test_hypothesis.py:111: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def inconsistent_generation(): > raise Flaky( "Inconsistent data generation! Data generation behaved differently " "between different runs. Is your data generation depending on external " "state?" ) E hypothesis.errors.Flaky: Inconsistent data generation! Data generation behaved differently between different runs. Is your data generation depending on external state? /usr/lib/python3.11/site-packages/hypothesis/internal/conjecture/datatree.py:47: Flaky =========================== short test summary info ============================ FAILED tests/test_hypothesis.py::test_recursive - hypothesis.errors.Flaky: In... FAILED tests/test_hypothesis.py::test_definition_cycles - hypothesis.errors.F... ====== 2 failed, 4337 passed, 60 skipped, 2 xfailed in 279.97s (0:04:39) ======= ==> ERROR: A failure occurred in check().  Aborting... ==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/root2/build [?25h[?25hreceiving incremental file list python-pydantic-core-1:2.18.1-1-riscv64-build.log python-pydantic-core-1:2.18.1-1-riscv64-check.log python-pydantic-core-1:2.18.1-1-riscv64-prepare.log sent 81 bytes received 46,561 bytes 93,284.00 bytes/sec total size is 510,051 speedup is 10.94