[pypy-svn] r55871 - in pypy/dist/pypy/rlib/rsdl: . test
arigo at codespeak.net
arigo at codespeak.net
Mon Jun 16 12:37:37 CEST 2008
Author: arigo
Date: Mon Jun 16 12:37:37 2008
New Revision: 55871
Added:
pypy/dist/pypy/rlib/rsdl/eci.py
pypy/dist/pypy/rlib/rsdl/test/conftest.py (contents, props changed)
Modified:
pypy/dist/pypy/rlib/rsdl/RSDL.py
Log:
Attempt to skip the rsdl tests if the sdl is not installed.
Modified: pypy/dist/pypy/rlib/rsdl/RSDL.py
==============================================================================
--- pypy/dist/pypy/rlib/rsdl/RSDL.py (original)
+++ pypy/dist/pypy/rlib/rsdl/RSDL.py Mon Jun 16 12:37:37 2008
@@ -1,36 +1,15 @@
from pypy.rpython.lltypesystem import lltype, rffi
from pypy.rpython.tool import rffi_platform as platform
-from pypy.translator.tool.cbuild import ExternalCompilationInfo
from pypy.rlib.rsdl.constants import _constants
+from pypy.rlib.rsdl.eci import get_rsdl_compilation_info
from pypy.rlib.objectmodel import we_are_translated
import py
import sys
-if sys.platform == 'darwin':
- eci = ExternalCompilationInfo(
- includes = ['SDL.h',
- #'Init.h',
- #'SDLMain.m'
- #'SDLMain.h'*/
- ],
- include_dirs = ['/Library/Frameworks/SDL.framework/Versions/A/Headers',
- #str(py.magic.autopath().dirpath().join('macosx-sdl-main'))
- ],
- link_extra = [
- str(py.magic.autopath().dirpath().join('macosx-sdl-main/SDLMain.m')),
- #'macosx-sdl-main/SDLMain.m',
- '-I', '/Library/Frameworks/SDL.framework/Versions/A/Headers',
- ],
- frameworks = ['SDL', 'Cocoa']
- )
-else:
- eci = ExternalCompilationInfo(
- includes=['SDL.h'],
- )
- eci = eci.merge(ExternalCompilationInfo.from_config_tool('sdl-config'))
-
# ------------------------------------------------------------------------------
+eci = get_rsdl_compilation_info()
+
def external(name, args, result):
return rffi.llexternal(name, args, result, compilation_info=eci)
Added: pypy/dist/pypy/rlib/rsdl/eci.py
==============================================================================
--- (empty file)
+++ pypy/dist/pypy/rlib/rsdl/eci.py Mon Jun 16 12:37:37 2008
@@ -0,0 +1,35 @@
+from pypy.translator.tool.cbuild import ExternalCompilationInfo
+from pypy.translator.tool.cbuild import CompilationError
+import py
+import sys
+
+def get_rsdl_compilation_info():
+ if sys.platform == 'darwin':
+ eci = ExternalCompilationInfo(
+ includes = ['SDL.h',
+ #'Init.h',
+ #'SDLMain.m'
+ #'SDLMain.h'*/
+ ],
+ include_dirs = ['/Library/Frameworks/SDL.framework/Versions/A/Headers',
+ #str(py.magic.autopath().dirpath().join('macosx-sdl-main'))
+ ],
+ link_extra = [
+ str(py.magic.autopath().dirpath().join('macosx-sdl-main/SDLMain.m')),
+ #'macosx-sdl-main/SDLMain.m',
+ '-I', '/Library/Frameworks/SDL.framework/Versions/A/Headers',
+ ],
+ frameworks = ['SDL', 'Cocoa']
+ )
+ else:
+ eci = ExternalCompilationInfo(
+ includes=['SDL.h'],
+ )
+ eci = eci.merge(ExternalCompilationInfo.from_config_tool('sdl-config'))
+ return eci
+
+def check_sdl_installation():
+ from pypy.rpython.tool import rffi_platform as platform
+ platform.verify_eci(get_rsdl_compilation_info())
+
+SDLNotInstalled = (ImportError, CompilationError)
Added: pypy/dist/pypy/rlib/rsdl/test/conftest.py
==============================================================================
--- (empty file)
+++ pypy/dist/pypy/rlib/rsdl/test/conftest.py Mon Jun 16 12:37:37 2008
@@ -0,0 +1,10 @@
+from pypy.rlib.rsdl.eci import check_sdl_installation, SDLNotInstalled
+import py
+
+class Directory(py.test.collect.Directory):
+ def run(self):
+ try:
+ check_sdl_installation()
+ except SDLNotInstalled, e:
+ py.test.skip("SDL not installed(?): %s" % (e,))
+ return py.test.collect.Directory.run(self)
More information about the Pypy-commit
mailing list