Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r64230:6680e432ccda Date: 2013-05-16 17:06 +0200 http://bitbucket.org/pypy/pypy/changeset/6680e432ccda/
Log: merge heads diff --git a/pypy/doc/whatsnew-head.rst b/pypy/doc/whatsnew-head.rst --- a/pypy/doc/whatsnew-head.rst +++ b/pypy/doc/whatsnew-head.rst @@ -16,3 +16,6 @@ .. branch: remove-set-smm Remove multi-methods on sets + +.. branch: numpy-subarrays +Implement subarrays for numpy diff --git a/pypy/module/_ffi/test/test_funcptr.py b/pypy/module/_ffi/test/test_funcptr.py --- a/pypy/module/_ffi/test/test_funcptr.py +++ b/pypy/module/_ffi/test/test_funcptr.py @@ -74,9 +74,9 @@ from _ffi import CDLL, types # this should return *all* loaded libs, dlopen(NULL) dll = CDLL(None) - # Assume CPython, or PyPy compiled with cpyext - res = dll.getfunc('Py_IsInitialized', [], types.slong)() - assert res == 1 + # libm should be loaded + res = dll.getfunc('sqrt', [types.double], types.double)(1.0) + assert res == 1.0 def test_callfunc(self): from _ffi import CDLL, types @@ -139,7 +139,7 @@ def test_pointer_args(self): """ - extern int dummy; // defined in test_void_result + extern int dummy; // defined in test_void_result DLLEXPORT int* get_dummy_ptr() { return &dummy; } DLLEXPORT void set_val_to_ptr(int* ptr, int val) { *ptr = val; } """ @@ -158,7 +158,7 @@ def test_convert_pointer_args(self): """ - extern int dummy; // defined in test_void_result + extern int dummy; // defined in test_void_result DLLEXPORT int* get_dummy_ptr(); // defined in test_pointer_args DLLEXPORT void set_val_to_ptr(int* ptr, int val); // ditto """ @@ -170,7 +170,7 @@ def _as_ffi_pointer_(self, ffitype): assert ffitype is types.void_p return self.value - + libfoo = CDLL(self.libfoo_name) get_dummy = libfoo.getfunc('get_dummy', [], types.sint) get_dummy_ptr = libfoo.getfunc('get_dummy_ptr', [], types.void_p) @@ -259,7 +259,7 @@ def test_typed_pointer_args(self): """ - extern int dummy; // defined in test_void_result + extern int dummy; // defined in test_void_result DLLEXPORT int* get_dummy_ptr(); // defined in test_pointer_args DLLEXPORT void set_val_to_ptr(int* ptr, int val); // ditto """ @@ -551,7 +551,7 @@ from _ffi import CDLL, types libfoo = CDLL(self.libfoo_name) raises(TypeError, "libfoo.getfunc('sum_xy', [types.void], types.sint)") - + def test_OSError_loading(self): from _ffi import CDLL, types raises(OSError, "CDLL('I do not exist')") @@ -606,7 +606,7 @@ from _rawffi import FUNCFLAG_STDCALL libm = CDLL(self.libm_name) pow_addr = libm.getaddressindll('pow') - wrong_pow = FuncPtr.fromaddr(pow_addr, 'pow', + wrong_pow = FuncPtr.fromaddr(pow_addr, 'pow', [types.double, types.double], types.double, FUNCFLAG_STDCALL) try: wrong_pow(2, 3) == 8 @@ -622,7 +622,7 @@ from _rawffi import FUNCFLAG_STDCALL kernel = WinDLL('Kernel32.dll') sleep_addr = kernel.getaddressindll('Sleep') - sleep = FuncPtr.fromaddr(sleep_addr, 'sleep', [types.uint], + sleep = FuncPtr.fromaddr(sleep_addr, 'sleep', [types.uint], types.void, FUNCFLAG_STDCALL) sleep(10) diff --git a/pypy/module/sys/initpath.py b/pypy/module/sys/initpath.py --- a/pypy/module/sys/initpath.py +++ b/pypy/module/sys/initpath.py @@ -68,7 +68,7 @@ If it cannot be found, return (None, None). """ if executable == '': - return None, None + executable = 'pypy-c' search = executable while True: dirname = resolvedirof(search) diff --git a/pypy/module/sys/test/test_initpath.py b/pypy/module/sys/test/test_initpath.py --- a/pypy/module/sys/test/test_initpath.py +++ b/pypy/module/sys/test/test_initpath.py @@ -16,9 +16,12 @@ build_hierarchy(tmpdir) path, prefix = find_stdlib(None, str(pypy)) assert prefix == tmpdir - # shouldn't find stdlib if executable == '' even if parent dir has a stdlib - monkeypatch.chdir(tmpdir.join('bin')) - assert find_stdlib(None, '') == (None, None) + # in executable is None look for stdlib based on the working directory + # see lib-python/2.7/test/test_sys.py:test_executable + _, prefix = find_stdlib(None, '') + cwd = os.path.dirname(os.path.realpath(__file__)) + assert prefix is not None + assert cwd.startswith(str(prefix)) @py.test.mark.skipif('not hasattr(os, "symlink")') def test_find_stdlib_follow_symlink(tmpdir): diff --git a/pypy/objspace/fake/checkmodule.py b/pypy/objspace/fake/checkmodule.py --- a/pypy/objspace/fake/checkmodule.py +++ b/pypy/objspace/fake/checkmodule.py @@ -5,7 +5,6 @@ def checkmodule(*modnames): config = get_pypy_config(translating=True) space = FakeObjSpace(config) - space.setup() seeobj_w = [] for modname in modnames: mod = __import__('pypy.module.%s' % modname, None, None, ['__doc__']) diff --git a/pypy/objspace/fake/objspace.py b/pypy/objspace/fake/objspace.py --- a/pypy/objspace/fake/objspace.py +++ b/pypy/objspace/fake/objspace.py @@ -110,6 +110,7 @@ def __init__(self, config=None): self._seen_extras = [] ObjSpace.__init__(self, config=config) + self.setup() def _freeze_(self): return True diff --git a/rpython/rlib/entrypoint.py b/rpython/rlib/entrypoint.py --- a/rpython/rlib/entrypoint.py +++ b/rpython/rlib/entrypoint.py @@ -57,7 +57,8 @@ # This thing is imported by any target which has any API, so it'll get # registered -RPython_StartupCode = rffi.llexternal('RPython_StartupCode', [], lltype.Void) +RPython_StartupCode = rffi.llexternal('RPython_StartupCode', [], lltype.Void, + _nowrapper=True) @entrypoint('main', [], c_name='rpython_startup_code') def rpython_startup_code(): _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit