r64532 - in python/branches/tlee-ast-optimize: Lib/test/test_cpickle.py Mac/Makefile.in Modules/cPickle.c
Author: thomas.lee Date: Thu Jun 26 16:32:10 2008 New Revision: 64532 Log: Merged revisions 64525-64531 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r64526 | mark.dickinson | 2008-06-26 01:29:32 +1000 (Thu, 26 Jun 2008) | 2 lines issue #3199: Fix typo in Mac/Makefile.in ........ r64527 | facundo.batista | 2008-06-26 05:24:53 +1000 (Thu, 26 Jun 2008) | 9 lines Reverting the patch from #3165, as it broke other behaviours. I left the original test commented out (note that that test came from #2702, which seems to have a problem in FreeBSD and Windows, but not in Linux). I included a new test, to watch over the now-broken behaviour, I took it from #3179. ........ Modified: python/branches/tlee-ast-optimize/ (props changed) python/branches/tlee-ast-optimize/Lib/test/test_cpickle.py python/branches/tlee-ast-optimize/Mac/Makefile.in python/branches/tlee-ast-optimize/Modules/cPickle.c Modified: python/branches/tlee-ast-optimize/Lib/test/test_cpickle.py ============================================================================== --- python/branches/tlee-ast-optimize/Lib/test/test_cpickle.py (original) +++ python/branches/tlee-ast-optimize/Lib/test/test_cpickle.py Thu Jun 26 16:32:10 2008 @@ -94,16 +94,28 @@ pass class cPickleDeepRecursive(unittest.TestCase): - '''Issue 2702. This should raise a RecursionLimit but in some - platforms (FreeBSD, win32) sometimes raises KeyError instead, - or just silently terminates the interpreter (=crashes). - ''' - def test_deep_recursive(self): - nodes = [Node() for i in range(500)] - for n in nodes: - n.connections = list(nodes) - n.connections.remove(n) - self.assertRaises(RuntimeError, cPickle.dumps, n) +# I commented out, because the patch that fixes this was reverted, as +# it broke the next test case. Check the issues for full history. +# def test_issue2702(self): +# '''This should raise a RecursionLimit but in some +# platforms (FreeBSD, win32) sometimes raises KeyError instead, +# or just silently terminates the interpreter (=crashes). +# ''' +# nodes = [Node() for i in range(500)] +# for n in nodes: +# n.connections = list(nodes) +# n.connections.remove(n) +# self.assertRaises(RuntimeError, cPickle.dumps, n) + + def test_issue3179(self): + '''Safe test, because of I broken this case when fixing the + behaviour for the previous test. + ''' + res=[] + for x in range(1,2000): + res.append(dict(doc=x, similar=[])) + cPickle.dumps(res) + def test_main(): test_support.run_unittest( Modified: python/branches/tlee-ast-optimize/Mac/Makefile.in ============================================================================== --- python/branches/tlee-ast-optimize/Mac/Makefile.in (original) +++ python/branches/tlee-ast-optimize/Mac/Makefile.in Thu Jun 26 16:32:10 2008 @@ -113,7 +113,7 @@ $(INSTALL) -d -m $(DIRMODE) "$(DESTDIR)$(FRAMEWORKUNIXTOOLSPREFIX)/bin" ;\ fi for fn in python$(VERSION) pythonw$(VERSION) idle$(VERSION) \ - pydoc$(VERSION) python$(VERSION)-config) smtpd$(VERSION).py ;\ + pydoc$(VERSION) python$(VERSION)-config smtpd$(VERSION).py ;\ do \ ln -fs "$(prefix)/bin/$${fn}" "$(DESTDIR)$(FRAMEWORKUNIXTOOLSPREFIX)/bin/$${fn}" ;\ done Modified: python/branches/tlee-ast-optimize/Modules/cPickle.c ============================================================================== --- python/branches/tlee-ast-optimize/Modules/cPickle.c (original) +++ python/branches/tlee-ast-optimize/Modules/cPickle.c Thu Jun 26 16:32:10 2008 @@ -1523,8 +1523,6 @@ static char append = APPEND; static char appends = APPENDS; - self->nesting++; - assert(iter != NULL); if (self->proto == 0) { @@ -1664,8 +1662,6 @@ static char setitem = SETITEM; static char setitems = SETITEMS; - self->nesting++; - assert(iter != NULL); if (self->proto == 0) {
participants (1)
-
thomas.lee