def test_wrap_interp2app(): see, check = make_checker() space = FakeObjSpace() assert len(space._seen_extras) == 0 assert len(check) == 0 space.wrap(interp2app(lambda space: see())) assert len(space._seen_extras) == 1 assert len(check) == 0 space.translates() assert len(check) == 1
def test_wrap_interp2app(): see, check = make_checker() space = FakeObjSpace() assert len(space._seen_extras) == 1 assert len(check) == 0 space.wrap(interp2app(lambda space: see())) assert len(space._seen_extras) == 2 assert len(check) == 0 space.translates() assert len(check) == 1
def test_wrap_GetSetProperty(): see, check = make_checker() def foobar(w_obj, space): is_root(w_obj) see() return space.w_None space = FakeObjSpace() space.wrap(GetSetProperty(foobar)) space.translates() assert check
def test_wrap_interp2app_int(): see, check = make_checker() def foobar(space, x, w_y, z): is_root(w_y) see() return space.wrap(x - z) space = FakeObjSpace() space.wrap(interp2app(foobar, unwrap_spec=[ObjSpace, int, W_Root, int])) space.translates() assert check
def test_wrap_GetSetProperty(): see, check = make_checker() def foobar(w_obj, space): is_root(w_obj) see() return space.w_None space = FakeObjSpace() space.wrap(GetSetProperty(foobar)) space.translates() assert check
def test_wrap_interp2app_int(): see, check = make_checker() def foobar(space, x, w_y, z): is_root(w_y) see() return space.newint(x - z) space = FakeObjSpace() space.wrap(interp2app(foobar, unwrap_spec=[ObjSpace, int, W_Root, int])) space.translates() assert check
def test_wrap_interp2app_later(): see, check = make_checker() # @specialize.memo() def hithere(space): space.wrap(interp2app(foobar2)) # def foobar(space): hithere(space) def foobar2(space): see() space = FakeObjSpace() space.wrap(interp2app(foobar)) space.translates() assert check
def test_wrap_interp2app_later(): see, check = make_checker() # @specialize.memo() def hithere(space): space.wrap(interp2app(foobar2)) # def foobar(space): hithere(space) def foobar2(space): see() space = FakeObjSpace() space.wrap(interp2app(foobar)) space.translates() assert check
def checkmodule(modname, backend, interactive=False, basepath='pypy.module'): "Compile a fake PyPy module." from pypy.objspace.fake.objspace import FakeObjSpace, W_Object from pypy.translator.driver import TranslationDriver space = FakeObjSpace() space.config.translating = True ModuleClass = __import__(basepath + '.%s' % modname, None, None, ['Module']).Module module = ModuleClass(space, space.wrap(modname)) w_moduledict = module.getdict(space) gateways = find_gateways(modname, basepath, module) functions = [gw.__spacebind__(space) for gw in gateways] arguments = Arguments.frompacked(space, W_Object(), W_Object()) dummy_function = copy(functions[0]) def main(argv): # use the standalone mode not to allow SomeObject dummy_rpython(dummy_function) for func in functions: func.call_args(arguments) return 0 patch_pypy() driver = TranslationDriver() driver.setup(main, None) try: driver.proceed(['compile_' + backend]) except SystemExit: raise except: if not interactive: raise debug(driver) raise SystemExit(1)
def checkmodule(modname, backend, interactive=False, basepath='pypy.module'): "Compile a fake PyPy module." from pypy.objspace.fake.objspace import FakeObjSpace, W_Object from pypy.translator.driver import TranslationDriver space = FakeObjSpace() space.config.translating = True ModuleClass = __import__(basepath + '.%s' % modname, None, None, ['Module']).Module module = ModuleClass(space, space.wrap(modname)) w_moduledict = module.getdict() gateways = find_gateways(modname, basepath, module) functions = [gw.__spacebind__(space) for gw in gateways] arguments = AbstractArguments.frompacked(space, W_Object(), W_Object()) dummy_function = copy(functions[0]) def main(argv): # use the standalone mode not to allow SomeObject dummy_rpython(dummy_function) for func in functions: func.call_args(arguments) return 0 patch_pypy() driver = TranslationDriver() driver.setup(main, None) try: driver.proceed(['compile_' + backend]) except SystemExit: raise except: if not interactive: raise debug(driver) raise SystemExit(1)
def test_gettype_mro_untranslated(): space = FakeObjSpace() w_type = space.type(space.wrap(1)) assert len(w_type.mro_w) == 2
def test_gettype_mro_untranslated(): space = FakeObjSpace() w_type = space.type(space.wrap(1)) assert len(w_type.mro_w) == 2