Fixes #25097: Windows test is skipped if there are insufficient privileges, rather than failing.

This commit is contained in:
Vinay Sajip 2015-10-01 20:37:54 +01:00
parent f223c53218
commit 223349cfb8
1 changed files with 11 additions and 9 deletions

View File

@ -65,14 +65,10 @@ try:
except ImportError: except ImportError:
threading = None threading = None
try: try:
import win32evtlog import win32evtlog, win32evtlogutil, pywintypes
except ImportError: except ImportError:
win32evtlog = None win32evtlog = win32evtlogutil = pywintypes = None
try:
import win32evtlogutil
except ImportError:
win32evtlogutil = None
win32evtlog = None
try: try:
import zlib import zlib
except ImportError: except ImportError:
@ -4098,13 +4094,19 @@ for when, exp in (('S', 1),
setattr(TimedRotatingFileHandlerTest, "test_compute_rollover_%s" % when, test_compute_rollover) 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): class NTEventLogHandlerTest(BaseTest):
def test_basic(self): def test_basic(self):
logtype = 'Application' logtype = 'Application'
elh = win32evtlog.OpenEventLog(None, logtype) elh = win32evtlog.OpenEventLog(None, logtype)
num_recs = win32evtlog.GetNumberOfEventLogRecords(elh) 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'}) r = logging.makeLogRecord({'msg': 'Test Log Message'})
h.handle(r) h.handle(r)
h.close() h.close()