"Unexpected instance of int in ZI weak cache for key 'America/Los_Angeles'"
)
+ def test_deleted_weak_cache(self):
+ class ZI(self.klass):
+ pass
+ delattr(ZI, '_weak_cache')
+
+ # These should not segfault
+ with self.assertRaises(AttributeError):
+ ZI("UTC")
+
+ with self.assertRaises(AttributeError):
+ ZI.clear_cache()
+
def test_inconsistent_weak_cache_setdefault(self):
class Cache:
def get(self, key, default=None):
}
PyObject *weak_cache = get_weak_cache(state, type);
+ if (weak_cache == NULL) {
+ return NULL;
+ }
instance = PyObject_CallMethod(weak_cache, "get", "O", key, Py_None);
if (instance == NULL) {
Py_DECREF(weak_cache);
{
zoneinfo_state *state = zoneinfo_get_state_by_cls(cls);
PyObject *weak_cache = get_weak_cache(state, type);
+ if (weak_cache == NULL) {
+ return NULL;
+ }
if (only_keys == NULL || only_keys == Py_None) {
PyObject *rv = PyObject_CallMethod(weak_cache, "clear", NULL);