============================= test session starts ==============================
platform linux -- Python 3.10.12, pytest-9.0.3, pluggy-1.6.0 -- /usr/bin/python
cachedir: .pytest_cache
metadata: {'Python': '3.10.12', 'Platform': 'Linux-6.8.0-1026-gke-x86_64-with-glibc2.35', 'Packages': {'pytest': '9.0.3', 'pluggy': '1.6.0'}, 'Plugins': {'metadata': '3.1.1', 'anyio': '4.13.0', 'cov': '7.1.0', 'json-report': '1.5.0'}}
rootdir: /workspace/voluptuous
configfile: pyproject.toml
plugins: metadata-3.1.1, anyio-4.13.0, cov-7.1.0, json-report-1.5.0
collecting ... collected 149 items

voluptuous/tests/tests.md::tests.md PASSED                               [  0%]
voluptuous/tests/tests.py::test_new_required_test PASSED                 [  1%]
voluptuous/tests/tests.py::test_exact_sequence PASSED                    [  2%]
voluptuous/tests/tests.py::test_required PASSED                          [  2%]
voluptuous/tests/tests.py::test_extra_with_required PASSED               [  3%]
voluptuous/tests/tests.py::test_iterate_candidates PASSED                [  4%]
voluptuous/tests/tests.py::test_in PASSED                                [  4%]
voluptuous/tests/tests.py::test_in_unsortable_container PASSED           [  5%]
voluptuous/tests/tests.py::test_not_in PASSED                            [  6%]
voluptuous/tests/tests.py::test_not_in_unsortable_container PASSED       [  6%]
voluptuous/tests/tests.py::test_contains PASSED                          [  7%]
voluptuous/tests/tests.py::test_remove PASSED                            [  8%]
voluptuous/tests/tests.py::test_remove_with_error PASSED                 [  8%]
voluptuous/tests/tests.py::test_extra_empty_errors PASSED                [  9%]
voluptuous/tests/tests.py::test_literal PASSED                           [ 10%]
voluptuous/tests/tests.py::test_class PASSED                             [ 10%]
voluptuous/tests/tests.py::test_email_validation PASSED                  [ 11%]
voluptuous/tests/tests.py::test_email_validation_with_none PASSED        [ 12%]
voluptuous/tests/tests.py::test_email_validation_with_empty_string PASSED [ 12%]
voluptuous/tests/tests.py::test_email_validation_without_host PASSED     [ 13%]
voluptuous/tests/tests.py::test_email_validation_with_bad_data[john@voluptuous.com>] PASSED [ 14%]
voluptuous/tests/tests.py::test_email_validation_with_bad_data[john!@voluptuous.org!@($*!] PASSED [ 14%]
voluptuous/tests/tests.py::test_fqdn_url_validation PASSED               [ 15%]
voluptuous/tests/tests.py::test_fqdn_url_validation_with_bad_data[without domain name] PASSED [ 16%]
voluptuous/tests/tests.py::test_fqdn_url_validation_with_bad_data[None] PASSED [ 16%]
voluptuous/tests/tests.py::test_fqdn_url_validation_with_bad_data[empty string] PASSED [ 17%]
voluptuous/tests/tests.py::test_fqdn_url_validation_with_bad_data[empty host] PASSED [ 18%]
voluptuous/tests/tests.py::test_url_validation PASSED                    [ 18%]
voluptuous/tests/tests.py::test_url_validation_with_bad_data[None] PASSED [ 19%]
voluptuous/tests/tests.py::test_url_validation_with_bad_data[empty string] PASSED [ 20%]
voluptuous/tests/tests.py::test_url_validation_with_bad_data[empty host] PASSED [ 20%]
voluptuous/tests/tests.py::test_copy_dict_undefined PASSED               [ 21%]
voluptuous/tests/tests.py::test_sorting PASSED                           [ 22%]
voluptuous/tests/tests.py::test_schema_extend PASSED                     [ 22%]
voluptuous/tests/tests.py::test_schema_extend_overrides PASSED           [ 23%]
voluptuous/tests/tests.py::test_schema_extend_key_swap PASSED            [ 24%]
voluptuous/tests/tests.py::test_subschema_extension PASSED               [ 24%]
voluptuous/tests/tests.py::test_schema_extend_handles_schema_subclass PASSED [ 25%]
voluptuous/tests/tests.py::test_equality PASSED                          [ 26%]
voluptuous/tests/tests.py::test_equality_negative PASSED                 [ 26%]
voluptuous/tests/tests.py::test_inequality PASSED                        [ 27%]
voluptuous/tests/tests.py::test_inequality_negative PASSED               [ 28%]
voluptuous/tests/tests.py::test_repr PASSED                              [ 28%]
voluptuous/tests/tests.py::test_list_validation_messages PASSED          [ 29%]
voluptuous/tests/tests.py::test_nested_multiple_validation_errors PASSED [ 30%]
voluptuous/tests/tests.py::test_humanize_error PASSED                    [ 30%]
voluptuous/tests/tests.py::test_fix_157 PASSED                           [ 31%]
voluptuous/tests/tests.py::test_range_inside PASSED                      [ 32%]
voluptuous/tests/tests.py::test_range_outside PASSED                     [ 32%]
voluptuous/tests/tests.py::test_range_no_upper_limit PASSED              [ 33%]
voluptuous/tests/tests.py::test_range_no_lower_limit PASSED              [ 34%]
voluptuous/tests/tests.py::test_range_excludes_nan PASSED                [ 34%]
voluptuous/tests/tests.py::test_range_excludes_none PASSED               [ 35%]
voluptuous/tests/tests.py::test_range_excludes_string PASSED             [ 36%]
voluptuous/tests/tests.py::test_range_excludes_unordered_object PASSED   [ 36%]
voluptuous/tests/tests.py::test_clamp_inside PASSED                      [ 37%]
voluptuous/tests/tests.py::test_clamp_above PASSED                       [ 38%]
voluptuous/tests/tests.py::test_clamp_below PASSED                       [ 38%]
voluptuous/tests/tests.py::test_clamp_invalid PASSED                     [ 39%]
voluptuous/tests/tests.py::test_length_ok PASSED                         [ 40%]
voluptuous/tests/tests.py::test_length_too_short PASSED                  [ 40%]
voluptuous/tests/tests.py::test_length_too_long PASSED                   [ 41%]
voluptuous/tests/tests.py::test_length_invalid PASSED                    [ 42%]
voluptuous/tests/tests.py::test_equal PASSED                             [ 42%]
voluptuous/tests/tests.py::test_unordered PASSED                         [ 43%]
voluptuous/tests/tests.py::test_maybe PASSED                             [ 44%]
voluptuous/tests/tests.py::test_maybe_accepts_msg PASSED                 [ 44%]
voluptuous/tests/tests.py::test_maybe_returns_default_error PASSED       [ 45%]
voluptuous/tests/tests.py::test_schema_empty_list PASSED                 [ 46%]
voluptuous/tests/tests.py::test_schema_empty_dict PASSED                 [ 46%]
voluptuous/tests/tests.py::test_schema_empty_dict_key PASSED             [ 47%]
voluptuous/tests/tests.py::test_schema_decorator_match_with_args PASSED  [ 48%]
voluptuous/tests/tests.py::test_schema_decorator_unmatch_with_args PASSED [ 48%]
voluptuous/tests/tests.py::test_schema_decorator_match_with_kwargs PASSED [ 49%]
voluptuous/tests/tests.py::test_schema_decorator_unmatch_with_kwargs PASSED [ 50%]
voluptuous/tests/tests.py::test_schema_decorator_match_return_with_args PASSED [ 51%]
voluptuous/tests/tests.py::test_schema_decorator_unmatch_return_with_args PASSED [ 51%]
voluptuous/tests/tests.py::test_schema_decorator_match_return_with_kwargs PASSED [ 52%]
voluptuous/tests/tests.py::test_schema_decorator_unmatch_return_with_kwargs PASSED [ 53%]
voluptuous/tests/tests.py::test_schema_decorator_return_only_match PASSED [ 53%]
voluptuous/tests/tests.py::test_schema_decorator_return_only_unmatch PASSED [ 54%]
voluptuous/tests/tests.py::test_schema_decorator_partial_match_called_with_args PASSED [ 55%]
voluptuous/tests/tests.py::test_schema_decorator_partial_unmatch_called_with_args PASSED [ 55%]
voluptuous/tests/tests.py::test_schema_decorator_partial_match_called_with_kwargs PASSED [ 56%]
voluptuous/tests/tests.py::test_schema_decorator_partial_unmatch_called_with_kwargs PASSED [ 57%]
voluptuous/tests/tests.py::test_number_validation_with_string PASSED     [ 57%]
voluptuous/tests/tests.py::test_number_validation_with_invalid_precision_invalid_scale PASSED [ 58%]
voluptuous/tests/tests.py::test_number_validation_with_valid_precision_scale_yield_decimal_true PASSED [ 59%]
voluptuous/tests/tests.py::test_number_when_precision_scale_none_yield_decimal_true PASSED [ 59%]
voluptuous/tests/tests.py::test_number_when_precision_none_n_valid_scale_case1_yield_decimal_true PASSED [ 60%]
voluptuous/tests/tests.py::test_number_when_precision_none_n_valid_scale_case2_yield_decimal_true PASSED [ 61%]
voluptuous/tests/tests.py::test_number_when_precision_none_n_invalid_scale_yield_decimal_true PASSED [ 61%]
voluptuous/tests/tests.py::test_number_when_valid_precision_n_scale_none_yield_decimal_true PASSED [ 62%]
voluptuous/tests/tests.py::test_number_when_invalid_precision_n_scale_none_yield_decimal_true PASSED [ 63%]
voluptuous/tests/tests.py::test_number_validation_with_valid_precision_scale_yield_decimal_false PASSED [ 63%]
voluptuous/tests/tests.py::test_named_tuples_validate_as_tuples PASSED   [ 64%]
voluptuous/tests/tests.py::test_datetime PASSED                          [ 65%]
voluptuous/tests/tests.py::test_date PASSED                              [ 65%]
voluptuous/tests/tests.py::test_date_custom_format PASSED                [ 66%]
voluptuous/tests/tests.py::test_ordered_dict PASSED                      [ 67%]
voluptuous/tests/tests.py::test_marker_hashable PASSED                   [ 67%]
voluptuous/tests/tests.py::test_schema_infer PASSED                      [ 68%]
voluptuous/tests/tests.py::test_schema_infer_dict PASSED                 [ 69%]
voluptuous/tests/tests.py::test_schema_infer_list PASSED                 [ 69%]
voluptuous/tests/tests.py::test_schema_infer_scalar PASSED               [ 70%]
voluptuous/tests/tests.py::test_schema_infer_accepts_kwargs PASSED       [ 71%]
voluptuous/tests/tests.py::test_validation_performance PASSED            [ 71%]
voluptuous/tests/tests.py::test_IsDir PASSED                             [ 72%]
voluptuous/tests/tests.py::test_IsFile PASSED                            [ 73%]
voluptuous/tests/tests.py::test_PathExists PASSED                        [ 73%]
voluptuous/tests/tests.py::test_description PASSED                       [ 74%]
voluptuous/tests/tests.py::test_SomeOf_min_validation PASSED             [ 75%]
voluptuous/tests/tests.py::test_SomeOf_max_validation PASSED             [ 75%]
voluptuous/tests/tests.py::test_self_validation PASSED                   [ 76%]
voluptuous/tests/tests.py::test_any_error_has_path PASSED                [ 77%]
voluptuous/tests/tests.py::test_all_error_has_path PASSED                [ 77%]
voluptuous/tests/tests.py::test_match_error_has_path PASSED              [ 78%]
voluptuous/tests/tests.py::test_path_with_string PASSED                  [ 79%]
voluptuous/tests/tests.py::test_path_with_list_index PASSED              [ 79%]
voluptuous/tests/tests.py::test_path_with_tuple_index PASSED             [ 80%]
voluptuous/tests/tests.py::test_path_with_integer_dict_key PASSED        [ 81%]
voluptuous/tests/tests.py::test_path_with_float_dict_key PASSED          [ 81%]
voluptuous/tests/tests.py::test_path_with_tuple_dict_key PASSED          [ 82%]
voluptuous/tests/tests.py::test_path_with_arbitrary_hashable_dict_key PASSED [ 83%]
voluptuous/tests/tests.py::test_self_any PASSED                          [ 83%]
voluptuous/tests/tests.py::test_self_all PASSED                          [ 84%]
voluptuous/tests/tests.py::test_SomeOf_on_bounds_assertion PASSED        [ 85%]
voluptuous/tests/tests.py::test_comparing_voluptuous_object_to_str PASSED [ 85%]
voluptuous/tests/tests.py::test_set_of_integers PASSED                   [ 86%]
voluptuous/tests/tests.py::test_frozenset_of_integers PASSED             [ 87%]
voluptuous/tests/tests.py::test_set_of_integers_and_strings PASSED       [ 87%]
voluptuous/tests/tests.py::test_frozenset_of_integers_and_strings PASSED [ 88%]
voluptuous/tests/tests.py::test_lower_util_handles_various_inputs PASSED [ 89%]
voluptuous/tests/tests.py::test_upper_util_handles_various_inputs PASSED [ 89%]
voluptuous/tests/tests.py::test_capitalize_util_handles_various_inputs PASSED [ 90%]
voluptuous/tests/tests.py::test_title_util_handles_various_inputs PASSED [ 91%]
voluptuous/tests/tests.py::test_strip_util_handles_various_inputs PASSED [ 91%]
voluptuous/tests/tests.py::test_any_required PASSED                      [ 92%]
voluptuous/tests/tests.py::test_any_required_with_subschema PASSED       [ 93%]
voluptuous/tests/tests.py::test_inclusive PASSED                         [ 93%]
voluptuous/tests/tests.py::test_inclusive_defaults PASSED                [ 94%]
voluptuous/tests/tests.py::test_exclusive PASSED                         [ 95%]
voluptuous/tests/tests.py::test_any_with_discriminant PASSED             [ 95%]
voluptuous/tests/tests.py::test_key1 PASSED                              [ 96%]
voluptuous/tests/tests.py::test_key2 PASSED                              [ 97%]
voluptuous/tests/tests.py::test_key3 PASSED                              [ 97%]
voluptuous/tests/tests.py::test_coerce_enum PASSED                       [ 98%]
voluptuous/tests/tests.py::test_object PASSED                            [ 99%]
voluptuous/tests/tests.py::test_exception PASSED                         [100%]

--------------------------------- JSON report ----------------------------------
report saved to: report.json
============================= 149 passed in 0.15s ==============================