Run overview
swe_bench / lite / dev
Run ddbd91da...4155
Benchmark pass rate
50%
1 of 2 tasks passed
Pass rate is the share of benchmark tasks that passed.
Passed
1
Tasks that passed
Failed
1
Tasks that failed
Total spend
$0.09
Duration 28 s
Task review
Completed tasks
2 completed tasks. Open a card only when you need logs, patch text, or scoring detail.
marshmallow-code__marshmallow-1359
marshmallow-code/marshmallow
Score
0%
Outcome
Did not pass
Task cost
$0.04
Duration
13 s
Summary
Did not pass
Patch failed to apply in the official SWE-bench workspace.
View task details
Run metadata
Benchmark
swe_bench/lite/dev
Model
claude-sonnet-4-5-20250929
Started
Mar 31, 2026, 2:52 AM UTC
Completed
Mar 31, 2026, 2:52 AM UTC
Sandbox
c7346a06-324e-474c-90b4-78ee2907d492
Tokens
In 16,776 / out 385
F2P / P2P
Pending
Passed benchmark
No
Completed
Benchmark context
Task input
3.0: DateTime fields cannot be used as inner field for List or Tuple fields
Between releases 3.0.0rc8 and 3.0.0rc9, `DateTime` fields have started throwing an error when being instantiated as inner fields of container fields like `List` or `Tuple`. The snippet below works in <=3.0.0rc8 and throws the error below in >=3.0.0rc9 (and, worryingly, 3.0.0):
```python
from marshmallow import fields, Schema
class MySchema(Schema):
times = fields.List(fields.DateTime())
s = MySchema()
```
Traceback:
```
Traceback (most recent call last):
File "test-mm.py", line 8, in <module>
s = MySchema()
File "/Users/victor/.pyenv/versions/marshmallow/lib/python3.6/site-packages/marshmallow/schema.py", line 383, in __init__
self.fields = self._init_fields()
File "/Users/victor/.pyenv/versions/marshmallow/lib/python3.6/site-packages/marshmallow/schema.py", line 913, in _init_fields
self._bind_field(field_name, field_obj)
File "/Users/victor/.pyenv/versions/marshmallow/lib/python3.6/site-packages/marshmallow/schema.py", line 969, in _bind_field
field_obj._bind_to_schema(field_name, self)
File "/Users/victor/.pyenv/versions/marshmallow/lib/python3.6/site-packages/marshmallow/fields.py", line 636, in _bind_to_schema
self.inner._bind_to_schema(field_name, self)
File "/Users/victor/.pyenv/versions/marshmallow/lib/python3.6/site-packages/marshmallow/fields.py", line 1117, in _bind_to_schema
or getattr(schema.opts, self.SCHEMA_OPTS_VAR_NAME)
AttributeError: 'List' object has no attribute 'opts'
```
It seems like it's treating the parent field as a Schema without checking that it is indeed a schema, so the `schema.opts` statement fails as fields don't have an `opts` attribute.
Fix tests
tests/test_fields.py::TestParentAndName::test_datetime_list_inner_format
Regression tests
tests/test_fields.py::test_field_aliases[Integer-Integer] tests/test_fields.py::test_field_aliases[String-String] tests/test_fields.py::test_field_aliases[Boolean-Boolean] tests/test_fields.py::test_field_aliases[Url-Url] tests/test_fields.py::TestField::test_repr tests/test_fields.py::TestField::test_error_raised_if_uncallable_validator_passed tests/test_fields.py::TestField::test_error_raised_if_missing_is_set_on_required_field tests/test_fields.py::TestField::test_custom_field_receives_attr_and_obj tests/test_fields.py::TestField::test_custom_field_receives_data_key_if_set tests/test_fields.py::TestField::test_custom_field_follows_data_key_if_set tests/test_fields.py::TestParentAndName::test_simple_field_parent_and_name tests/test_fields.py::TestParentAndName::test_unbound_field_root_returns_none tests/test_fields.py::TestParentAndName::test_list_field_inner_parent_and_name tests/test_fields.py::TestParentAndName::test_tuple_field_inner_parent_and_name tests/test_fields.py::TestParentAndName::test_mapping_field_inner_parent_and_name tests/test_fields.py::TestParentAndName::test_simple_field_root tests/test_fields.py::TestParentAndName::test_list_field_inner_root tests/test_fields.py::TestParentAndName::test_tuple_field_inner_root tests/test_fields.py::TestParentAndName::test_list_root_inheritance tests/test_fields.py::TestParentAndName::test_dict_root_inheritance tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[String] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Integer] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Boolean] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Float] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Number] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[DateTime] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Time] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Date] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[TimeDelta] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Dict] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Url] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Email] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[UUID] tests/test_fields.py::TestMetadata::test_extra_metadata_may_be_added_to_field[Decimal] tests/test_fields.py::TestErrorMessages::test_default_error_messages_get_merged_with_parent_error_messages_cstm_msg tests/test_fields.py::TestErrorMessages::test_default_error_messages_get_merged_with_parent_error_messages tests/test_fields.py::TestErrorMessages::test_make_error[required-Missing tests/test_fields.py::TestErrorMessages::test_make_error[null-Field tests/test_fields.py::TestErrorMessages::test_make_error[custom-Custom tests/test_fields.py::TestErrorMessages::test_make_error[validator_failed-Invalid tests/test_fields.py::TestErrorMessages::test_fail[required-Missing tests/test_fields.py::TestErrorMessages::test_fail[null-Field tests/test_fields.py::TestErrorMessages::test_fail[custom-Custom tests/test_fields.py::TestErrorMessages::test_fail[validator_failed-Invalid tests/test_fields.py::TestErrorMessages::test_make_error_key_doesnt_exist tests/test_fields.py::TestNestedField::test_nested_only_and_exclude_as_string[only] tests/test_fields.py::TestNestedField::test_nested_only_and_exclude_as_string[exclude] tests/test_fields.py::TestNestedField::test_nested_unknown_override[None-exclude] tests/test_fields.py::TestNestedField::test_nested_unknown_override[None-include] tests/test_fields.py::TestNestedField::test_nested_unknown_override[None-raise] tests/test_fields.py::TestNestedField::test_nested_unknown_override[exclude-exclude] tests/test_fields.py::TestNestedField::test_nested_unknown_override[exclude-include] tests/test_fields.py::TestNestedField::test_nested_unknown_override[exclude-raise] tests/test_fields.py::TestNestedField::test_nested_unknown_override[include-exclude] tests/test_fields.py::TestNestedField::test_nested_unknown_override[include-include] tests/test_fields.py::TestNestedField::test_nested_unknown_override[include-raise] tests/test_fields.py::TestNestedField::test_nested_unknown_override[raise-exclude] tests/test_fields.py::TestNestedField::test_nested_unknown_override[raise-include] tests/test_fields.py::TestNestedField::test_nested_unknown_override[raise-raise] tests/test_fields.py::TestListNested::test_list_nested_only_exclude_dump_only_load_only_propagated_to_nested[only] tests/test_fields.py::TestListNested::test_list_nested_only_exclude_dump_only_load_only_propagated_to_nested[exclude] tests/test_fields.py::TestListNested::test_list_nested_only_exclude_dump_only_load_only_propagated_to_nested[dump_only] tests/test_fields.py::TestListNested::test_list_nested_only_exclude_dump_only_load_only_propagated_to_nested[load_only] tests/test_fields.py::TestListNested::test_list_nested_only_and_exclude_merged_with_nested[only-expected0] tests/test_fields.py::TestListNested::test_list_nested_only_and_exclude_merged_with_nested[exclude-expected1] tests/test_fields.py::TestListNested::test_list_nested_partial_propagated_to_nested tests/test_fields.py::TestTupleNested::test_tuple_nested_only_exclude_dump_only_load_only_propagated_to_nested[dump_only] tests/test_fields.py::TestTupleNested::test_tuple_nested_only_exclude_dump_only_load_only_propagated_to_nested[load_only] tests/test_fields.py::TestTupleNested::test_tuple_nested_partial_propagated_to_nested tests/test_fields.py::TestDictNested::test_dict_nested_only_exclude_dump_only_load_only_propagated_to_nested[only] tests/test_fields.py::TestDictNested::test_dict_nested_only_exclude_dump_only_load_only_propagated_to_nested[exclude] tests/test_fields.py::TestDictNested::test_dict_nested_only_exclude_dump_only_load_only_propagated_to_nested[dump_only] tests/test_fields.py::TestDictNested::test_dict_nested_only_exclude_dump_only_load_only_propagated_to_nested[load_only] tests/test_fields.py::TestDictNested::test_dict_nested_only_and_exclude_merged_with_nested[only-expected0] tests/test_fields.py::TestDictNested::test_dict_nested_only_and_exclude_merged_with_nested[exclude-expected1] tests/test_fields.py::TestDictNested::test_dict_nested_partial_propagated_to_nested
Execution
Scorer detail
Patch failed to apply in the official SWE-bench workspace.
Patch text
diff --git a/src/marshmallow/fields.py b/src/marshmallow/fields.py
index 0b18e7dd..55e36e26 100644
--- a/src/marshmallow/fields.py
+++ b/src/marshmallow/fields.py
@@ -1114,7 +1114,7 @@ class DateTime(Field):
super()._bind_to_schema(field_name, schema)
self.format = (
self.format
- or getattr(schema.opts, self.SCHEMA_OPTS_VAR_NAME)
+ or getattr(self.root.opts, self.SCHEMA_OPTS_VAR_NAME)
or self.DEFAULT_FORMAT
)Stdout
[anthropic-agent] instance=marshmallow-code__marshmallow-1359 [anthropic-agent] repo=marshmallow-code/marshmallow [anthropic-agent] sandbox=c7346a06-324e-474c-90b4-78ee2907d492 [anthropic-agent] model=claude-sonnet-4-5-20250929 [anthropic-agent] context_files=6 [anthropic-agent] full_file_context=yes [anthropic-agent] edit_attempts=2
Stderr
[anthropic-agent] Attempt 1: python syntax error in src/marshmallow/fields.py: unexpected indent at line 1120
Agent output
diff --git a/src/marshmallow/fields.py b/src/marshmallow/fields.py
index 0b18e7dd..55e36e26 100644
--- a/src/marshmallow/fields.py
+++ b/src/marshmallow/fields.py
@@ -1114,7 +1114,7 @@ class DateTime(Field):
super()._bind_to_schema(field_name, schema)
self.format = (
self.format
- or getattr(schema.opts, self.SCHEMA_OPTS_VAR_NAME)
+ or getattr(self.root.opts, self.SCHEMA_OPTS_VAR_NAME)
or self.DEFAULT_FORMAT
)Scoring
Passing target tests
No fail-to-pass successes recorded yet.
Failing target tests
No fail-to-pass failures recorded yet.
Maintained regression tests
No pass-to-pass successes recorded yet.
Regressed tests
No regression failures recorded yet.
Harness output
error: corrupt patch at line 13
Reference output
diff --git a/src/marshmallow/fields.py b/src/marshmallow/fields.py
--- a/src/marshmallow/fields.py
+++ b/src/marshmallow/fields.py
@@ -1114,7 +1114,7 @@ def _bind_to_schema(self, field_name, schema):
super()._bind_to_schema(field_name, schema)
self.format = (
self.format
- or getattr(schema.opts, self.SCHEMA_OPTS_VAR_NAME)
+ or getattr(self.root.opts, self.SCHEMA_OPTS_VAR_NAME)
or self.DEFAULT_FORMAT
)
marshmallow-code__marshmallow-1343
marshmallow-code/marshmallow
Score
100%
Outcome
Passed benchmark
Task cost
$0.05
Duration
18 s
Summary
Passed benchmark
Resolved by official SWE-bench grading. Fail-to-pass: 100%. Pass-to-pass: 100%.
View task details
Run metadata
Benchmark
swe_bench/lite/dev
Model
claude-sonnet-4-5-20250929
Started
Mar 31, 2026, 2:52 AM UTC
Completed
Mar 31, 2026, 2:52 AM UTC
Sandbox
7cf890f5-a4fc-4265-bf8a-89ec13ab44a7
Tokens
In 13,683 / out 827
F2P / P2P
100% / 100%
Passed benchmark
Yes
Completed
]
tests/test_marshalling.py::TestUnmarshaller::test_deserialize_stores_errors PASSED [ 76%]
tests/test_marshalling.py::TestUnmarshaller::test_deserialize_fields_with_attribute_param PASSED [ 80%]
tests/test_marshalling.py::TestUnmarshaller::test_deserialize_fields_with_load_from_param PASSED [ 84%]
tests/test_marshalling.py::TestUnmarshaller::test_deserialize_fields_with_dump_only_param PASSED [ 88%]
tests/test_marshalling.py::TestUnmarshaller::test_deserialize_wrong_type_root_data PASSED [ 92%]
tests/test_marshalling.py::TestUnmarshaller::test_deserialize_wrong_type_nested_data PASSED [ 96%]
tests/test_marshalling.py::TestUnmarshaller::test_deserialize_wrong_nested_type_with_validates_method PASSED [100%]
=============================== warnings summary ===============================
src/marshmallow/__init__.py:19
/testbed/src/marshmallow/__init__.py:19: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
__version_info__ = tuple(LooseVersion(__version__).version)
tests/test_marshalling.py::TestUnmarshaller::test_extra_data_is_ignored
/testbed/src/marshmallow/marshalling.py:253: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
if not isinstance(data, collections.Mapping):
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
==================================== PASSES ====================================
=========================== short test summary info ============================
PASSED tests/test_marshalling.py::test_missing_is_falsy
PASSED tests/test_marshalling.py::TestMarshaller::test_prefix
PASSED tests/test_marshalling.py::TestMarshaller::test_marshalling_generator
PASSED tests/test_marshalling.py::TestMarshaller::test_default_to_missing
PASSED tests/test_marshalling.py::TestMarshaller::test_serialize_fields_with_load_only_param
PASSED tests/test_marshalling.py::TestMarshaller::test_missing_data_are_skipped
PASSED tests/test_marshalling.py::TestMarshaller::test_serialize_with_load_only_doesnt_validate
PASSED tests/test_marshalling.py::TestMarshaller::test_serialize_fields_with_dump_to_param
PASSED tests/test_marshalling.py::TestMarshaller::test_serialize_fields_with_dump_to_and_prefix_params
PASSED tests/test_marshalling.py::TestMarshaller::test_stores_indices_of_errors_when_many_equals_true
PASSED tests/test_marshalling.py::TestMarshaller::test_doesnt_store_errors_when_index_errors_equals_false
PASSED tests/test_marshalling.py::TestUnmarshaller::test_extra_data_is_ignored
PASSED tests/test_marshalling.py::TestUnmarshaller::test_stores_errors
PASSED tests/test_marshalling.py::TestUnmarshaller::test_stores_indices_of_errors_when_many_equals_true
PASSED tests/test_marshalling.py::TestUnmarshaller::test_doesnt_store_errors_when_index_errors_equals_false
PASSED tests/test_marshalling.py::TestUnmarshaller::test_deserialize
PASSED tests/test_marshalling.py::TestUnmarshaller::test_extra_fields
PASSED tests/test_marshalling.py::TestUnmarshaller::test_deserialize_many
PASSED tests/test_marshalling.py::TestUnmarshaller::test_deserialize_stores_errors
PASSED tests/test_marshalling.py::TestUnmarshaller::test_deserialize_fields_with_attribute_param
PASSED tests/test_marshalling.py::TestUnmarshaller::test_deserialize_fields_with_load_from_param
PASSED tests/test_marshalling.py::TestUnmarshaller::test_deserialize_fields_with_dump_only_param
PASSED tests/test_marshalling.py::TestUnmarshaller::test_deserialize_wrong_type_root_data
PASSED tests/test_marshalling.py::TestUnmarshaller::test_deserialize_wrong_type_nested_data
PASSED tests/test_marshalling.py::TestUnmarshaller::test_deserialize_wrong_nested_type_with_validates_method
======================== 25 passed, 2 warnings in 0.04s ========================
+ : '>>>>> End Test Output'
+ git checkout 2be2d83a1a9a6d3d9b85804f3ab545cecc409bb0 tests/test_marshalling.py
Updated 1 path from a3815758
Open in DaytonaBenchmark context
Task input
[version 2.20.0] TypeError: 'NoneType' object is not subscriptable
After update from version 2.19.5 to 2.20.0 I got error for code like:
```python
from marshmallow import Schema, fields, validates
class Bar(Schema):
value = fields.String()
@validates('value') # <- issue here
def validate_value(self, value):
pass
class Foo(Schema):
bar = fields.Nested(Bar)
sch = Foo()
sch.validate({
'bar': 'invalid',
})
```
```
Traceback (most recent call last):
File "/_/bug_mschema.py", line 19, in <module>
'bar': 'invalid',
File "/_/env/lib/python3.7/site-packages/marshmallow/schema.py", line 628, in validate
_, errors = self._do_load(data, many, partial=partial, postprocess=False)
File "/_/env/lib/python3.7/site-packages/marshmallow/schema.py", line 670, in _do_load
index_errors=self.opts.index_errors,
File "/_/env/lib/python3.7/site-packages/marshmallow/marshalling.py", line 292, in deserialize
index=(index if index_errors else None)
File "/_/env/lib/python3.7/site-packages/marshmallow/marshalling.py", line 65, in call_and_store
value = getter_func(data)
File "/_/env/lib/python3.7/site-packages/marshmallow/marshalling.py", line 285, in <lambda>
data
File "/_/env/lib/python3.7/site-packages/marshmallow/fields.py", line 265, in deserialize
output = self._deserialize(value, attr, data)
File "/_/env/lib/python3.7/site-packages/marshmallow/fields.py", line 465, in _deserialize
data, errors = self.schema.load(value)
File "/_/env/lib/python3.7/site-packages/marshmallow/schema.py", line 588, in load
result, errors = self._do_load(data, many, partial=partial, postprocess=True)
File "/_/env/lib/python3.7/site-packages/marshmallow/schema.py", line 674, in _do_load
self._invoke_field_validators(unmarshal, data=result, many=many)
File "/_/env/lib/python3.7/site-packages/marshmallow/schema.py", line 894, in _invoke_field_validators
value = data[field_obj.attribute or field_name]
TypeError: 'NoneType' object is not subscriptable
```
Fix tests
tests/test_marshalling.py::TestUnmarshaller::test_deserialize_wrong_nested_type_with_validates_method
Regression tests
tests/test_marshalling.py::test_missing_is_falsy tests/test_marshalling.py::TestMarshaller::test_prefix tests/test_marshalling.py::TestMarshaller::test_marshalling_generator tests/test_marshalling.py::TestMarshaller::test_default_to_missing tests/test_marshalling.py::TestMarshaller::test_serialize_fields_with_load_only_param tests/test_marshalling.py::TestMarshaller::test_missing_data_are_skipped tests/test_marshalling.py::TestMarshaller::test_serialize_with_load_only_doesnt_validate tests/test_marshalling.py::TestMarshaller::test_serialize_fields_with_dump_to_param tests/test_marshalling.py::TestMarshaller::test_serialize_fields_with_dump_to_and_prefix_params tests/test_marshalling.py::TestMarshaller::test_stores_indices_of_errors_when_many_equals_true tests/test_marshalling.py::TestMarshaller::test_doesnt_store_errors_when_index_errors_equals_false tests/test_marshalling.py::TestUnmarshaller::test_extra_data_is_ignored tests/test_marshalling.py::TestUnmarshaller::test_stores_errors tests/test_marshalling.py::TestUnmarshaller::test_stores_indices_of_errors_when_many_equals_true tests/test_marshalling.py::TestUnmarshaller::test_doesnt_store_errors_when_index_errors_equals_false tests/test_marshalling.py::TestUnmarshaller::test_deserialize tests/test_marshalling.py::TestUnmarshaller::test_extra_fields tests/test_marshalling.py::TestUnmarshaller::test_deserialize_many tests/test_marshalling.py::TestUnmarshaller::test_deserialize_stores_errors tests/test_marshalling.py::TestUnmarshaller::test_deserialize_fields_with_attribute_param tests/test_marshalling.py::TestUnmarshaller::test_deserialize_fields_with_load_from_param tests/test_marshalling.py::TestUnmarshaller::test_deserialize_fields_with_dump_only_param tests/test_marshalling.py::TestUnmarshaller::test_deserialize_wrong_type_root_data tests/test_marshalling.py::TestUnmarshaller::test_deserialize_wrong_type_nested_data
Execution
Scorer detail
Resolved by official SWE-bench grading. Fail-to-pass: 100%. Pass-to-pass: 100%.
Patch text
diff --git a/src/marshmallow/schema.py b/src/marshmallow/schema.py
index 085c509b..9c5f4d2c 100644
--- a/src/marshmallow/schema.py
+++ b/src/marshmallow/schema.py
@@ -873,6 +873,9 @@ class BaseSchema(base.SchemaABC):
continue
raise ValueError('"{0}" field does not exist.'.format(field_name))
+ if data is None:
+ continue
+
if many:
for idx, item in enumerate(data):
try:Stdout
[anthropic-agent] instance=marshmallow-code__marshmallow-1343 [anthropic-agent] repo=marshmallow-code/marshmallow [anthropic-agent] sandbox=7cf890f5-a4fc-4265-bf8a-89ec13ab44a7 [anthropic-agent] model=claude-sonnet-4-5-20250929 [anthropic-agent] context_files=5 [anthropic-agent] full_file_context=yes [anthropic-agent] edit_attempts=2
Stderr
[anthropic-agent] Attempt 1: python syntax error in src/marshmallow/schema.py: invalid syntax at line 897
Agent output
diff --git a/src/marshmallow/schema.py b/src/marshmallow/schema.py
index 085c509b..9c5f4d2c 100644
--- a/src/marshmallow/schema.py
+++ b/src/marshmallow/schema.py
@@ -873,6 +873,9 @@ class BaseSchema(base.SchemaABC):
continue
raise ValueError('"{0}" field does not exist.'.format(field_name))
+ if data is None:
+ continue
+
if many:
for idx, item in enumerate(data):
try:Scoring
Passing target tests
tests/test_marshalling.py::TestUnmarshaller::test_deserialize_wrong_nested_type_with_validates_method
Failing target tests
No fail-to-pass failures recorded yet.
Maintained regression tests
tests/test_marshalling.py::test_missing_is_falsy tests/test_marshalling.py::TestMarshaller::test_prefix tests/test_marshalling.py::TestMarshaller::test_marshalling_generator tests/test_marshalling.py::TestMarshaller::test_default_to_missing tests/test_marshalling.py::TestMarshaller::test_serialize_fields_with_load_only_param tests/test_marshalling.py::TestMarshaller::test_missing_data_are_skipped tests/test_marshalling.py::TestMarshaller::test_serialize_with_load_only_doesnt_validate tests/test_marshalling.py::TestMarshaller::test_serialize_fields_with_dump_to_param tests/test_marshalling.py::TestMarshaller::test_serialize_fields_with_dump_to_and_prefix_params tests/test_marshalling.py::TestMarshaller::test_stores_indices_of_errors_when_many_equals_true tests/test_marshalling.py::TestMarshaller::test_doesnt_store_errors_when_index_errors_equals_false tests/test_marshalling.py::TestUnmarshaller::test_extra_data_is_ignored tests/test_marshalling.py::TestUnmarshaller::test_stores_errors tests/test_marshalling.py::TestUnmarshaller::test_stores_indices_of_errors_when_many_equals_true tests/test_marshalling.py::TestUnmarshaller::test_doesnt_store_errors_when_index_errors_equals_false tests/test_marshalling.py::TestUnmarshaller::test_deserialize tests/test_marshalling.py::TestUnmarshaller::test_extra_fields tests/test_marshalling.py::TestUnmarshaller::test_deserialize_many tests/test_marshalling.py::TestUnmarshaller::test_deserialize_stores_errors tests/test_marshalling.py::TestUnmarshaller::test_deserialize_fields_with_attribute_param tests/test_marshalling.py::TestUnmarshaller::test_deserialize_fields_with_load_from_param tests/test_marshalling.py::TestUnmarshaller::test_deserialize_fields_with_dump_only_param tests/test_marshalling.py::TestUnmarshaller::test_deserialize_wrong_type_root_data tests/test_marshalling.py::TestUnmarshaller::test_deserialize_wrong_type_nested_data
Regressed tests
No regression failures recorded yet.
Harness output
+ source /opt/miniconda3/bin/activate
++ _CONDA_ROOT=/opt/miniconda3
++ . /opt/miniconda3/etc/profile.d/conda.sh
+++ export CONDA_EXE=/opt/miniconda3/bin/conda
+++ CONDA_EXE=/opt/miniconda3/bin/conda
+++ export _CE_M=
+++ _CE_M=
+++ export _CE_CONDA=
+++ _CE_CONDA=
+++ export CONDA_PYTHON_EXE=/opt/miniconda3/bin/python
+++ CONDA_PYTHON_EXE=/opt/miniconda3/bin/python
+++ '[' -z x ']'
++ conda activate
++ local cmd=activate
++ case "$cmd" in
++ __conda_activate activate
++ '[' -n '' ']'
++ local ask_conda
+++ PS1=
+++ __conda_exe shell.posix activate
+++ /opt/miniconda3/bin/conda shell.posix activate
++ ask_conda='PS1='\''(base) '\''
export PATH='\''/opt/miniconda3/bin:/opt/miniconda3/condabin:/opt/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'\''
export CONDA_PREFIX='\''/opt/miniconda3'\''
export CONDA_SHLVL='\''2'\''
export CONDA_DEFAULT_ENV='\''base'\''
export CONDA_PROMPT_MODIFIER='\''(base) '\''
export CONDA_PREFIX_1='\''/opt/miniconda3/envs/testbed'\''
export CONDA_EXE='\''/opt/miniconda3/bin/conda'\''
export _CE_M='\'''\''
export _CE_CONDA='\'''\''
export CONDA_PYTHON_EXE='\''/opt/miniconda3/bin/python'\'''
++ eval 'PS1='\''(base) '\''
export PATH='\''/opt/miniconda3/bin:/opt/miniconda3/condabin:/opt/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'\''
export CONDA_PREFIX='\''/opt/miniconda3'\''
export CONDA_SHLVL='\''2'\''
export CONDA_DEFAULT_ENV='\''base'\''
export CONDA_PROMPT_MODIFIER='\''(base) '\''
export CONDA_PREFIX_1='\''/opt/miniconda3/envs/testbed'\''
export CONDA_EXE='\''/opt/miniconda3/bin/conda'\''
export _CE_M='\'''\''
export _CE_CONDA='\'''\''
export CONDA_PYTHON_EXE='\''/opt/miniconda3/bin/python'\'''
+++ PS1='(base) '
+++ export PATH=/opt/miniconda3/bin:/opt/miniconda3/condabin:/opt/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+++ PATH=/opt/miniconda3/bin:/opt/miniconda3/condabin:/opt/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+++ export CONDA_PREFIX=/opt/miniconda3
+++ CONDA_PREFIX=/opt/miniconda3
+++ export CONDA_SHLVL=2
+++ CONDA_SHLVL=2
+++ export CONDA_DEFAULT_ENV=base
+++ CONDA_DEFAULT_ENV=base
+++ export 'CONDA_PROMPT_MODIFIER=(base) '
+++ CONDA_PROMPT_MODIFIER='(base) '
+++ export CONDA_PREFIX_1=/opt/miniconda3/envs/testbed
+++ CONDA_PREFIX_1=/opt/miniconda3/envs/testbed
+++ export CONDA_EXE=/opt/miniconda3/bin/conda
+++ CONDA_EXE=/opt/miniconda3/bin/conda
+++ export _CE_M=
+++ _CE_M=
+++ export _CE_CONDA=
+++ _CE_CONDA=
+++ export CONDA_PYTHON_EXE=/opt/miniconda3/bin/python
+++ CONDA_PYTHON_EXE=/opt/miniconda3/bin/python
++ __conda_hashr
++ '[' -n '' ']'
++ '[' -n '' ']'
++ hash -r
+ conda activate testbed
+ local cmd=activate
+ case "$cmd" in
+ __conda_activate activate testbed
+ '[' -n '' ']'
+ local ask_conda
++ PS1='(base) '
++ __conda_exe shell.posix activate testbed
++ /opt/miniconda3/bin/conda shell.posix activate testbed
+ ask_conda='PS1='\''(testbed) '\''
export PATH='\''/opt/miniconda3/envs/testbed/bin:/opt/miniconda3/condabin:/opt/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'\''
export CONDA_PREFIX='\''/opt/miniconda3/envs/testbed'\''
export CONDA_SHLVL='\''3'\''
export CONDA_DEFAULT_ENV='\''testbed'\''
export CONDA_PROMPT_MODIFIER='\''(testbed) '\''
export CONDA_PREFIX_2='\''/opt/miniconda3'\''
export CONDA_EXE='\''/opt/miniconda3/bin/conda'\''
export _CE_M='\'''\''
export _CE_CONDA='\'''\''
export CONDA_PYTHON_EXE='\''/opt/miniconda3/bin/python'\'''
+ eval 'PS1='\''(testbed) '\''
export PATH='\''/opt/miniconda3/envs/testbed/bin:/opt/miniconda3/condabin:/opt/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'\''
export CONDA_PREFIX='\''/opt/miniconda3/envs/testbed'\''
export CONDA_SHLVL='\''3'\''
export CONDA_DEFAULT_ENV='\''testbed'\''
export CONDA_PROMPT_MODIFIER='\''(testbed) '\''
export CONDA_PREFIX_2='\''/opt/miniconda3'\''
export CONDA_EXE='\''/opt/miniconda3/bin/conda'\''
export _CE_M='\'''\''
export _CE_CONDA='\'''\''
export CONDA_PYTHON_EXE='\''/opt/miniconda3/bin/python'\'''
++ PS1='(testbed) '
++ export PATH=/opt/miniconda3/envs/testbed/bin:/opt/miniconda3/condabin:/opt/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
++ PATH=/opt/miniconda3/envs/testbed/bin:/opt/miniconda3/condabin:/opt/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
++ export CONDA_PREFIX=/opt/miniconda3/envs/testbed
++ CONDA_PREFIX=/opt/miniconda3/envs/testbed
++ export CONDA_SHLVL=3
++ CONDA_SHLVL=3
++ export CONDA_DEFAULT_ENV=testbed
++ CONDA_DEFAULT_ENV=testbed
++ export 'CONDA_PROMPT_MODIFIER=(testbed) '
++ CONDA_PROMPT_MODIFIER='(testbed) '
++ export CONDA_PREFIX_2=/opt/miniconda3
++ CONDA_PREFIX_2=/opt/miniconda3
++ export CONDA_EXE=/opt/miniconda3/bin/conda
++ CONDA_EXE=/opt/miniconda3/bin/conda
++ export _CE_M=
++ _CE_M=
++ export _CE_CONDA=
++ _CE_CONDA=
++ export CONDA_PYTHON_EXE=/opt/miniconda3/bin/python
++ CONDA_PYTHON_EXE=/opt/miniconda3/bin/python
+ __conda_hashr
+ '[' -n '' ']'
+ '[' -n '' ']'
+ hash -r
+ cd /testbed
+ git config --global --add safe.directory /testbed
+ cd /testbed
+ git status
On branch dev
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: src/marshmallow/schema.py
no changes added to commit (use "git add" and/or "git commit -a")
+ git show
commit d4f98233971ee3e73bba47026cd77b4ba69a25bb
Author: SWE-bench <setup@swebench.config>
Date: Tue May 6 23:07:21 2025 +0000
SWE-bench
+ git -c core.fileMode=false diff 2be2d83a1a9a6d3d9b85804f3ab545cecc409bb0
diff --git a/src/marshmallow/schema.py b/src/marshmallow/schema.py
index 085c509b..9c5f4d2c 100644
--- a/src/marshmallow/schema.py
+++ b/src/marshmallow/schema.py
@@ -873,6 +873,9 @@ class BaseSchema(base.SchemaABC):
continue
raise ValueError('"{0}" field does not exist.'.format(field_name))
+ if data is None:
+ continue
+
if many:
for idx, item in enumerate(data):
try:
+ source /opt/miniconda3/bin/activate
++ _CONDA_ROOT=/opt/miniconda3
++ . /opt/miniconda3/etc/profile.d/conda.sh
+++ export CONDA_EXE=/opt/miniconda3/bin/conda
+++ CONDA_EXE=/opt/miniconda3/bin/conda
+++ export _CE_M=
+++ _CE_M=
+++ export _CE_CONDA=
+++ _CE_CONDA=
+++ export CONDA_PYTHON_EXE=/opt/miniconda3/bin/python
+++ CONDA_PYTHON_EXE=/opt/miniconda3/bin/python
+++ '[' -z x ']'
++ conda activate
++ local cmd=activate
++ case "$cmd" in
++ __conda_activate activate
++ '[' -n '' ']'
++ local ask_conda
+++ PS1='(testbed) '
+++ __conda_exe shell.posix activate
+++ /opt/miniconda3/bin/conda shell.posix activate
++ ask_conda='PS1='\''(base) '\''
export PATH='\''/opt/miniconda3/bin:/opt/miniconda3/condabin:/opt/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'\''
export CONDA_PREFIX='\''/opt/miniconda3'\''
export CONDA_SHLVL='\''4'\''
export CONDA_DEFAULT_ENV='\''base'\''
export CONDA_PROMPT_MODIFIER='\''(base) '\''
export CONDA_PREFIX_3='\''/opt/miniconda3/envs/testbed'\''
export CONDA_EXE='\''/opt/miniconda3/bin/conda'\''
export _CE_M='\'''\''
export _CE_CONDA='\'''\''
export CONDA_PYTHON_EXE='\''/opt/miniconda3/bin/python'\'''
++ eval 'PS1='\''(base) '\''
export PATH='\''/opt/miniconda3/bin:/opt/miniconda3/condabin:/opt/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'\''
export CONDA_PREFIX='\''/opt/miniconda3'\''
export CONDA_SHLVL='\''4'\''
export CONDA_DEFAULT_ENV='\''base'\''
export CONDA_PROMPT_MODIFIER='\''(base) '\''
export CONDA_PREFIX_3='\''/opt/miniconda3/envs/testbed'\''
export CONDA_EXE='\''/opt/miniconda3/bin/conda'\''
export _CE_M='\'''\''
export _CE_CONDA='\'''\''
export CONDA_PYTHON_EXE='\''/opt/miniconda3/bin/python'\'''
+++ PS1='(base) '
+++ export PATH=/opt/miniconda3/bin:/opt/miniconda3/condabin:/opt/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+++ PATH=/opt/miniconda3/bin:/opt/miniconda3/condabin:/opt/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+++ export CONDA_PREFIX=/opt/miniconda3
+++ CONDA_PREFIX=/opt/miniconda3
+++ export CONDA_SHLVL=4
+++ CONDA_SHLVL=4
+++ export CONDA_DEFAULT_ENV=base
+++ CONDA_DEFAULT_ENV=base
+++ export 'CONDA_PROMPT_MODIFIER=(base) '
+++ CONDA_PROMPT_MODIFIER='(base) '
+++ export CONDA_PREFIX_3=/opt/miniconda3/envs/testbed
+++ CONDA_PREFIX_3=/opt/miniconda3/envs/testbed
+++ export CONDA_EXE=/opt/miniconda3/bin/conda
+++ CONDA_EXE=/opt/miniconda3/bin/conda
+++ export _CE_M=
+++ _CE_M=
+++ export _CE_CONDA=
+++ _CE_CONDA=
+++ export CONDA_PYTHON_EXE=/opt/miniconda3/bin/python
+++ CONDA_PYTHON_EXE=/opt/miniconda3/bin/python
++ __conda_hashr
++ '[' -n '' ']'
++ '[' -n '' ']'
++ hash -r
+ conda activate testbed
+ local cmd=activate
+ case "$cmd" in
+ __conda_activate activate testbed
+ '[' -n '' ']'
+ local ask_conda
++ PS1='(base) '
++ __conda_exe shell.posix activate testbed
++ /opt/miniconda3/bin/conda shell.posix activate testbed
+ ask_conda='PS1='\''(testbed) '\''
export PATH='\''/opt/miniconda3/envs/testbed/bin:/opt/miniconda3/condabin:/opt/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'\''
export CONDA_PREFIX='\''/opt/miniconda3/envs/testbed'\''
export CONDA_SHLVL='\''5'\''
export CONDA_DEFAULT_ENV='\''testbed'\''
export CONDA_PROMPT_MODIFIER='\''(testbed) '\''
export CONDA_PREFIX_4='\''/opt/miniconda3'\''
export CONDA_EXE='\''/opt/miniconda3/bin/conda'\''
export _CE_M='\'''\''
export _CE_CONDA='\'''\''
export CONDA_PYTHON_EXE='\''/opt/miniconda3/bin/python'\'''
+ eval 'PS1='\''(testbed) '\''
export PATH='\''/opt/miniconda3/envs/testbed/bin:/opt/miniconda3/condabin:/opt/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'\''
export CONDA_PREFIX='\''/opt/miniconda3/envs/testbed'\''
export CONDA_SHLVL='\''5'\''
export CONDA_DEFAULT_ENV='\''testbed'\''
export CONDA_PROMPT_MODIFIER='\''(testbed) '\''
export CONDA_PREFIX_4='\''/opt/miniconda3'\''
export CONDA_EXE='\''/opt/miniconda3/bin/conda'\''
export _CE_M='\'''\''
export _CE_CONDA='\'''\''
export CONDA_PYTHON_EXE='\''/opt/miniconda3/bin/python'\'''
++ PS1='(testbed) '
++ export PATH=/opt/miniconda3/envs/testbed/bin:/opt/miniconda3/condabin:/opt/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
++ PATH=/opt/miniconda3/envs/testbed/bin:/opt/miniconda3/condabin:/opt/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
++ export CONDA_PREFIX=/opt/miniconda3/envs/testbed
++ CONDA_PREFIX=/opt/miniconda3/envs/testbed
++ export CONDA_SHLVL=5
++ CONDA_SHLVL=5
++ export CONDA_DEFAULT_ENV=testbed
++ CONDA_DEFAULT_ENV=testbed
++ export 'CONDA_PROMPT_MODIFIER=(testbed) '
++ CONDA_PROMPT_MODIFIER='(testbed) '
++ export CONDA_PREFIX_4=/opt/miniconda3
++ CONDA_PREFIX_4=/opt/miniconda3
++ export CONDA_EXE=/opt/miniconda3/bin/conda
++ CONDA_EXE=/opt/miniconda3/bin/conda
++ export _CE_M=
++ _CE_M=
++ export _CE_CONDA=
++ _CE_CONDA=
++ export CONDA_PYTHON_EXE=/opt/miniconda3/bin/python
++ CONDA_PYTHON_EXE=/opt/miniconda3/bin/python
+ __conda_hashr
+ '[' -n '' ']'
+ '[' -n '' ']'
+ hash -r
+ python -m pip install -e '.[dev]'
Obtaining file:///testbed
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Requirement already satisfied: python-dateutil in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from marshmallow==2.20.0) (2.9.0.post0)
Requirement already satisfied: simplejson in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from marshmallow==2.20.0) (3.20.1)
Requirement already satisfied: pytest in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from marshmallow==2.20.0) (8.3.5)
Requirement already satisfied: pytz in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from marshmallow==2.20.0) (2025.2)
Requirement already satisfied: flake8==3.7.4 in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from marshmallow==2.20.0) (3.7.4)
Requirement already satisfied: tox in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from marshmallow==2.20.0) (4.25.0)
Requirement already satisfied: entrypoints<0.4.0,>=0.3.0 in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from flake8==3.7.4->marshmallow==2.20.0) (0.3)
Requirement already satisfied: pyflakes<2.2.0,>=2.1.0 in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from flake8==3.7.4->marshmallow==2.20.0) (2.1.1)
Requirement already satisfied: pycodestyle<2.6.0,>=2.5.0 in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from flake8==3.7.4->marshmallow==2.20.0) (2.5.0)
Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from flake8==3.7.4->marshmallow==2.20.0) (0.6.1)
Requirement already satisfied: exceptiongroup>=1.0.0rc8 in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from pytest->marshmallow==2.20.0) (1.2.2)
Requirement already satisfied: iniconfig in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from pytest->marshmallow==2.20.0) (2.1.0)
Requirement already satisfied: packaging in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from pytest->marshmallow==2.20.0) (25.0)
Requirement already satisfied: pluggy<2,>=1.5 in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from pytest->marshmallow==2.20.0) (1.5.0)
Requirement already satisfied: tomli>=1 in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from pytest->marshmallow==2.20.0) (2.2.1)
Requirement already satisfied: six>=1.5 in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from python-dateutil->marshmallow==2.20.0) (1.17.0)
Requirement already satisfied: cachetools>=5.5.1 in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from tox->marshmallow==2.20.0) (5.5.2)
Requirement already satisfied: chardet>=5.2 in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from tox->marshmallow==2.20.0) (5.2.0)
Requirement already satisfied: colorama>=0.4.6 in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from tox->marshmallow==2.20.0) (0.4.6)
Requirement already satisfied: filelock>=3.16.1 in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from tox->marshmallow==2.20.0) (3.18.0)
Requirement already satisfied: platformdirs>=4.3.6 in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from tox->marshmallow==2.20.0) (4.3.7)
Requirement already satisfied: pyproject-api>=1.8 in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from tox->marshmallow==2.20.0) (1.9.0)
Requirement already satisfied: typing-extensions>=4.12.2 in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from tox->marshmallow==2.20.0) (4.15.0)
Requirement already satisfied: virtualenv>=20.29.1 in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from tox->marshmallow==2.20.0) (20.31.1)
Requirement already satisfied: distlib<1,>=0.3.7 in /opt/miniconda3/envs/testbed/lib/python3.9/site-packages (from virtualenv>=20.29.1->tox->marshmallow==2.20.0) (0.3.9)
Installing collected packages: marshmallow
Attempting uninstall: marshmallow
Found existing installation: marshmallow 2.20.0
Uninstalling marshmallow-2.20.0:
Successfully uninstalled marshmallow-2.20.0
DEPRECATION: Legacy editable install of marshmallow[dev]==2.20.0 from file:///testbed (setup.py develop) is deprecated. pip 25.3 will enforce this behaviour change. A possible replacement is to add a pyproject.toml or enable --use-pep517, and use setuptools >= 64. If the resulting installation is not behaving as expected, try using --config-settings editable_mode=compat. Please consult the setuptools documentation for more information. Discussion can be found at https://github.com/pypa/pip/issues/11457
Running setup.py develop for marshmallow
Successfully installed marshmallow
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
+ git checkout 2be2d83a1a9a6d3d9b85804f3ab545cecc409bb0 tests/test_marshalling.py
Updated 0 paths from a3815758
+ git apply -v -
Checking patch tests/test_marshalling.py...
Applied patch tests/test_marshalling.py cleanly.
+ : '>>>>> Start Test Output'
+ pytest -rA tests/test_marshalling.py
============================= test session starts ==============================
platform linux -- Python 3.9.21, pytest-8.3.5, pluggy-1.5.0 -- /opt/miniconda3/envs/testbed/bin/python
cachedir: .pytest_cache
rootdir: /testbed
configfile: setup.cfg
plugins: anyio-4.12.1
collecting ... collected 25 items
tests/test_marshalling.py::test_missing_is_falsy PASSED [ 4%]
tests/test_marshalling.py::TestMarshaller::test_prefix PASSED [ 8%]
tests/test_marshalling.py::TestMarshaller::test_marshalling_generator PASSED [ 12%]
tests/test_marshalling.py::TestMarshaller::test_default_to_missing PASSED [ 16%]
tests/test_marshalling.py::TestMarshaller::test_serialize_fields_with_load_only_param PASSED [ 20%]
tests/test_marshalling.py::TestMarshaller::test_missing_data_are_skipped PASSED [ 24%]
tests/test_marshalling.py::TestMarshaller::test_serialize_with_load_only_doesnt_validate PASSED [ 28%]
tests/test_marshalling.py::TestMarshaller::test_serialize_fields_with_dump_to_param PASSED [ 32%]
tests/test_marshalling.py::TestMarshaller::test_serialize_fields_with_dump_to_and_prefix_params PASSED [ 36%]
tests/test_marshalling.py::TestMarshaller::test_stores_indices_of_errors_when_many_equals_true PASSED [ 40%]
tests/test_marshalling.py::TestMarshaller::test_doesnt_store_errors_when_index_errors_equals_false PASSED [ 44%]
tests/test_marshalling.py::TestUnmarshaller::test_extra_data_is_ignored PASSED [ 48%]
tests/test_marshalling.py::TestUnmarshaller::test_stores_errors PASSED [ 52%]
tests/test_marshalling.py::TestUnmarshaller::test_stores_indices_of_errors_when_many_equals_true PASSED [ 56%]
tests/test_marshalling.py::TestUnmarshaller::test_doesnt_store_errors_when_index_errors_equals_false PASSED [ 60%]
tests/test_marshalling.py::TestUnmarshaller::test_deserialize PASSED [ 64%]
tests/test_marshalling.py::TestUnmarshaller::test_extra_fields PASSED [ 68%]
tests/test_marshalling.py::TestUnmarshaller::test_deserialize_many PASSED [ 72%]
tests/test_marshalling.py::TestUnmarshaller::test_deserialize_stores_errors PASSED [ 76%]
tests/test_marshalling.py::TestUnmarshaller::test_deserialize_fields_with_attribute_param PASSED [ 80%]
tests/test_marshalling.py::TestUnmarshaller::test_deserialize_fields_with_load_from_param PASSED [ 84%]
tests/test_marshalling.py::TestUnmarshaller::test_deserialize_fields_with_dump_only_param PASSED [ 88%]
tests/test_marshalling.py::TestUnmarshaller::test_deserialize_wrong_type_root_data PASSED [ 92%]
tests/test_marshalling.py::TestUnmarshaller::test_deserialize_wrong_type_nested_data PASSED [ 96%]
tests/test_marshalling.py::TestUnmarshaller::test_deserialize_wrong_nested_type_with_validates_method PASSED [100%]
=============================== warnings summary ===============================
src/marshmallow/__init__.py:19
/testbed/src/marshmallow/__init__.py:19: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
__version_info__ = tuple(LooseVersion(__version__).version)
tests/test_marshalling.py::TestUnmarshaller::test_extra_data_is_ignored
/testbed/src/marshmallow/marshalling.py:253: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
if not isinstance(data, collections.Mapping):
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
==================================== PASSES ====================================
=========================== short test summary info ============================
PASSED tests/test_marshalling.py::test_missing_is_falsy
PASSED tests/test_marshalling.py::TestMarshaller::test_prefix
PASSED tests/test_marshalling.py::TestMarshaller::test_marshalling_generator
PASSED tests/test_marshalling.py::TestMarshaller::test_default_to_missing
PASSED tests/test_marshalling.py::TestMarshaller::test_serialize_fields_with_load_only_param
PASSED tests/test_marshalling.py::TestMarshaller::test_missing_data_are_skipped
PASSED tests/test_marshalling.py::TestMarshaller::test_serialize_with_load_only_doesnt_validate
PASSED tests/test_marshalling.py::TestMarshaller::test_serialize_fields_with_dump_to_param
PASSED tests/test_marshalling.py::TestMarshaller::test_serialize_fields_with_dump_to_and_prefix_params
PASSED tests/test_marshalling.py::TestMarshaller::test_stores_indices_of_errors_when_many_equals_true
PASSED tests/test_marshalling.py::TestMarshaller::test_doesnt_store_errors_when_index_errors_equals_false
PASSED tests/test_marshalling.py::TestUnmarshaller::test_extra_data_is_ignored
PASSED tests/test_marshalling.py::TestUnmarshaller::test_stores_errors
PASSED tests/test_marshalling.py::TestUnmarshaller::test_stores_indices_of_errors_when_many_equals_true
PASSED tests/test_marshalling.py::TestUnmarshaller::test_doesnt_store_errors_when_index_errors_equals_false
PASSED tests/test_marshalling.py::TestUnmarshaller::test_deserialize
PASSED tests/test_marshalling.py::TestUnmarshaller::test_extra_fields
PASSED tests/test_marshalling.py::TestUnmarshaller::test_deserialize_many
PASSED tests/test_marshalling.py::TestUnmarshaller::test_deserialize_stores_errors
PASSED tests/test_marshalling.py::TestUnmarshaller::test_deserialize_fields_with_attribute_param
PASSED tests/test_marshalling.py::TestUnmarshaller::test_deserialize_fields_with_load_from_param
PASSED tests/test_marshalling.py::TestUnmarshaller::test_deserialize_fields_with_dump_only_param
PASSED tests/test_marshalling.py::TestUnmarshaller::test_deserialize_wrong_type_root_data
PASSED tests/test_marshalling.py::TestUnmarshaller::test_deserialize_wrong_type_nested_data
PASSED tests/test_marshalling.py::TestUnmarshaller::test_deserialize_wrong_nested_type_with_validates_method
======================== 25 passed, 2 warnings in 0.04s ========================
+ : '>>>>> End Test Output'
+ git checkout 2be2d83a1a9a6d3d9b85804f3ab545cecc409bb0 tests/test_marshalling.py
Updated 1 path from a3815758
Reference output
diff --git a/src/marshmallow/schema.py b/src/marshmallow/schema.py
--- a/src/marshmallow/schema.py
+++ b/src/marshmallow/schema.py
@@ -877,7 +877,7 @@ def _invoke_field_validators(self, unmarshal, data, many):
for idx, item in enumerate(data):
try:
value = item[field_obj.attribute or field_name]
- except KeyError:
+ except (KeyError, TypeError):
pass
else:
validated_value = unmarshal.call_and_store(
@@ -892,7 +892,7 @@ def _invoke_field_validators(self, unmarshal, data, many):
else:
try:
value = data[field_obj.attribute or field_name]
- except KeyError:
+ except (KeyError, TypeError):
pass
else:
validated_value = unmarshal.call_and_store(
Rerun config
Reuse this benchmark setup
Copy the config or relaunch the same run shape.
Benchmark
swe_bench / lite / dev
Concurrency
2
Agent image
agentarena-build:ddbd91da2a1945aeb42175d4b47b4155
Build source
https://github.com/jiviny/Benchmark-Testing@HEAD
Show exact run metadata
2 pinned instances, 2 sandboxes, 1 reported models.
Pinned instance ids
marshmallow-code__marshmallow-1359marshmallow-code__marshmallow-1343Sandbox ids
c7346a06-324e-474c-90b4-78ee2907d4927cf890f5-a4fc-4265-bf8a-89ec13ab44a7Run started
Mar 31, 2026, 2:52 AM UTC
Run completed
Mar 31, 2026, 2:52 AM UTC
Reported models
claude-sonnet-4-5-20250929Operational details
Build, live sandboxes, and recent events
Collapsed by default for finished runs.
Build Completed2 events
Operational details
Build, live sandboxes, and recent events
Collapsed by default for finished runs.
Agent build
Status: Completed
Source https://github.com/jiviny/Benchmark-Testing@HEAD | agentarena-build:ddbd91da2a1945aeb42175d4b47b4155
Started Mar 31, 2026, 2:52 AM UTC | Completed Mar 31, 2026, 2:52 AM UTC
Show build log
Cloning into '/tmp/agentarena-build-zq08ckim/repo'...
Sending build context to Docker daemon 102.4kB
Step 1/5 : FROM python:3.11-slim
---> e67db9b14d09
Step 2/5 : WORKDIR /app
---> Running in 4a01f2dc4360
---> Removed intermediate container 4a01f2dc4360
---> a04c43f9ee4b
Step 3/5 : COPY . /app
---> cd535d389652
Step 4/5 : RUN if [ -f requirements.txt ]; then python -m pip install --no-cache-dir -r requirements.txt; fi
---> Running in 372c6358f456
Collecting fastapi>=0.104 (from -r requirements.txt (line 1))
Downloading fastapi-0.135.2-py3-none-any.whl.metadata (28 kB)
Collecting httpx (from -r requirements.txt (line 2))
Downloading httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB)
Collecting pydantic>=2.0 (from -r requirements.txt (line 3))
Downloading pydantic-2.12.5-py3-none-any.whl.metadata (90 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 kB 49.1 MB/s eta 0:00:00
Collecting pydantic-settings (from -r requirements.txt (line 4))
Downloading pydantic_settings-2.13.1-py3-none-any.whl.metadata (3.4 kB)
Collecting eval_type_backport (from -r requirements.txt (line 5))
Downloading eval_type_backport-0.3.1-py3-none-any.whl.metadata (2.4 kB)
Collecting starlette>=0.46.0 (from fastapi>=0.104->-r requirements.txt (line 1))
Downloading starlette-1.0.0-py3-none-any.whl.metadata (6.3 kB)
Collecting typing-extensions>=4.8.0 (from fastapi>=0.104->-r requirements.txt (line 1))
Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)
Collecting typing-inspection>=0.4.2 (from fastapi>=0.104->-r requirements.txt (line 1))
Downloading typing_inspection-0.4.2-py3-none-any.whl.metadata (2.6 kB)
Collecting annotated-doc>=0.0.2 (from fastapi>=0.104->-r requirements.txt (line 1))
Downloading annotated_doc-0.0.4-py3-none-any.whl.metadata (6.6 kB)
Collecting anyio (from httpx->-r requirements.txt (line 2))
Downloading anyio-4.13.0-py3-none-any.whl.metadata (4.5 kB)
Collecting certifi (from httpx->-r requirements.txt (line 2))
Downloading certifi-2026.2.25-py3-none-any.whl.metadata (2.5 kB)
Collecting httpcore==1.* (from httpx->-r requirements.txt (line 2))
Downloading httpcore-1.0.9-py3-none-any.whl.metadata (21 kB)
Collecting idna (from httpx->-r requirements.txt (line 2))
Downloading idna-3.11-py3-none-any.whl.metadata (8.4 kB)
Collecting h11>=0.16 (from httpcore==1.*->httpx->-r requirements.txt (line 2))
Downloading h11-0.16.0-py3-none-any.whl.metadata (8.3 kB)
Collecting annotated-types>=0.6.0 (from pydantic>=2.0->-r requirements.txt (line 3))
Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)
Collecting pydantic-core==2.41.5 (from pydantic>=2.0->-r requirements.txt (line 3))
Downloading pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.3 kB)
Collecting python-dotenv>=0.21.0 (from pydantic-settings->-r requirements.txt (line 4))
Downloading python_dotenv-1.2.2-py3-none-any.whl.metadata (27 kB)
Downloading fastapi-0.135.2-py3-none-any.whl (117 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 117.4/117.4 kB 268.4 MB/s eta 0:00:00
Downloading httpx-0.28.1-py3-none-any.whl (73 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 73.5/73.5 kB 268.4 MB/s eta 0:00:00
Downloading httpcore-1.0.9-py3-none-any.whl (78 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.8/78.8 kB 306.3 MB/s eta 0:00:00
Downloading pydantic-2.12.5-py3-none-any.whl (463 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 463.6/463.6 kB 249.7 MB/s eta 0:00:00
Downloading pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 310.7 MB/s eta 0:00:00
Downloading pydantic_settings-2.13.1-py3-none-any.whl (58 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.9/58.9 kB 277.6 MB/s eta 0:00:00
Downloading eval_type_backport-0.3.1-py3-none-any.whl (6.1 kB)
Downloading annotated_doc-0.0.4-py3-none-any.whl (5.3 kB)
Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)
Downloading python_dotenv-1.2.2-py3-none-any.whl (22 kB)
Downloading starlette-1.0.0-py3-none-any.whl (72 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 72.7/72.7 kB 301.1 MB/s eta 0:00:00
Downloading anyio-4.13.0-py3-none-any.whl (114 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 114.4/114.4 kB 299.6 MB/s eta 0:00:00
Downloading idna-3.11-py3-none-any.whl (71 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 71.0/71.0 kB 285.3 MB/s eta 0:00:00
Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 44.6/44.6 kB 256.0 MB/s eta 0:00:00
Downloading typing_inspection-0.4.2-py3-none-any.whl (14 kB)
Downloading certifi-2026.2.25-py3-none-any.whl (153 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 153.7/153.7 kB 268.3 MB/s eta 0:00:00
Downloading h11-0.16.0-py3-none-any.whl (37 kB)
Installing collected packages: typing-extensions, python-dotenv, idna, h11, eval_type_backport, certifi, annotated-types, annotated-doc, typing-inspection, pydantic-core, httpcore, anyio, starlette, pydantic, httpx, pydantic-settings, fastapi
Successfully installed annotated-doc-0.0.4 annotated-types-0.7.0 anyio-4.13.0 certifi-2026.2.25 eval_type_backport-0.3.1 fastapi-0.135.2 h11-0.16.0 httpcore-1.0.9 httpx-0.28.1 idna-3.11 pydantic-2.12.5 pydantic-core-2.41.5 pydantic-settings-2.13.1 python-dotenv-1.2.2 starlette-1.0.0 typing-extensions-4.15.0 typing-inspection-0.4.2
[91mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
[0m[91m
[notice] A new release of pip is available: 24.0 -> 26.0.1
[notice] To update, run: pip install --upgrade pip
[0m ---> Removed intermediate container 372c6358f456
---> adbbe2a600a5
Step 5/5 : CMD ["python", "/app/agent.py"]
---> Running in 44134ec94f50
---> Removed intermediate container 44134ec94f50
---> db8de35d7554
Successfully built db8de35d7554
Successfully tagged agentarena-build:ddbd91da2a1945aeb42175d4b47b4155
DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
BuildKit is currently disabled; enable it by removing the DOCKER_BUILDKIT=0
environment-variable.Sandbox activity
Active sandboxes
Recent events
Latest run activity
marshmallow-code__marshmallow-1343
Resolved by official SWE-bench grading. Fail-to-pass: 100%. Pass-to-pass: 100%.
2:52 AM
marshmallow-code__marshmallow-1359
Patch failed to apply in the official SWE-bench workspace.
2:52 AM