From 223349cfb8a7a59caf7dffee55f21c800bdb947d Mon Sep 17 00:00:00 2001 From: Vinay Sajip Date: Thu, 1 Oct 2015 20:37:54 +0100 Subject: [PATCH] Fixes #25097: Windows test is skipped if there are insufficient privileges, rather than failing. --- Lib/test/test_logging.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index ddab2e0ecd5..be3d02c44b7 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -65,14 +65,10 @@ try: except ImportError: threading = None try: - import win32evtlog + import win32evtlog, win32evtlogutil, pywintypes except ImportError: - win32evtlog = None -try: - import win32evtlogutil -except ImportError: - win32evtlogutil = None - win32evtlog = None + win32evtlog = win32evtlogutil = pywintypes = None + try: import zlib except ImportError: @@ -4098,13 +4094,19 @@ for when, exp in (('S', 1), setattr(TimedRotatingFileHandlerTest, "test_compute_rollover_%s" % when, test_compute_rollover) -@unittest.skipUnless(win32evtlog, 'win32evtlog/win32evtlogutil required for this test.') +@unittest.skipUnless(win32evtlog, 'win32evtlog/win32evtlogutil/pywintypes required for this test.') class NTEventLogHandlerTest(BaseTest): def test_basic(self): logtype = 'Application' elh = win32evtlog.OpenEventLog(None, logtype) num_recs = win32evtlog.GetNumberOfEventLogRecords(elh) - h = logging.handlers.NTEventLogHandler('test_logging') + + try: + h = logging.handlers.NTEventLogHandler('test_logging') + except pywintypes.error as e: + if e[0] == 5: # access denied + raise unittest.SkipTest('Insufficient privileges to run test') + r = logging.makeLogRecord({'msg': 'Test Log Message'}) h.handle(r) h.close()