def testCleanup(self): try: ArrayCacheMemoryMgr.instance.pause() op = OpArrayCache(graph=self.opProvider.graph) op.Input.connect(self.opProvider.Output) x = op.Output[...].wait() op.Input.disconnect() op.cleanUp() r = weakref.ref(op) del op gc.collect() assert r() is None, "OpArrayCache was not cleaned up correctly" finally: ArrayCacheMemoryMgr.instance.unpause()