[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