[Cython] (no subject)
Yaroslav Halchenko
lists at onerussian.com
Thu Dec 6 04:40:06 CET 2012
On Wed, 05 Dec 2012, mark florisson wrote:
> > Thanks, I merged it.
> It'd be nice if you could add this as a testcase in the tests/run
> directory as a "don't segfault" kind of test.
I would be happy to extend the test battery but my blunt attempt failed,
i.e. the test doesn't cause the failure:
(git)novo:~deb/cython[remotes/upstream/master~1]git
$> rm -rf ~/.pyxbld ; python-dbg ./runtests.py -v -v weakfail; cat tests/run/weakfail.pyx
Python 2.7.3 (default, Sep 9 2012, 17:05:18)
[GCC 4.7.1]
Running tests against Cython 0.18-pre 73895001642d4531d32cac5ad2499f4ed5f3b286
Backends: c,cpp
runTest (__main__.CythonRunTestCase)
compiling (c) and running weakfail ... test_weakref (line 8) (weakfail.__test__)
Doctest: weakfail.__test__.test_weakref (line 8) ... ok
runTest (__main__.CythonRunTestCase)
compiling (cpp) and running weakfail ... test_weakref (line 8) (weakfail.__test__)
Doctest: weakfail.__test__.test_weakref (line 8) ... ok
----------------------------------------------------------------------
Ran 4 tests in 2.015s
OK
ALL DONE
[193903 refs]
import weakref
foo_dict = weakref.WeakValueDictionary()
cdef class Foo:
cdef object __weakref__
def test_weakref(key):
"""
>>> _ = test_weakref(48)
"""
obj = Foo()
foo_dict[key] = obj
return obj
whenever if I do it manually then -- yeap:
(git)novo:~deb/cython[remotes/upstream/master~1]tests/run
$> rm -rf ~/.pyxbld ; PYTHONPATH=../../ python-dbg -c 'import pyximport as pi; pi.install(); import weakfail; s=weakfail.test_weakref(42)'
python-dbg: ../Modules/gcmodule.c:366: visit_decref: Assertion `gc->gc.gc_refs != 0' failed.
[1] 5508 abort PYTHONPATH=../../ python-dbg -c
so how to make it 'effective'?
--
Yaroslav O. Halchenko
Postdoctoral Fellow, Department of Psychological and Brain Sciences
Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755
Phone: +1 (603) 646-9834 Fax: +1 (603) 646-1419
WWW: http://www.linkedin.com/in/yarik
More information about the cython-devel
mailing list