From 140752464ba7d72105bed97f99bb257614d8e022 Mon Sep 17 00:00:00 2001
From: Nikita Sobolev <mail@sobolevn.me>
Date: Sun, 16 Jun 2024 11:26:13 +0300
Subject: [PATCH] gh-120579: Guard `_testcapi` import in `test_free_threading`
 (#120580)

---
 Lib/test/test_free_threading/test_dict.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/Lib/test/test_free_threading/test_dict.py b/Lib/test/test_free_threading/test_dict.py
index f877582e6b565c9..3126458e08e50ab 100644
--- a/Lib/test/test_free_threading/test_dict.py
+++ b/Lib/test/test_free_threading/test_dict.py
@@ -8,7 +8,10 @@
 from threading import Thread
 from unittest import TestCase
 
-from _testcapi import dict_version
+try:
+    import _testcapi
+except ImportError:
+    _testcapi = None
 
 from test.support import threading_helper
 
@@ -139,7 +142,9 @@ def writer_func(l):
             for ref in thread_list:
                 self.assertIsNone(ref())
 
+    @unittest.skipIf(_testcapi is None, 'need _testcapi module')
     def test_dict_version(self):
+        dict_version = _testcapi.dict_version
         THREAD_COUNT = 10
         DICT_COUNT = 10000
         lists = []