[3.7] bpo-32384: Skip test when _testcapi isn't available (GH-4940)
diff --git a/Lib/test/test_generators.py b/Lib/test/test_generators.py
index 7360b34023d3d8..7a21cb7e954ad5 100644
--- a/Lib/test/test_generators.py
+++ b/Lib/test/test_generators.py
@@ -9,12 +9,18 @@
 
 from test import support
 
-_testcapi = support.import_module('_testcapi')
+try:
+    import _testcapi
+except ImportError:
+    _testcapi = None
 
 
 # This tests to make sure that if a SIGINT arrives just before we send into a
 # yield from chain, the KeyboardInterrupt is raised in the innermost
 # generator (see bpo-30039).
+@unittest.skipUnless(_testcapi is not None and
+                     hasattr(_testcapi, "raise_SIGINT_then_send_None"),
+                     "needs _testcapi.raise_SIGINT_then_send_None")
 class SignalAndYieldFromTest(unittest.TestCase):
 
     def generator1(self):

(cherry picked from commit 4cc3eb48e1e8289df5153db1c701cae263a1ef86)


Co-authored-by: Isaiah Peng <isaiah@users.noreply.github.com>

<!-- issue-number: bpo-32384 -->
https://bugs.python.org/issue32384
<!-- /issue-number -->
