@@ -110,9 +110,11 @@ def test_error(self):
110110 with catch_unraisable_exception () as cm :
111111 d ["foo" ] = "bar"
112112 self .assertIn (
113- "PyDict_EVENT_ADDED watcher callback for <dict at" ,
114- cm .unraisable .object
113+ "Exception ignored in "
114+ "PyDict_EVENT_ADDED watcher callback for <dict at " ,
115+ cm .unraisable .err_msg
115116 )
117+ self .assertIsNone (cm .unraisable .object )
116118 self .assertEqual (str (cm .unraisable .exc_value ), "boom!" )
117119 self .assert_events ([])
118120
@@ -278,7 +280,9 @@ class C: pass
278280 self .watch (wid , C )
279281 with catch_unraisable_exception () as cm :
280282 C .foo = "bar"
281- self .assertIs (cm .unraisable .object , C )
283+ self .assertEqual (cm .unraisable .err_msg ,
284+ f"Exception ignored in type watcher callback #0 for { C !r} " )
285+ self .assertIs (cm .unraisable .object , None )
282286 self .assertEqual (str (cm .unraisable .exc_value ), "boom!" )
283287 self .assert_events ([])
284288
@@ -416,9 +420,11 @@ def test_error(self):
416420 co = _testcapi .code_newempty ("test_watchers" , "dummy0" , 0 )
417421
418422 self .assertEqual (
419- cm .unraisable .object ,
423+ cm .unraisable .err_msg ,
424+ f"Exception ignored in "
420425 f"PY_CODE_EVENT_CREATE watcher callback for { co !r} "
421426 )
427+ self .assertIsNone (cm .unraisable .object )
422428 self .assertEqual (str (cm .unraisable .exc_value ), "boom!" )
423429
424430 def test_dealloc_error (self ):
@@ -520,9 +526,11 @@ def myfunc():
520526 pass
521527
522528 self .assertEqual (
523- cm .unraisable .object ,
524- f"PyFunction_EVENT_CREATE watcher callback for { myfunc !r} "
529+ cm .unraisable .err_msg ,
530+ f"Exception ignored in "
531+ f"PyFunction_EVENT_CREATE watcher callback for { repr (myfunc )[1 :- 1 ]} "
525532 )
533+ self .assertIsNone (cm .unraisable .object )
526534
527535 def test_dealloc_watcher_raises_error (self ):
528536 class MyError (Exception ):
0 commit comments