From: Vinay Sajip Date: Thu, 1 Oct 2015 19:37:54 +0000 (+0100) Subject: Fixes #25097: Windows test is skipped if there are insufficient privileges, rather... X-Git-Tag: v3.5.1rc1~230^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=223349cfb8a7a59caf7dffee55f21c800bdb947d;p=thirdparty%2FPython%2Fcpython.git Fixes #25097: Windows test is skipped if there are insufficient privileges, rather than failing. --- diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index ddab2e0ecd53..be3d02c44b72 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()