[pypy-svn] r55132 - pypy/branch/win32port/pypy/rpython/tool/test

afa at codespeak.net afa at codespeak.net
Thu May 22 17:33:59 CEST 2008


Author: afa
Date: Thu May 22 17:33:57 2008
New Revision: 55132

Modified:
   pypy/branch/win32port/pypy/rpython/tool/test/test_c.py
Log:
Correct test for win32 platform


Modified: pypy/branch/win32port/pypy/rpython/tool/test/test_c.py
==============================================================================
--- pypy/branch/win32port/pypy/rpython/tool/test/test_c.py	(original)
+++ pypy/branch/win32port/pypy/rpython/tool/test/test_c.py	Thu May 22 17:33:57 2008
@@ -22,10 +22,25 @@
         compiler = ccompiler.new_compiler()
         c_file = udir.join('rffilib.c')
         c_file.write(c_source)
-        compiler.compile([str(c_file)], output_dir='/')
-        compiler.link_shared_lib([str(udir.join('rffilib.o'))],
-                                  'rffi', output_dir=str(udir))
-        cls.lib = ctypes.CDLL(str(udir.join('librffi.so')))
+
+        if sys.platform == 'win32':
+            ccflags = []
+            o_file = 'rffilib.obj'
+            so_file = 'rffi.dll'
+        else:
+            ccflags = ['-fPIC']
+            o_file = 'rffilib.o' 
+            so_file = 'librffi.so'
+
+        rootdir = os.path.splitdrive(str(udir))[0] + '/'
+        compiler.compile([str(c_file)], output_dir=rootdir,
+                         extra_preargs=ccflags)
+
+        compiler.link_shared_lib([str(udir.join(o_file))],
+                                 'rffi', output_dir=str(udir),
+                                 export_symbols = ['int_int_to_struct_p',
+                                                   'int_to_void_p'])
+        cls.lib = ctypes.CDLL(str(udir.join(so_file)))
 
     def test_basic(self):
         assert self.lib



More information about the Pypy-commit mailing list