Browse Source

Issue #22191: Fix warnings.__all__.

Thanks to Jon Poler for the patch.
pull/224/head
Brett Cannon 12 years ago
parent
commit
14ad5319d9
  1. 19
      Lib/test/test_warnings.py
  2. 3
      Lib/warnings.py
  3. 1
      Misc/ACKS
  4. 2
      Misc/NEWS

19
Lib/test/test_warnings.py

@ -61,6 +61,25 @@ class BaseTest:
sys.modules['warnings'] = original_warnings
super(BaseTest, self).tearDown()
class PublicAPITests(BaseTest):
"""Ensures that the correct values are exposed in the
public API.
"""
def test_module_all_attribute(self):
self.assertTrue(hasattr(self.module, '__all__'))
target_api = ["warn", "warn_explicit", "showwarning",
"formatwarning", "filterwarnings", "simplefilter",
"resetwarnings", "catch_warnings"]
self.assertSetEqual(set(self.module.__all__),
set(target_api))
class CPublicAPITests(PublicAPITests, unittest.TestCase):
module = c_warnings
class PyPublicAPITests(PublicAPITests, unittest.TestCase):
module = py_warnings
class FilterTests(BaseTest):

3
Lib/warnings.py

@ -2,7 +2,8 @@
import sys
__all__ = ["warn", "showwarning", "formatwarning", "filterwarnings",
__all__ = ["warn", "warn_explicit", "showwarning",
"formatwarning", "filterwarnings", "simplefilter",
"resetwarnings", "catch_warnings"]

1
Misc/ACKS

@ -1054,6 +1054,7 @@ Antoine Pitrou
Jean-François Piéronne
Oleg Plakhotnyuk
Remi Pointel
Jon Poler
Ariel Poliak
Guilherme Polo
Illia Polosukhin

2
Misc/NEWS

@ -27,6 +27,8 @@ Core and Builtins
Library
-------
-- Issue #22191: Fix warnings.__all__.
- Issue #15696: Add a __sizeof__ implementation for mmap objects on Windows.
- Issue #22068: Avoided reference loops with Variables and Fonts in Tkinter.

Loading…
Cancel
Save