========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================= test session starts ==========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
platform linux -- Python 3.10.12, pytest-9.0.3, pluggy-1.6.0
rootdir: /workspace/marshmallow
configfile: pyproject.toml
plugins: anyio-4.13.0, metadata-3.1.1, json-report-1.5.0, cov-7.1.0
collected 506 items

tests/test_serialization.py ............F.................F.F............F..........................................................................................                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             [ 26%]
tests/test_deserialization.py .........................................................F......F....................F...................................................................FFF...................F.F........F..F.............................................F.....F.................................................................................F.FF...........................................                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 [100%]

=============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== FAILURES ===============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ TestFieldSerialization.test_function_field_passed_serialize_with_context _______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
tests/test_serialization.py:114: in test_function_field_passed_serialize_with_context
    assert "FOOBAR" == field.serialize("key", user)
src/marshmallow/fields.py:179: in serialize
    return _field_serialize(self, attr, obj, accessor, **kwargs)
src/marshmallow/fields.py:1008: in _field_serialize
    return self._serialize(value, attr, obj, **kwargs)
src/marshmallow/fields.py:1597: in _func_ser2
    return self.serialize_func(obj, self.context) if len(args) > 1 else self.serialize_func(obj)
tests/test_serialization.py:111: in <lambda>
    serialize=lambda obj, context: obj.name.upper() + context["key"]
E   KeyError: 'key'
_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ TestFieldSerialization.test_decimal_field_special_values _______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
tests/test_serialization.py:357: in test_decimal_field_special_values
    assert m1s.is_qnan() and not m1s.is_signed()
E   AssertionError: assert (True and not True)
E    +  where True = <built-in method is_qnan of decimal.Decimal object at 0x7edd7f633670>()
E    +    where <built-in method is_qnan of decimal.Decimal object at 0x7edd7f633670> = Decimal('-NaN').is_qnan
E    +  and   True = <built-in method is_signed of decimal.Decimal object at 0x7edd7f633670>()
E    +    where <built-in method is_signed of decimal.Decimal object at 0x7edd7f633670> = Decimal('-NaN').is_signed
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ TestFieldSerialization.test_decimal_field_fixed_point_representation _________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
tests/test_serialization.py:421: in test_decimal_field_fixed_point_representation
    assert s == user.m1
E   AssertionError: assert '1.00000000E-9' == '0.00000000100000000'
E
E     - 0.00000000100000000
E     + 1.00000000E-9
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ TestFieldSerialization.test_method_field_with_uncallable_attribute __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
tests/test_serialization.py:507: in test_method_field_with_uncallable_attribute
    with pytest.raises(TypeError):
E   Failed: DID NOT RAISE <class 'TypeError'>
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ TestFieldDeserialization.test_float_field_overflow __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
tests/test_deserialization.py:91: in test_float_field_overflow
    assert excinfo.value.args[0] == "Number too large."
E   AssertionError: assert 'Not a valid number.' == 'Number too large.'
E
E     - Number too large.
E     + Not a valid number.
______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ TestFieldDeserialization.test_decimal_field_special_values ______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
tests/test_deserialization.py:215: in test_decimal_field_special_values
    assert m1d.is_qnan() and not m1d.is_signed()
E   AssertionError: assert (True and not True)
E    +  where True = <built-in method is_qnan of decimal.Decimal object at 0x7edd7f38dd80>()
E    +    where <built-in method is_qnan of decimal.Decimal object at 0x7edd7f38dd80> = Decimal('-NaN').is_qnan
E    +  and   True = <built-in method is_signed of decimal.Decimal object at 0x7edd7f38dd80>()
E    +    where <built-in method is_signed of decimal.Decimal object at 0x7edd7f38dd80> = Decimal('-NaN').is_signed
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ TestFieldDeserialization.test_field_toggle_show_invalid_value_in_error_message ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
tests/test_deserialization.py:401: in test_field_toggle_show_invalid_value_in_error_message
    boolfield.deserialize("notabool")
src/marshmallow/fields.py:191: in deserialize
    return _field_deserialize(self, value, attr, data, **kwargs)
src/marshmallow/fields.py:1019: in _field_deserialize
    ret = self._deserialize(value, attr, data, **kwargs)
src/marshmallow/fields.py:1556: in _safe_bool_deserialize
    raise self.make_error('invalid')
src/marshmallow/fields.py:1386: in _better_make_error
    return ValidationError(msg.format(**kwargs) if isinstance(msg, str) else msg)
