[pypy-svn] r71845 - in pypy/branch/ctypes-configure-cache/ctypes_configure: . test

fijal at codespeak.net fijal at codespeak.net
Sat Mar 6 05:14:21 CET 2010


Author: fijal
Date: Sat Mar  6 05:14:19 2010
New Revision: 71845

Modified:
   pypy/branch/ctypes-configure-cache/ctypes_configure/configure.py
   pypy/branch/ctypes-configure-cache/ctypes_configure/test/test_configure.py
Log:
A test and a fix


Modified: pypy/branch/ctypes-configure-cache/ctypes_configure/configure.py
==============================================================================
--- pypy/branch/ctypes-configure-cache/ctypes_configure/configure.py	(original)
+++ pypy/branch/ctypes-configure-cache/ctypes_configure/configure.py	Sat Mar  6 05:14:19 2010
@@ -209,8 +209,10 @@
         f.write('import ctypes\n\n')
         for key, val in res.items():
             entry = getattr(CConfig, key)
-            if isinstance(val, int):
+            if isinstance(val, (int, long)):
                 f.write("%s = %d\n" % (key, val))
+            elif val is None:
+                f.write("%s = None\n" % key)
             elif isinstance(val, ctypes._SimpleCData.__class__):
                 # a simple type
                 f.write("%s = %s\n" % (key, ctypes_repr(val)))

Modified: pypy/branch/ctypes-configure-cache/ctypes_configure/test/test_configure.py
==============================================================================
--- pypy/branch/ctypes-configure-cache/ctypes_configure/test/test_configure.py	(original)
+++ pypy/branch/ctypes-configure-cache/ctypes_configure/test/test_configure.py	Sat Mar  6 05:14:19 2010
@@ -129,7 +129,8 @@
 def test_cache():
     configdir = configure.configdir
     test_h = configdir.join('test_ctypes_platform2.h')
-    test_h.write('#define XYZZY 42\n')
+    test_h.write('#define XYZZY 42\n'
+                 "#define large 2147483648L\n")
 
     class CConfig:
         _compilation_info_ = ExternalCompilationInfo(
@@ -142,6 +143,9 @@
         FILE = configure.Struct('FILE', [])
         ushort = configure.SimpleType('unsigned short')
         XYZZY = configure.ConstantInteger('XYZZY')
+        XUZ = configure.Has('XUZ')
+        large = configure.DefinedConstantInteger('large')
+        undef = configure.Defined('really_undefined')
 
     cachefile = configdir.join('cache')
     res = configure.configure(CConfig, savecache=configdir.join('cache'))
@@ -151,6 +155,9 @@
     assert d['ushort'] == res['ushort']
     assert d['FILE']._fields_ == res['FILE']._fields_
     assert d['FILE'].__mro__[1:] == res['FILE'].__mro__[1:]
+    assert d['undef'] == res['undef']
+    assert d['large'] == res['large']
+    assert d['XUZ'] == res['XUZ']
 
 def test_ifdef():
     class CConfig:



More information about the Pypy-commit mailing list