main(): Application of SF patch #405851, which allows this test to be
authorBarry Warsaw <barry@python.org>
Fri, 23 Mar 2001 20:24:07 +0000 (20:24 +0000)
committerBarry Warsaw <barry@python.org>
Fri, 23 Mar 2001 20:24:07 +0000 (20:24 +0000)
used by Jython.  The tests in this module expect C locale, so be
explicit about setting that (for CPython).  However, in Jython, there
is no C locale, so instead be explicit about setting the US locale.
Closes the patch.

Lib/test/test_strftime.py

index fd024b986a529f47d9f30c1d79cb1e23e78b71dd..47f35f52064ceda45c707cf5f3debbe061df2a3f 100755 (executable)
@@ -7,6 +7,18 @@ from test_support import verbose
 
 def main():
     global verbose
+    # For C Python, these tests expect C locale, so we try to set that
+    # explicitly.  For Jython, Finn says we need to be in the US locale; my
+    # understanding is that this is the closest Java gets to C's "C" locale.
+    # Jython ought to supply an _locale module which Does The Right Thing, but
+    # this is the best we can do given today's state of affairs.
+    try:
+        import java
+        java.util.Locale.setDefault(java.util.Locale.US)
+    except ImportError:
+        # Can't do this first because it will succeed, even in Jython
+        import locale
+        locale.setlocale(locale.LC_TIME, 'C')
     now = time.time()
     strftest(now)
     verbose = 0