[pypy-commit] pypy py3.5: merge heads
arigo
pypy.commits at gmail.com
Wed Oct 12 15:27:38 EDT 2016
Author: Armin Rigo <arigo at tunes.org>
Branch: py3.5
Changeset: r87739:57696c7e37eb
Date: 2016-10-12 21:26 +0200
http://bitbucket.org/pypy/pypy/changeset/57696c7e37eb/
Log: merge heads
diff --git a/lib-python/3/pickle.py b/lib-python/3/pickle.py
--- a/lib-python/3/pickle.py
+++ b/lib-python/3/pickle.py
@@ -850,6 +850,7 @@
def _pickle_maybe_moduledict(self, obj):
# save module dictionary as "getattr(module, '__dict__')"
+ from types import ModuleType
try:
name = obj['__name__']
if type(name) is not str:
@@ -1008,7 +1009,6 @@
return self.save_reduce(type, (...,), obj=obj)
return self.save_global(obj)
- dispatch[FunctionType] = save_global
dispatch[type] = save_type
diff --git a/pypy/interpreter/generator.py b/pypy/interpreter/generator.py
--- a/pypy/interpreter/generator.py
+++ b/pypy/interpreter/generator.py
@@ -47,20 +47,16 @@
def descr__reduce__(self, space):
from pypy.interpreter.mixedmodule import MixedModule
- w_mod = space.getbuiltinmodule('_pickle_support')
- mod = space.interp_w(MixedModule, w_mod)
+ w_mod = space.getbuiltinmodule('_pickle_support')
+ mod = space.interp_w(MixedModule, w_mod)
new_inst = mod.get(self.KIND + '_new')
- w = space.wrap
+ w = space.wrap
if self.frame:
w_frame = self.frame._reduce_state(space)
else:
w_frame = space.w_None
- tup = [
- w_frame,
- w(self.running),
- ]
-
+ tup = [w_frame, w(self.running)]
return space.newtuple([new_inst, space.newtuple([]),
space.newtuple(tup)])
@@ -72,6 +68,8 @@
self.frame = None
self.space = space
self.pycode = None
+ self._name = None
+ self._qualname = None
else:
frame = instantiate(space.FrameClass) # XXX fish
frame.descr__setstate__(space, w_framestate)
diff --git a/pypy/interpreter/test/test_zzpickle_and_slow.py b/pypy/interpreter/test/test_zzpickle_and_slow.py
--- a/pypy/interpreter/test/test_zzpickle_and_slow.py
+++ b/pypy/interpreter/test/test_zzpickle_and_slow.py
@@ -244,9 +244,9 @@
mod.myclass = myclass
sys.modules['mod'] = mod
try:
- method = myclass.f
- pckl = pickle.dumps(method)
- result = pickle.loads(pckl)
+ method = myclass.f
+ pckl = pickle.dumps(method)
+ result = pickle.loads(pckl)
assert method() == result()
finally:
del sys.modules['mod']
@@ -351,6 +351,7 @@
assert list(result) == [2,3,4]
def test_pickle_generator(self):
+ self.skip_on_cpython()
import types
mod = types.ModuleType('mod')
import sys
@@ -374,6 +375,7 @@
del sys.modules['mod']
def test_pickle_generator_blk(self):
+ self.skip_on_cpython()
# same as above but with the generator inside a block
import types
mod = types.ModuleType('mod')
@@ -446,6 +448,7 @@
def test_pickle_generator_crash(self):
+ self.skip_on_cpython()
import pickle
def f():
diff --git a/pypy/module/__builtin__/functional.py b/pypy/module/__builtin__/functional.py
--- a/pypy/module/__builtin__/functional.py
+++ b/pypy/module/__builtin__/functional.py
@@ -370,7 +370,7 @@
else:
return space.newtuple([
space.type(self),
- space.newtuple([])])
+ space.newtuple([space.newtuple([])])])
def descr___setstate__(self, space, w_state):
self.remaining = space.int_w(w_state)
More information about the pypy-commit
mailing list