Skip to content

Commit 7503e18

Browse files
committed
Update by review comments
1 parent 9d3f66e commit 7503e18

File tree

3 files changed

+20
-17
lines changed

3 files changed

+20
-17
lines changed

Lib/logging/handlers.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1221,11 +1221,10 @@ def emit(self, record):
12211221

12221222
# Get a handle to the event log
12231223
handle = self._winapi.RegisterEventSource(None, self.appname)
1224-
if handle != self._winapi.INVALID_HANDLE_VALUE:
1225-
try:
1226-
self._winapi.ReportEvent(handle, type, cat, id, msg)
1227-
finally:
1228-
self._winapi.DeregisterEventSource(handle)
1224+
try:
1225+
self._winapi.ReportEvent(handle, type, cat, id, msg)
1226+
finally:
1227+
self._winapi.DeregisterEventSource(handle)
12291228
except Exception:
12301229
self.handleError(record)
12311230

Lib/test/test_winapi.py

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -161,13 +161,16 @@ def test_event_source_registration(self):
161161
source_name = "PythonTestEventSource"
162162

163163
handle = _winapi.RegisterEventSource(None, source_name)
164+
self.addCleanup(_winapi.DeregisterEventSource, handle)
164165
self.assertNotEqual(handle, _winapi.INVALID_HANDLE_VALUE)
165166

166-
with self.assertRaisesRegex(OSError, '[WinError 87]'):
167+
with self.assertRaises(OSError) as cm:
167168
_winapi.RegisterEventSource(None, "")
169+
self.assertEqual(cm.exception.winerror, 87)
168170

169-
with self.assertRaisesRegex(OSError, '[WinError 6]'):
171+
with self.assertRaises(OSError) as cm:
170172
_winapi.DeregisterEventSource(_winapi.INVALID_HANDLE_VALUE)
173+
self.assertEqual(cm.exception.winerror, 6)
171174

172175
def test_report_event(self):
173176
source_name = "PythonTestEventSource"
@@ -176,15 +179,15 @@ def test_report_event(self):
176179
self.assertNotEqual(handle, _winapi.INVALID_HANDLE_VALUE)
177180
self.addCleanup(_winapi.DeregisterEventSource, handle)
178181

179-
# Test with strings and raw data
180-
test_strings = ["Test message 1", "Test message 2"]
181-
test_data = b"test raw data"
182182
_winapi.ReportEvent(handle, _winapi.EVENTLOG_SUCCESS, 1, 1002,
183-
test_strings, test_data)
183+
"Test message 1")
184+
185+
with self.assertRaises(TypeError):
186+
_winapi.ReportEvent(handle, _winapi.EVENTLOG_SUCCESS, 1, 1002, 42)
184187

185-
# Test with empty strings list
186-
_winapi.ReportEvent(handle, _winapi.EVENTLOG_AUDIT_FAILURE, 2, 1003, [])
188+
with self.assertRaises(TypeError):
189+
_winapi.ReportEvent(handle, _winapi.EVENTLOG_SUCCESS, 1, 1002, None)
187190

188-
with self.assertRaisesRegex(TypeError, 'expected a list of strings, not int'):
189-
_winapi.ReportEvent(handle, _winapi.EVENTLOG_ERROR_TYPE, 0, 1001,
190-
["string", 123])
191+
with self.assertRaises(ValueError):
192+
_winapi.ReportEvent(handle, _winapi.EVENTLOG_SUCCESS, 1, 1002,
193+
"Test message \0 with embedded null character")

Modules/_winapi.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3029,8 +3029,9 @@ _winapi_DeregisterEventSource_impl(PyObject *module, HANDLE handle)
30293029
success = DeregisterEventSource(handle);
30303030
Py_END_ALLOW_THREADS
30313031

3032-
if (!success)
3032+
if (!success) {
30333033
return PyErr_SetFromWindowsErr(0);
3034+
}
30343035

30353036
Py_RETURN_NONE;
30363037
}

0 commit comments

Comments
 (0)