]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Fixes #25097: Windows test is skipped if there are insufficient privileges, rather...
authorVinay Sajip <vinay_sajip@yahoo.co.uk>
Thu, 1 Oct 2015 19:37:54 +0000 (20:37 +0100)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>
Thu, 1 Oct 2015 19:37:54 +0000 (20:37 +0100)
Lib/test/test_logging.py

index ddab2e0ecd53a01d1f6e391fcbcdf434970b82f3..be3d02c44b7202ca468a26d6487f2067bd360f0c 100644 (file)
@@ -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()