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:
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]");