Make test_structmembers pass when run with regrtests's -R flag.
diff --git a/Lib/test/test_structmembers.py b/Lib/test/test_structmembers.py
index ef00f94..08829c0 100644
--- a/Lib/test/test_structmembers.py
+++ b/Lib/test/test_structmembers.py
@@ -5,7 +5,7 @@
LONG_MAX, LONG_MIN, ULONG_MAX, \
LLONG_MAX, LLONG_MIN, ULLONG_MAX
-import warnings, exceptions, unittest
+import warnings, exceptions, unittest, sys
from test import test_support
ts=test_structmembersType(1,2,3,4,5,6,7,8,9.99999,10.1010101010)
@@ -59,7 +59,7 @@
class TestWarnings(unittest.TestCase):
def has_warned(self, w):
- self.assert_(w.category is RuntimeWarning)
+ self.assertEqual(w.category, RuntimeWarning)
def test_byte_max(self):
with test_support.catch_warning() as w:
@@ -94,10 +94,13 @@
def test_main(verbose=None):
- test_support.run_unittest(
- ReadWriteTests,
- TestWarnings
- )
+ # Obscure hack so that this test passes after reloads or repeated calls
+ # to test_main (regrtest -R).
+ if '__warningregistry__' in globals():
+ del globals()['__warningregistry__']
+ if hasattr(sys, '__warningregistry__'):
+ del sys.__warningregistry__
+ test_support.run_unittest(__name__)
if __name__ == "__main__":
test_main(verbose=True)