From 672c5816334aaba29de195a23a1e30c622c77461 Mon Sep 17 00:00:00 2001 From: Vinay Sajip Date: Fri, 13 May 2011 07:09:40 +0100 Subject: [PATCH] Added diagnostics to test_logging, after reverting last change. --- Lib/test/test_logging.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index 93cf669ef0b..f78b366a792 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -3502,7 +3502,6 @@ class TimedRotatingFileHandlerTest(BaseFileTest): fh = logging.handlers.TimedRotatingFileHandler(self.fn, 'S', backupCount=1) r = logging.makeLogRecord({'msg': 'testing'}) - start = datetime.datetime.now() fh.emit(r) self.assertLogFile(self.fn) time.sleep(1.0) @@ -3511,21 +3510,25 @@ class TimedRotatingFileHandlerTest(BaseFileTest): # 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 as far as - # when the test started, and stop as soon as we see a rotated file. + # 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() - secs = 1 - prev = now - datetime.timedelta(seconds=secs) - while prev > start: + GO_BACK = 2 * 60 # seconds + for secs in range(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 - secs += 1 - prev -= datetime.timedelta(seconds=1) - msg = 'No rotated files found, went back %d seconds' % secs + msg = 'No rotated files found, went back %d seconds' % GO_BACK + if not found: + #print additional diagnostics + dn = os.path.dirname(self.fn) + files = [f for f in os.listdir(dn) if f.startswith(self.fn)] + print('The only matching files are: %s' % files) self.assertTrue(found, msg=msg) def test_invalid(self):