mirror of https://github.com/python/cpython
gh-123017: Add Android to the list of platforms where `strftime` doesn't support negative years (#124467)
Add Android to the list of platforms where `strftime` doesn't support negative years
This commit is contained in:
parent
365dffbaad
commit
0a3577bdfc
|
@ -654,8 +654,7 @@ class _TestStrftimeYear:
|
|||
self.test_year('%04d', func=year4d)
|
||||
|
||||
def skip_if_not_supported(y):
|
||||
msg = "strftime() is limited to [1; 9999] with Visual Studio"
|
||||
# Check that it doesn't crash for year > 9999
|
||||
msg = f"strftime() does not support year {y} on this platform"
|
||||
try:
|
||||
time.strftime('%Y', (y,) + (0,) * 8)
|
||||
except ValueError:
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Due to unreliable results on some devices, :func:`time.strftime` no longer
|
||||
accepts negative years on Android.
|
|
@ -813,7 +813,12 @@ time_strftime(PyObject *module, PyObject *args)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
#if defined(_MSC_VER) || (defined(__sun) && defined(__SVR4)) || defined(_AIX) || defined(__VXWORKS__)
|
||||
// Some platforms only support a limited range of years.
|
||||
//
|
||||
// Android works with negative years on the emulator, but fails on some
|
||||
// physical devices (#123017).
|
||||
#if defined(_MSC_VER) || (defined(__sun) && defined(__SVR4)) || defined(_AIX) \
|
||||
|| defined(__VXWORKS__) || defined(__ANDROID__)
|
||||
if (buf.tm_year + 1900 < 1 || 9999 < buf.tm_year + 1900) {
|
||||
PyErr_SetString(PyExc_ValueError,
|
||||
"strftime() requires year in [1; 9999]");
|
||||
|
|
Loading…
Reference in New Issue