E   KeyError: 'input'
______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ TestFieldDeserialization.test_iso_time_field_deserialization[01:23:45+01:00-expected1-iso] _______________________________________________________________________________________________________________________________________________<response clipped><NOTE>Due to the max output limit, only part of the full response has been shown to you.</NOTE>5: in _uuid_validated
    return value if isinstance(value, uuid.UUID) else uuid.UUID(str(value))
/usr/lib/python3.10/uuid.py:177: in __init__
    raise ValueError('badly formed hexadecimal UUID string')
E   ValueError: badly formed hexadecimal UUID string

The above exception was the direct cause of the following exception:
tests/test_deserialization.py:1021: in test_uuid_field_deserialization
    result = field.deserialize(uuid_bytes)
src/marshmallow/fields.py:191: in deserialize
    return _field_deserialize(self, value, attr, data, **kwargs)
src/marshmallow/fields.py:1019: in _field_deserialize
    ret = self._deserialize(value, attr, data, **kwargs)
src/marshmallow/fields.py:1144: in _uuid_deserialize
    return self._validated(value)
src/marshmallow/fields.py:435: in _validated
    return _uuid_validated(self, value)
src/marshmallow/fields.py:1137: in _uuid_validated
    raise self.make_error('invalid_uuid') from err
E   marshmallow.exceptions.ValidationError: Not a valid UUID.
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ TestFieldDeserialization.test_enum_field_by_symbol_not_string _____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
src/marshmallow/fields.py:1295: in _enum_deserialize
    return self.enum[self.field.deserialize(value, attr, data, **kwargs)] if self.by_value is False else self.enum(self.field.deserialize(value, attr, data, **kwargs))
src/marshmallow/fields.py:191: in deserialize
    return _field_deserialize(self, value, attr, data, **kwargs)
src/marshmallow/fields.py:1019: in _field_deserialize
    ret = self._deserialize(value, attr, data, **kwargs)
src/marshmallow/fields.py:1128: in _string_deserialize
    raise self.make_error('invalid')
E   marshmallow.exceptions.ValidationError: Not a valid string.

The above exception was the direct cause of the following exception:
tests/test_deserialization.py:1185: in test_enum_field_by_symbol_not_string
    field.deserialize(12)
src/marshmallow/fields.py:191: in deserialize
    return _field_deserialize(self, value, attr, data, **kwargs)
src/marshmallow/fields.py:1019: in _field_deserialize
    ret = self._deserialize(value, attr, data, **kwargs)
src/marshmallow/fields.py:1297: in _enum_deserialize
    raise self.make_error('unknown', choices=self.choices_text) from err
E   marshmallow.exceptions.ValidationError: Must be one of: male, female, non_binary.

During handling of the above exception, another exception occurred:
tests/test_deserialization.py:1184: in test_enum_field_by_symbol_not_string
    with pytest.raises(ValidationError, match="Not a valid string."):
E   AssertionError: Regex pattern did not match.
E     Expected regex: 'Not a valid string.'
E     Actual message: 'Must be one of: male, female, non_binary.'
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ TestFieldDeserialization.test_enum_field_by_value_field_wrong_type __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
src/marshmallow/fields.py:1295: in _enum_deserialize
    return self.enum[self.field.deserialize(value, attr, data, **kwargs)] if self.by_value is False else self.enum(self.field.deserialize(value, attr, data, **kwargs))
src/marshmallow/fields.py:191: in deserialize
    return _field_deserialize(self, value, attr, data, **kwargs)
src/marshmallow/fields.py:1019: in _field_deserialize
    ret = self._deserialize(value, attr, data, **kwargs)
src/marshmallow/fields.py:1128: in _string_deserialize
    raise self.make_error('invalid')
E   marshmallow.exceptions.ValidationError: Not a valid string.

The above exception was the direct cause of the following exception:
tests/test_deserialization.py:1242: in test_enum_field_by_value_field_wrong_type
    field.deserialize(12)
src/marshmallow/fields.py:191: in deserialize
    return _field_deserialize(self, value, attr, data, **kwargs)
src/marshmallow/fields.py:1019: in _field_deserialize
    ret = self._deserialize(value, attr, data, **kwargs)
src/marshmallow/fields.py:1297: in _enum_deserialize
    raise self.make_error('unknown', choices=self.choices_text) from err
E   marshmallow.exceptions.ValidationError: Must be one of: black hair, brown hair, blond hair, red hair.

During handling of the above exception, another exception occurred:
tests/test_deserialization.py:1241: in test_enum_field_by_value_field_wrong_type
    with pytest.raises(ValidationError, match="Not a valid string."):
