Revert "bpo-31356: Add context manager to temporarily disable GC GH-5495

This reverts commit 72a0d218dcc94a3cc409a9ef32dfcd5a7bbcb43c.

The reverted commit had a few issues so it was unanimously decided
to undo it. See the bpo issue for details.
diff --git a/Lib/test/test_gc.py b/Lib/test/test_gc.py
index 246980a..904fc7d 100644
--- a/Lib/test/test_gc.py
+++ b/Lib/test/test_gc.py
@@ -1,7 +1,7 @@
 import unittest
 from test.support import (verbose, refcount_test, run_unittest,
                           strip_python_stderr, cpython_only, start_threads,
-                          temp_dir, requires_type_collecting,reap_threads)
+                          temp_dir, requires_type_collecting)
 from test.support.script_helper import assert_python_ok, make_script
 
 import sys
@@ -9,8 +9,6 @@
 import gc
 import weakref
 import threading
-import warnings
-
 
 try:
     from _testcapi import with_tp_del
@@ -1009,73 +1007,6 @@
             # empty __dict__.
             self.assertEqual(x, None)
 
-    def test_ensure_disabled(self):
-        original_status = gc.isenabled()
-
-        with gc.ensure_disabled():
-            inside_status = gc.isenabled()
-
-        after_status = gc.isenabled()
-        self.assertEqual(original_status, True)
-        self.assertEqual(inside_status, False)
-        self.assertEqual(after_status, True)
-
-    def test_ensure_disabled_with_gc_disabled(self):
-        gc.disable()
-
-        original_status = gc.isenabled()
-
-        with gc.ensure_disabled():
-            inside_status = gc.isenabled()
-
-        after_status = gc.isenabled()
-        self.assertEqual(original_status, False)
-        self.assertEqual(inside_status, False)
-        self.assertEqual(after_status, False)
-
-    @reap_threads
-    def test_ensure_disabled_thread(self):
-
-        thread_original_status = None
-        thread_inside_status = None
-        thread_after_status = None
-
-        def disabling_thread():
-            nonlocal thread_original_status
-            nonlocal thread_inside_status
-            nonlocal thread_after_status
-            thread_original_status = gc.isenabled()
-
-            with gc.ensure_disabled():
-                time.sleep(0.01)
-                thread_inside_status = gc.isenabled()
-
-            thread_after_status = gc.isenabled()
-
-        original_status = gc.isenabled()
-
-        with warnings.catch_warnings(record=True) as w, gc.ensure_disabled():
-            inside_status_before_thread = gc.isenabled()
-            thread = threading.Thread(target=disabling_thread)
-            thread.start()
-            inside_status_after_thread = gc.isenabled()
-
-        after_status = gc.isenabled()
-        thread.join()
-
-        self.assertEqual(len(w), 1)
-        self.assertTrue(issubclass(w[-1].category, RuntimeWarning))
-        self.assertEqual("Garbage collector enabled while another thread is "
-                         "inside gc.ensure_enabled", str(w[-1].message))
-        self.assertEqual(original_status, True)
-        self.assertEqual(inside_status_before_thread, False)
-        self.assertEqual(thread_original_status, False)
-        self.assertEqual(thread_inside_status, True)
-        self.assertEqual(thread_after_status, False)
-        self.assertEqual(inside_status_after_thread, False)
-        self.assertEqual(after_status, True)
-
-
 def test_main():
     enabled = gc.isenabled()
     gc.disable()