#!/usr/bin/python-dbg import gc import sys from pprint import pprint import apt # get initial cache print(sys.gettotalrefcount()) progress = apt.progress.OpTextProgress() c = apt.Cache(progress) print("refcount after first cache instance: ", sys.gettotalrefcount()) # test open() c.open(progress) print("refcount after cache open: ", sys.gettotalrefcount()) # pprint(sys.getobjects(10)) c.open(apt.progress.OpProgress()) print("refcount after seconf cache open: ", sys.gettotalrefcount()) # pprint(sys.getobjects(10)) # FIXME: find a way to get a efficient diff # before = gc.get_objects() # c.open(apt.progress.OpProgress()) # after = gc.get_objects() # test update() print("refcount before cache.update(): ", sys.gettotalrefcount()) c.update() gc.collect() print("refcount after cache.update(): ", sys.gettotalrefcount()) c.update() gc.collect() print("refcount after second cache.update(): ", sys.gettotalrefcount()) # pprint(sys.getobjects(20)) # test install() c.open(apt.progress.OpProgress()) gc.collect() print("refcount before cache['hello'].mark_install(): ", sys.gettotalrefcount()) c["hello"].mark_install() c.commit(apt.progress.FetchProgress(), apt.progress.InstallProgress()) gc.collect() print("refcount after: ", sys.gettotalrefcount()) c.open(apt.progress.OpProgress()) c["hello"].mark_delete() c.commit(apt.progress.FetchProgress(), apt.progress.InstallProgress()) gc.collect() print("refcount after: ", sys.gettotalrefcount()) pprint(sys.getobjects(10))