[pypy-svn] r69623 - in pypy/branch/force-arch-darwin: lib-python lib-python/2.5.2 lib-python/2.5.2/test lib-python/modified-2.5.2/test pypy/module/_locale pypy/module/_locale/test

santagada at codespeak.net santagada at codespeak.net
Wed Nov 25 02:00:20 CET 2009


Author: santagada
Date: Wed Nov 25 02:00:19 2009
New Revision: 69623

Added:
   pypy/branch/force-arch-darwin/lib-python/modified-2.5.2/test/test_locale.py
      - copied, changed from r69562, pypy/branch/force-arch-darwin/lib-python/2.5.2/test/test_locale.py
Removed:
   pypy/branch/force-arch-darwin/lib-python/2.5.2/test/test_locale.py
Modified:
   pypy/branch/force-arch-darwin/lib-python/2.5.2/locale.py
   pypy/branch/force-arch-darwin/lib-python/conftest.py
   pypy/branch/force-arch-darwin/pypy/module/_locale/__init__.py
   pypy/branch/force-arch-darwin/pypy/module/_locale/interp_locale.py
   pypy/branch/force-arch-darwin/pypy/module/_locale/test/test_locale.py
Log:
Adding support for locale (probably another 10.4+ only patch). 

Modified: pypy/branch/force-arch-darwin/lib-python/2.5.2/locale.py
==============================================================================
--- pypy/branch/force-arch-darwin/lib-python/2.5.2/locale.py	(original)
+++ pypy/branch/force-arch-darwin/lib-python/2.5.2/locale.py	Wed Nov 25 02:00:19 2009
@@ -30,7 +30,7 @@
     from _locale import *
 
 except ImportError:
-
+    raise
     # Locale emulation
 
     CHAR_MAX = 127

Modified: pypy/branch/force-arch-darwin/lib-python/conftest.py
==============================================================================
--- pypy/branch/force-arch-darwin/lib-python/conftest.py	(original)
+++ pypy/branch/force-arch-darwin/lib-python/conftest.py	Wed Nov 25 02:00:19 2009
@@ -282,7 +282,7 @@
     RegrTest('test_largefile.py'),
     RegrTest('test_linuxaudiodev.py', skip="unsupported extension module"),
     RegrTest('test_list.py', core=True),
-    RegrTest('test_locale.py'),
+    RegrTest('test_locale.py', usemodules='_rawffi'),
     RegrTest('test_logging.py', usemodules='thread'),
     RegrTest('test_long.py', core=True),
     RegrTest('test_long_future.py', core=True),

Copied: pypy/branch/force-arch-darwin/lib-python/modified-2.5.2/test/test_locale.py (from r69562, pypy/branch/force-arch-darwin/lib-python/2.5.2/test/test_locale.py)
==============================================================================
--- pypy/branch/force-arch-darwin/lib-python/2.5.2/test/test_locale.py	(original)
+++ pypy/branch/force-arch-darwin/lib-python/modified-2.5.2/test/test_locale.py	Wed Nov 25 02:00:19 2009
@@ -2,8 +2,6 @@
 import locale
 import sys
 
-if sys.platform == 'darwin':
-    raise TestSkipped("Locale support on MacOSX is minimal and cannot be tested")
 oldlocale = locale.setlocale(locale.LC_NUMERIC)
 
 if sys.platform.startswith("win"):

Modified: pypy/branch/force-arch-darwin/pypy/module/_locale/__init__.py
==============================================================================
--- pypy/branch/force-arch-darwin/pypy/module/_locale/__init__.py	(original)
+++ pypy/branch/force-arch-darwin/pypy/module/_locale/__init__.py	Wed Nov 25 02:00:19 2009
@@ -12,7 +12,7 @@
             'strxfrm':                  'interp_locale.strxfrm',
             }
 
-    if sys.platform in ('win32', 'darwin'):
+    if sys.platform == 'win32':
         interpleveldefs.update({
             '_getdefaultlocale':        'interp_locale.getdefaultlocale',
             })

Modified: pypy/branch/force-arch-darwin/pypy/module/_locale/interp_locale.py
==============================================================================
--- pypy/branch/force-arch-darwin/pypy/module/_locale/interp_locale.py	(original)
+++ pypy/branch/force-arch-darwin/pypy/module/_locale/interp_locale.py	Wed Nov 25 02:00:19 2009
@@ -21,8 +21,15 @@
         includes += ['libintl.h']
     if sys.platform == 'win32':
         includes += ['windows.h']
+
+    if sys.platform == 'darwin':
+        libraries = ['intl']
+    else:
+        libraries = []
+
     _compilation_info_ = ExternalCompilationInfo(
         includes=includes,
+        libraries=libraries
     )
     HAVE_BIND_TEXTDOMAIN_CODESET = platform.Has('bind_textdomain_codeset')
     lconv = platform.Struct("struct lconv", [
@@ -99,8 +106,11 @@
     # should we support them?
     langinfo_names.extend('RADIXCHAR THOUSEP CRNCYSTR D_T_FMT D_FMT T_FMT '
                         'AM_STR PM_STR CODESET T_FMT_AMPM ERA ERA_D_FMT '
-                        'ERA_D_T_FMT ERA_T_FMT ALT_DIGITS YESEXPR NOEXPR '
-                        '_DATE_FMT'.split())
+                        'ERA_D_T_FMT ERA_T_FMT ALT_DIGITS YESEXPR '
+                        'NOEXPR'.split())
+    _DATE_FMT = platform.SimpleType('_DATE_FMT', ifdef='_DATE_FMT')
+    if _DATE_FMT:
+        langinfo_names.append('_DATE_FMT')
     for i in range(1, 8):
         langinfo_names.append("DAY_%d" % i)
         langinfo_names.append("ABDAY_%d" % i)
@@ -455,5 +465,3 @@
         finally:
             lltype.free(buf_lang, flavor='raw')
             lltype.free(buf_country, flavor='raw')
-elif sys.platform == 'darwin':
-    raise NotImplementedError()

Modified: pypy/branch/force-arch-darwin/pypy/module/_locale/test/test_locale.py
==============================================================================
--- pypy/branch/force-arch-darwin/pypy/module/_locale/test/test_locale.py	(original)
+++ pypy/branch/force-arch-darwin/pypy/module/_locale/test/test_locale.py	Wed Nov 25 02:00:19 2009
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 import py
 from pypy.conftest import gettestobjspace
-
+# from pypy.rpython.tool import rffi_platform as platform
 import sys
 
 class AppTestLocaleTrivia:
@@ -65,11 +65,16 @@
 
 
         # HAVE_LANGINFO
+
         if sys.platform != 'win32':
             _LANGINFO_NAMES = ('RADIXCHAR THOUSEP CRNCYSTR D_T_FMT D_FMT '
                         'T_FMT AM_STR PM_STR CODESET T_FMT_AMPM ERA ERA_D_FMT '
-                        'ERA_D_T_FMT ERA_T_FMT ALT_DIGITS YESEXPR NOEXPR '
-                        '_DATE_FMT').split()
+                        'ERA_D_T_FMT ERA_T_FMT ALT_DIGITS YESEXPR '
+                        'NOEXPR').split()
+            # XXX don't know how to conditionally test this.
+            #_DATE_FMT = platform.SimpleType('_DATE_FMT', ifdef='_DATE_FMT')
+            #if _DATE_FMT:
+            #langinfo_names.append('_DATE_FMT')
             for i in range(1, 8):
                 _LANGINFO_NAMES.append("DAY_%d" % i)
                 _LANGINFO_NAMES.append("ABDAY_%d" % i)



More information about the Pypy-commit mailing list