Author: Armin Rigo <ar...@tunes.org>
Branch: py3.5
Changeset: r88820:ec203b75befa
Date: 2016-12-02 15:23 +0100
http://bitbucket.org/pypy/pypy/changeset/ec203b75befa/

Log:    atexit._ncallbacks()

diff --git a/pypy/module/atexit/__init__.py b/pypy/module/atexit/__init__.py
--- a/pypy/module/atexit/__init__.py
+++ b/pypy/module/atexit/__init__.py
@@ -15,5 +15,6 @@
         'unregister': 'app_atexit.unregister',
         '_clear': 'app_atexit.clear',
         '_run_exitfuncs': 'app_atexit.run_exitfuncs',
+        '_ncallbacks': 'app_atexit.ncallbacks',
         }
 
diff --git a/pypy/module/atexit/app_atexit.py b/pypy/module/atexit/app_atexit.py
--- a/pypy/module/atexit/app_atexit.py
+++ b/pypy/module/atexit/app_atexit.py
@@ -50,3 +50,6 @@
     for i, (f, _, _) in enumerate(atexit_callbacks):
         if f == func:
             atexit_callbacks[i] = (None, None, None)
+
+def ncallbacks():
+    return len(atexit_callbacks)
diff --git a/pypy/module/atexit/test/test_atexit.py 
b/pypy/module/atexit/test/test_atexit.py
--- a/pypy/module/atexit/test/test_atexit.py
+++ b/pypy/module/atexit/test/test_atexit.py
@@ -13,7 +13,9 @@
                 print("h2")
             atexit.register(h1)
             atexit.register(h2)
+            assert atexit._ncallbacks() == 2
             atexit._run_exitfuncs()
+            assert atexit._ncallbacks() == 0
             assert capture.getvalue() == 'h2\nh1\n'
         finally:
             sys.stdout = stdout
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to