E   AssertionError: Regex pattern did not match.
E     Expected regex: 'Not a valid string.'
E     Actual message: 'Must be one of: black hair, brown hair, blond hair, red hair.'
___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ TestValidation.test_nested_data_is_stored_when_validation_fails ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
tests/test_deserialization.py:2159: in test_nested_data_is_stored_when_validation_fails
    assert data == {"w": 90, "n": {"x": 90, "y": 89}}
E   AssertionError: assert {'w': 90} == {'n': {'x': 9... 89}, 'w': 90}
E
E     Omitting 1 identical items, use -vv to show
E     Right contains 1 more item:
E     {'n': {'x': 90, 'y': 89}}
E     Use -v to get more diff
_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ TestValidation.test_nested_partial_load ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
tests/test_deserialization.py:2196: in test_nested_partial_load
    assert data["z"]["y"] == 42
E   KeyError: 'z'
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ TestValidation.test_deeply_nested_partial_load ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
tests/test_deserialization.py:2219: in test_deeply_nested_partial_load
    assert data["b"]["c"]["y"] == 42
E   KeyError: 'b'
======================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================= short test summary info ========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
FAILED tests/test_serialization.py::TestFieldSerialization::test_function_field_passed_serialize_with_context - KeyError: 'key'
FAILED tests/test_serialization.py::TestFieldSerialization::test_decimal_field_special_values - AssertionError: assert (True and not True)
FAILED tests/test_serialization.py::TestFieldSerialization::test_decimal_field_fixed_point_representation - AssertionError: assert '1.00000000E-9' == '0.00000000100000000'
FAILED tests/test_serialization.py::TestFieldSerialization::test_method_field_with_uncallable_attribute - Failed: DID NOT RAISE <class 'TypeError'>
FAILED tests/test_deserialization.py::TestFieldDeserialization::test_float_field_overflow - AssertionError: assert 'Not a valid number.' == 'Number too large.'
FAILED tests/test_deserialization.py::TestFieldDeserialization::test_decimal_field_special_values - AssertionError: assert (True and not True)
FAILED tests/test_deserialization.py::TestFieldDeserialization::test_field_toggle_show_invalid_value_in_error_message - KeyError: 'input'
FAILED tests/test_deserialization.py::TestFieldDeserialization::test_iso_time_field_deserialization[01:23:45+01:00-expected1-iso] - assert datetime.time(1, 23, 45, tzinfo=datetime.timezone(datetime.timedelta(seconds=3600))) == datetime.time(1, 23, 45)
FAILED tests/test_deserialization.py::TestFieldDeserialization::test_iso_time_field_deserialization[01:23:45+01:00-expected1-iso8601] - assert datetime.time(1, 23, 45, tzinfo=datetime.timezone(datetime.timedelta(seconds=3600))) == datetime.time(1, 23, 45)
FAILED tests/test_deserialization.py::TestFieldDeserialization::test_iso_time_field_deserialization[01:23:45+01:00-expected1-None] - assert datetime.time(1, 23, 45, tzinfo=datetime.timezone(datetime.timedelta(seconds=3600))) == datetime.time(1, 23, 45)
FAILED tests/test_deserialization.py::TestFieldDeserialization::test_structured_dict_value_deserialization - AssertionError: assert {'ham': ['spam']} == {'foo': [], 'ham': ['spam']}
FAILED tests/test_deserialization.py::TestFieldDeserialization::test_structured_dict_key_value_deserialization - AssertionError: assert {1: {'key': [...id string.']}} == {1: {'key': [...id number.']}}
FAILED tests/test_deserialization.py::TestFieldDeserialization::test_function_field_deserialization_with_context - KeyError: 'key'
FAILED tests/test_deserialization.py::TestFieldDeserialization::test_uuid_field_deserialization - marshmallow.exceptions.ValidationError: Not a valid UUID.
FAILED tests/test_deserialization.py::TestFieldDeserialization::test_enum_field_by_symbol_not_string - AssertionError: Regex pattern did not match.
FAILED tests/test_deserialization.py::TestFieldDeserialization::test_enum_field_by_value_field_wrong_type - AssertionError: Regex pattern did not match.
FAILED tests/test_deserialization.py::TestValidation::test_nested_data_is_stored_when_validation_fails - AssertionError: assert {'w': 90} == {'n': {'x': 9... 89}, 'w': 90}
FAILED tests/test_deserialization.py::TestValidation::test_nested_partial_load - KeyError: 'z'
FAILED tests/test_deserialization.py::TestValidation::test_deeply_nested_partial_load - KeyError: 'b'
==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== 19 failed, 487 passed in 1.38s ====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
[The command completed with exit code 1.]
[Current working directory: /workspace/marshmallow]
[Python interpreter: /usr/bin/python]
[Command finished with exit code 1]