def METHOD_NAME(self):
    # dir on a deletex proxy should return an empty list,
    # not throw.
    for cls in [NonCallableClass, CallableClass]:
        def run_test():
            a = cls()
            b = _weakref.proxy(a)
            self.assertEqual(dir(a), dir(b))
            del(a)
            return b
        prxy = run_test()
        gc.collect()
        # gc collection seems to take longer on OSX
        if is_osx: time.sleep(2)
        #This will fail if original object has not been garbage collected.
        self.assertEqual(dir(prxy), [])