| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Some of Debian's test runners noticed that the pydantic-extra-types
tests are failing on 32-bit architectures:
______________________ test_invalid_zero_duration_string _______________________
def test_invalid_zero_duration_string():
"""'P' is not a valid ISO 8601 duration and should raise a validation error."""
> with pytest.raises(ValidationError):
E Failed: DID NOT RAISE <class 'pydantic_core._pydantic_core.ValidationError'>
tests/test_pendulum_dt.py:447: Failed
Debian currently has pendulum 3.0.0, which disabled the Rust extensions
if `struct.calcsize("P") == 4`, and the Rust and Python parsers disagree
about how to handle an empty duration: the Rust parser reports an error,
while the Python parser returns `Duration()`. 3.1.0 removes that
particular limitation on using Rust extensions on 32-bit architectures,
but the parser discrepancy still seems to be present.
I don't have access to the full text of the standard, but Wikipedia's
summary says 'However, at least one element must be present, thus "P" is
not a valid representation for a duration of 0 seconds', so I think the
Rust parser is correct. Adjust the Python parser to match.
CodSpeed Performance ReportMerging #903 will not alter performanceComparing cjwatson:pure-python-empty-duration (ce1220a) with master (fc386be) Summary✅ 1 untouched benchmarks |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Some of Debian's test runners noticed that the pydantic-extra-types tests are failing on 32-bit architectures:
______________________ test_invalid_zero_duration_string _______________________ def test_invalid_zero_duration_string(): """'P' is not a valid ISO 8601 duration and should raise a validation error.""" > with pytest.raises(ValidationError): E Failed: DID NOT RAISE <class 'pydantic_core._pydantic_core.ValidationError'> tests/test_pendulum_dt.py:447: FailedDebian currently has pendulum 3.0.0, which disabled the Rust extensions if struct.calcsize("P") == 4, and the Rust and Python parsers disagree about how to handle an empty duration: the Rust parser reports an error, while the Python parser returns Duration(). 3.1.0 removes that particular limitation on using Rust extensions on 32-bit architectures, but the parser discrepancy still seems to be present.
I don't have access to the full text of the standard, but Wikipedia's summary says 'However, at least one element must be present, thus "P" is not a valid representation for a duration of 0 seconds', so I think the Rust parser is correct. Adjust the Python parser to match.
Pull Request Check List