@@ -116,8 +116,7 @@ def test_no_FatalError_infinite_loop(self):
116
116
"after Python initialization and before Python finalization, "
117
117
"but it was called without an active thread state. "
118
118
"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 )
121
120
122
121
def test_memoryview_from_NULL_pointer (self ):
123
122
self .assertRaises (ValueError , _testcapi .make_memoryview_from_NULL_pointer )
@@ -720,7 +719,7 @@ def test_heaptype_with_setattro(self):
720
719
721
720
def test_heaptype_with_custom_metaclass (self ):
722
721
metaclass = _testcapi .HeapCTypeMetaclass
723
- self .assertTrue ( issubclass ( metaclass , type ) )
722
+ self .assertIsSubclass ( metaclass , type )
724
723
725
724
# Class creation from C
726
725
t = _testcapi .pytype_fromspec_meta (metaclass )
@@ -736,7 +735,7 @@ def test_heaptype_with_custom_metaclass(self):
736
735
def test_heaptype_with_custom_metaclass_null_new (self ):
737
736
metaclass = _testcapi .HeapCTypeMetaclassNullNew
738
737
739
- self .assertTrue ( issubclass ( metaclass , type ) )
738
+ self .assertIsSubclass ( metaclass , type )
740
739
741
740
# Class creation from C
742
741
t = _testcapi .pytype_fromspec_meta (metaclass )
@@ -751,7 +750,7 @@ def test_heaptype_with_custom_metaclass_null_new(self):
751
750
def test_heaptype_with_custom_metaclass_custom_new (self ):
752
751
metaclass = _testcapi .HeapCTypeMetaclassCustomNew
753
752
754
- self .assertTrue ( issubclass ( _testcapi .HeapCTypeMetaclassCustomNew , type ) )
753
+ self .assertIsSubclass ( _testcapi .HeapCTypeMetaclassCustomNew , type )
755
754
756
755
msg = "Metaclasses with custom tp_new are not supported."
757
756
with self .assertRaisesRegex (TypeError , msg ):
@@ -910,8 +909,7 @@ def test_export_symbols(self):
910
909
names .append ('Py_FrozenMain' )
911
910
912
911
for name in names :
913
- with self .subTest (name = name ):
914
- self .assertTrue (hasattr (ctypes .pythonapi , name ))
912
+ self .assertHasAttr (ctypes .pythonapi , name )
915
913
916
914
def test_clear_managed_dict (self ):
917
915
@@ -1503,7 +1501,8 @@ def inner(arg5, arg6):
1503
1501
self .assertIsInstance (closure , tuple )
1504
1502
self .assertEqual (len (closure ), 1 )
1505
1503
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 )
1507
1506
self .assertTrue (closure [0 ].cell_contents , 5 )
1508
1507
1509
1508
func = with_two_levels (1 , 2 )(3 , 4 )
@@ -1512,7 +1511,8 @@ def inner(arg5, arg6):
1512
1511
self .assertIsInstance (closure , tuple )
1513
1512
self .assertEqual (len (closure ), 4 )
1514
1513
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 )
1516
1516
self .assertEqual ([cell .cell_contents for cell in closure ],
1517
1517
[1 , 2 , 3 , 4 ])
1518
1518
@@ -2365,7 +2365,7 @@ def test_mutate_exception(self):
2365
2365
2366
2366
support .run_in_subinterp ("import binascii; binascii.Error.foobar = 'foobar'" )
2367
2367
2368
- self .assertFalse ( hasattr ( binascii .Error , "foobar" ) )
2368
+ self .assertNotHasAttr ( binascii .Error , "foobar" )
2369
2369
2370
2370
@unittest .skipIf (_testmultiphase is None , "test requires _testmultiphase module" )
2371
2371
# gh-117649: The free-threaded build does not currently support sharing
0 commit comments