Maybe locals() works differently on PyPy, dunno, not going to investigate, just spell this differently.
diff --git a/OpenSSL/test/test_ssl.py b/OpenSSL/test/test_ssl.py
index a8177a4..228d9c5 100644
--- a/OpenSSL/test/test_ssl.py
+++ b/OpenSSL/test/test_ssl.py
@@ -1163,8 +1163,7 @@
         callback = tracker()
         if callback is not None:
             referrers = get_referrers(callback)
-            referrers.remove(locals())
-            if referrers:
+            if len(referrers) > 1:
                 self.fail("Some references remain: %r" % (referrers,))