Add test.test_support.guard_warnings_filter .  This function returns a context
manager that protects warnings.filter from being modified once the context is
exited.
diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py
index bba4c7c..e3f05a0 100644
--- a/Lib/test/test_random.py
+++ b/Lib/test/test_random.py
@@ -178,10 +178,9 @@
 
     def test_bigrand(self):
         # Verify warnings are raised when randrange is too large for random()
-        oldfilters = warnings.filters[:]
-        warnings.filterwarnings("error", "Underlying random")
-        self.assertRaises(UserWarning, self.gen.randrange, 2**60)
-        warnings.filters[:] = oldfilters
+        with test_support.guard_warnings_filter():
+            warnings.filterwarnings("error", "Underlying random")
+            self.assertRaises(UserWarning, self.gen.randrange, 2**60)
 
 class SystemRandom_TestBasicOps(TestBasicOps):
     gen = random.SystemRandom()