@@ -116,8 +116,7 @@ def test_no_FatalError_infinite_loop(self):
116116 "after Python initialization and before Python finalization, "
117117 "but it was called without an active thread state. "
118118 "Are you trying to call the C API inside of a Py_BEGIN_ALLOW_THREADS block?" ).encode ()
119- self .assertTrue (err .rstrip ().startswith (msg ),
120- err )
119+ self .assertStartsWith (err .rstrip (), msg )
121120
122121 def test_memoryview_from_NULL_pointer (self ):
123122 self .assertRaises (ValueError , _testcapi .make_memoryview_from_NULL_pointer )
@@ -720,7 +719,7 @@ def test_heaptype_with_setattro(self):
720719
721720 def test_heaptype_with_custom_metaclass (self ):
722721 metaclass = _testcapi .HeapCTypeMetaclass
723- self .assertTrue ( issubclass ( metaclass , type ) )
722+ self .assertIsSubclass ( metaclass , type )
724723
725724 # Class creation from C
726725 t = _testcapi .pytype_fromspec_meta (metaclass )
@@ -736,7 +735,7 @@ def test_heaptype_with_custom_metaclass(self):
736735 def test_heaptype_with_custom_metaclass_null_new (self ):
737736 metaclass = _testcapi .HeapCTypeMetaclassNullNew
738737
739- self .assertTrue ( issubclass ( metaclass , type ) )
738+ self .assertIsSubclass ( metaclass , type )
740739
741740 # Class creation from C
742741 t = _testcapi .pytype_fromspec_meta (metaclass )
@@ -751,7 +750,7 @@ def test_heaptype_with_custom_metaclass_null_new(self):
751750 def test_heaptype_with_custom_metaclass_custom_new (self ):
752751 metaclass = _testcapi .HeapCTypeMetaclassCustomNew
753752
754- self .assertTrue ( issubclass ( _testcapi .HeapCTypeMetaclassCustomNew , type ) )
753+ self .assertIsSubclass ( _testcapi .HeapCTypeMetaclassCustomNew , type )
755754
756755 msg = "Metaclasses with custom tp_new are not supported."
757756 with self .assertRaisesRegex (TypeError , msg ):
@@ -910,8 +909,7 @@ def test_export_symbols(self):
910909 names .append ('Py_FrozenMain' )
911910
912911 for name in names :
913- with self .subTest (name = name ):
914- self .assertTrue (hasattr (ctypes .pythonapi , name ))
912+ self .assertHasAttr (ctypes .pythonapi , name )
915913
916914 def test_clear_managed_dict (self ):
917915
@@ -1503,7 +1501,8 @@ def inner(arg5, arg6):
15031501 self .assertIsInstance (closure , tuple )
15041502 self .assertEqual (len (closure ), 1 )
15051503 self .assertEqual (len (closure ), len (func .__code__ .co_freevars ))
1506- self .assertTrue (all (isinstance (cell , CellType ) for cell in closure ))
1504+ for cell in closure :
1505+ self .assertIsInstance (cell , CellType )
15071506 self .assertTrue (closure [0 ].cell_contents , 5 )
15081507
15091508 func = with_two_levels (1 , 2 )(3 , 4 )
@@ -1512,7 +1511,8 @@ def inner(arg5, arg6):
15121511 self .assertIsInstance (closure , tuple )
15131512 self .assertEqual (len (closure ), 4 )
15141513 self .assertEqual (len (closure ), len (func .__code__ .co_freevars ))
1515- self .assertTrue (all (isinstance (cell , CellType ) for cell in closure ))
1514+ for cell in closure :
1515+ self .assertIsInstance (cell , CellType )
15161516 self .assertEqual ([cell .cell_contents for cell in closure ],
15171517 [1 , 2 , 3 , 4 ])
15181518
@@ -2365,7 +2365,7 @@ def test_mutate_exception(self):
23652365
23662366 support .run_in_subinterp ("import binascii; binascii.Error.foobar = 'foobar'" )
23672367
2368- self .assertFalse ( hasattr ( binascii .Error , "foobar" ) )
2368+ self .assertNotHasAttr ( binascii .Error , "foobar" )
23692369
23702370 @unittest .skipIf (_testmultiphase is None , "test requires _testmultiphase module" )
23712371 # gh-117649: The free-threaded build does not currently support sharing
0 commit comments