Summary: | dev-python/aiohttp-3.6.2: fails TestCookieJarSafe.test_expires test on x86 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Sam James <sam> |
Component: | Current packages | Assignee: | Zac Medico <zmedico> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | CC: | mgorny, python |
Priority: | Normal | Keywords: | TESTFAILURE |
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
URL: | https://github.com/aio-libs/aiohttp/issues/4515 | ||
See Also: | https://github.com/aio-libs/aiohttp/pull/4873 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build.log |
Description
Sam James
2020-07-20 02:46:49 UTC
This has already been reported upstream for arm: https://github.com/aio-libs/aiohttp/issues/4515. Maybe we need to patch the test to use smaller ts_after value. What does datetime.datetime.max.timestamp() report on your arm system? This is what I have on amd64:
> $ python3.8
> Python 3.8.3 (default, Jul 6 2020, 20:21:42)
> [GCC 9.2.0] on linux
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import datetime
> >>> datetime.datetime.max.timestamp()
> 253402329600.0
> >>> datetime.datetime(2115, 1, 1).timestamp()
> 4575744000.0
I've just tested in an x86 chroot, and I can see that both dates trigger OverflowError:
> Python 3.6.9 (default, Dec 20 2019, 22:37:39)
> [GCC 9.2.0] on linux
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import datetime
> >>> datetime.datetime.max.timestamp()
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> OverflowError: timestamp out of range for platform time_t
> >>> datetime.datetime(2115, 1, 1).timestamp()
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> OverflowError: timestamp out of range for platform time_t
For 32-bit python, the maximum datetime unix timestamp is 2147483647:
> Python 3.8.2 (default, May 14 2020, 01:29:56)
> [GCC 9.3.0] on linux
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import datetime
> >>> datetime.datetime.fromtimestamp(2 ** 31 - 1)
> datetime.datetime(2038, 1, 19, 3, 14, 7)
> >>> datetime.datetime.fromtimestamp(2 ** 31 - 1).timestamp()
> 2147483647.0
I'm not opposed to disabling this test, since https://github.com/aio-libs/aiohttp/pull/4873 only serves to make the test pass. It's possible that the faulty OverflowError handling could break unit tests for dependent packages. Version no longer in ::gentoo, no activity for 2 years. |