diff options
author | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2011-05-07 16:01:22 (GMT) |
---|---|---|
committer | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2011-05-07 16:01:22 (GMT) |
commit | fd28502fcfdbd6ee6e265570a09236ceaade06ee (patch) | |
tree | e4fb03a4317a9db3e5c9855da46ceb8968e0f7df /Lib/test | |
parent | 9c18778695ab002789849e385eeb9d270633a5c6 (diff) | |
download | cpython-fd28502fcfdbd6ee6e265570a09236ceaade06ee.zip cpython-fd28502fcfdbd6ee6e265570a09236ceaade06ee.tar.gz cpython-fd28502fcfdbd6ee6e265570a09236ceaade06ee.tar.bz2 |
Closed resource leak in SysLogHandler.
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_logging.py | 56 |
1 files changed, 27 insertions, 29 deletions
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index aa70295..8d074af 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -3484,41 +3484,39 @@ class TimedRotatingFileHandlerTest(BaseFileTest): def test_rollover(self): fh = logging.handlers.TimedRotatingFileHandler(self.fn, 'S', backupCount=1) - try: - r = logging.makeLogRecord({'msg': 'testing'}) - fh.emit(r) - self.assertLogFile(self.fn) - time.sleep(1.0) - fh.emit(r) - # At this point, we should have a recent rotated file which we - # can test for the existence of. However, in practice, on some - # machines which run really slowly, we don't know how far back - # in time to go to look for the log file. So, we go back a fair - # bit, and stop as soon as we see a rotated file. In theory this - # could of course still fail, but the chances are lower. - found = False - now = datetime.datetime.now() - GO_BACK = 2 * 60 # seconds - for secs in range(1, GO_BACK): - prev = now - datetime.timedelta(seconds=secs) - fn = self.fn + prev.strftime(".%Y-%m-%d_%H-%M-%S") - found = os.path.exists(fn) - if found: - self.rmfiles.append(fn) - break - msg = 'No rotated files found, went back %d seconds' % GO_BACK - self.assertTrue(found, msg=msg) - finally: - fh.close() + r = logging.makeLogRecord({'msg': 'testing'}) + fh.emit(r) + self.assertLogFile(self.fn) + time.sleep(1.0) + fh.emit(r) + fh.close() + # At this point, we should have a recent rotated file which we + # can test for the existence of. However, in practice, on some + # machines which run really slowly, we don't know how far back + # in time to go to look for the log file. So, we go back a fair + # bit, and stop as soon as we see a rotated file. In theory this + # could of course still fail, but the chances are lower. + found = False + now = datetime.datetime.now() + GO_BACK = 2 * 60 # seconds + for secs in range(1, GO_BACK): + prev = now - datetime.timedelta(seconds=secs) + fn = self.fn + prev.strftime(".%Y-%m-%d_%H-%M-%S") + found = os.path.exists(fn) + if found: + self.rmfiles.append(fn) + break + msg = 'No rotated files found, went back %d seconds' % GO_BACK + self.assertTrue(found, msg=msg) def test_invalid(self): assertRaises = self.assertRaises assertRaises(ValueError, logging.handlers.TimedRotatingFileHandler, - self.fn, 'X') + self.fn, 'X', delay=True) assertRaises(ValueError, logging.handlers.TimedRotatingFileHandler, - self.fn, 'W') + self.fn, 'W', delay=True) assertRaises(ValueError, logging.handlers.TimedRotatingFileHandler, - self.fn, 'W7') + self.fn, 'W7', delay=True) def secs(**kw): return datetime.timedelta(**kw) // datetime.timedelta(seconds=1) |