import threading, unittest
from sqlalchemy import util, sql, exc
from testlib import TestBase
+from testlib.compat import gc_collect
from testlib.testing import eq_, is_, ne_
class OrderedDictTest(TestBase):
assert len(data) == len(wim) == len(wim.by_id)
del data[:]
+ gc_collect()
+
eq_(wim, {})
eq_(wim.by_id, {})
eq_(wim._weakrefs, {})
oid = id(data[0])
del data[0]
+ gc_collect()
assert len(data) == len(wim) == len(wim.by_id)
assert oid not in wim.by_id
th.start()
cv.wait()
cv.release()
+ gc_collect()
eq_(wim, {})
eq_(wim.by_id, {})