@@ -210,69 +210,60 @@ def test_sys_writestderr(self):
210210 def test_sys_audit (self ):
211211 # Test PySys_Audit()
212212 sys_audit = _testlimitedcapi .sys_audit
213- audit_events = []
214- def audit_hook (event , args ):
215- audit_events .append ((event , args ))
216- return None
217213
218- sys .addaudithook (audit_hook )
219- try :
220- result = sys_audit ("test.event" , "OO" , 1 , "a" )
221- self .assertEqual (result , 0 )
222- self .assertEqual (audit_events [- 1 ][0 ], "test.event" )
223- self .assertEqual (audit_events [- 1 ][1 ], (1 , "a" ))
224-
225- result = sys_audit ("test.no_args" , "" )
226- self .assertEqual (result , 0 )
227- self .assertEqual (audit_events [- 1 ][0 ], "test.no_args" )
228- self .assertEqual (audit_events [- 1 ][1 ], ())
229-
230- with self .assertRaises (TypeError ):
231- sys_audit (123 , "O" , 1 )
232-
233- result = sys_audit ("テスト.イベント" , "O" , 42 )
234- self .assertEqual (result , 0 )
235- self .assertEqual (audit_events [- 1 ][0 ], "テスト.イベント" )
236- self .assertEqual (audit_events [- 1 ][1 ], (42 ,))
237-
238- with self .assertRaises (UnicodeDecodeError ):
239- sys_audit (b"test.non_utf8\xff " , "O" , 1 )
240- finally :
241- sys .audit_hooks = []
214+ result = sys_audit ("test.event" , "OO" , 1 , "a" )
215+ self .assertEqual (result , 0 )
216+
217+ result = sys_audit ("test.no_args" , "" )
218+ self .assertEqual (result , 0 )
219+
220+ with self .assertRaises (TypeError ):
221+ sys_audit (123 , "O" , 1 )
222+
223+ result = sys_audit ("テスト.イベント" , "O" , 42 )
224+ self .assertEqual (result , 0 )
225+
226+ result = sys_audit (None , "O" , 1 )
227+ self .assertEqual (result , 0 )
228+
229+ result = sys_audit (b"test.non_utf8\xff " , "O" , 1 )
230+ self .assertEqual (result , 0 )
231+
232+ result = sys_audit ("test.event" , "(" )
233+ self .assertEqual (result , 0 )
234+
235+ result = sys_audit ("test.event" , "&" )
236+ self .assertEqual (result , 0 )
237+
238+ result = sys_audit ("test.event" , b"\xff " )
239+ self .assertEqual (result , 0 )
240+
241+ result = sys_audit ("test.event" , "{OO}" , [], [])
242+ self .assertEqual (result , 0 )
243+
242244
243245 @unittest .skipIf (_testlimitedcapi is None , 'need _testlimitedcapi module' )
244246 def test_sys_audittuple (self ):
245247 # Test PySys_AuditTuple()
246248 sys_audittuple = _testlimitedcapi .sys_audittuple
247- audit_events = []
248- def audit_hook (event , args ):
249- audit_events .append ((event , args ))
250- return None
251249
252- sys .addaudithook (audit_hook )
253- try :
254- result = sys_audittuple ("test.event" , (1 , "a" ))
255- self .assertEqual (result , 0 )
256- self .assertEqual (audit_events [- 1 ][0 ], "test.event" )
257- self .assertEqual (audit_events [- 1 ][1 ], (1 , "a" ))
258-
259- result = sys_audittuple ("test.null_tuple" )
260- self .assertEqual (result , 0 )
261- self .assertEqual (audit_events [- 1 ][0 ], "test.null_tuple" )
262- self .assertEqual (audit_events [- 1 ][1 ], ())
263-
264- with self .assertRaises (TypeError ):
265- sys_audittuple ("test.bad_tuple" , [1 , 2 ])
266-
267- result = sys_audittuple ("テスト.イベント" , (42 ,))
268- self .assertEqual (result , 0 )
269- self .assertEqual (audit_events [- 1 ][0 ], "テスト.イベント" )
270- self .assertEqual (audit_events [- 1 ][1 ], (42 ,))
271-
272- with self .assertRaises (UnicodeDecodeError ):
273- sys_audittuple (b"test.non_utf8\xff " , (1 ,))
274- finally :
275- sys .audit_hooks = []
250+ result = sys_audittuple ("test.event" , (1 , "a" ))
251+ self .assertEqual (result , 0 )
252+
253+ result = sys_audittuple ("test.null_tuple" )
254+ self .assertEqual (result , 0 )
255+
256+ with self .assertRaises (TypeError ):
257+ sys_audittuple ("test.bad_tuple" , [1 , 2 ])
258+
259+ result = sys_audittuple ("テスト.イベント" , (42 ,))
260+ self .assertEqual (result , 0 )
261+
262+ result = sys_audittuple (None , (123 ,))
263+ self .assertEqual (result , 0 )
264+
265+ result = sys_audittuple (b"test.non_utf8\xff " , (1 ,))
266+ self .assertEqual (result , 0 )
276267
277268
278269if __name__ == "__main__" :
0 commit comments