Issue #18702: All skipped tests now reported as skipped.
diff --git a/Lib/test/test_set.py b/Lib/test/test_set.py
index 13cefec..bfef621 100644
--- a/Lib/test/test_set.py
+++ b/Lib/test/test_set.py
@@ -625,10 +625,10 @@
         myset >= myobj
         self.assertTrue(myobj.le_called)
 
-    # C API test only available in a debug build
-    if hasattr(set, "test_c_api"):
-        def test_c_api(self):
-            self.assertEqual(set().test_c_api(), True)
+    @unittest.skipUnless(hasattr(set, "test_c_api"),
+                         'C API test only available in a debug build')
+    def test_c_api(self):
+        self.assertEqual(set().test_c_api(), True)
 
 class SetSubclass(set):
     pass