| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent de239be commit 1ddd2f9
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -6025,46 +6025,22 @@ def test_rollover(self): | |||
| 6025 | 6025 | print(tf.read()) | |
| 6026 | 6026 | self.assertTrue(found, msg=msg) | |
| 6027 | 6027 | ||
| 6028 | - def test_rollover_at_midnight(self): | ||
| 6029 | - atTime = datetime.datetime.now().time() | ||
| 6030 | - fmt = logging.Formatter('%(asctime)s %(message)s') | ||
| 6031 | - for i in range(3): | ||
| 6032 | - fh = logging.handlers.TimedRotatingFileHandler( | ||
| 6033 | - self.fn, encoding="utf-8", when='MIDNIGHT', atTime=atTime) | ||
| 6034 | - fh.setFormatter(fmt) | ||
| 6035 | - r2 = logging.makeLogRecord({'msg': f'testing1 {i}'}) | ||
| 6036 | - fh.emit(r2) | ||
| 6037 | - fh.close() | ||
| 6038 | - self.assertLogFile(self.fn) | ||
| 6039 | - with open(self.fn, encoding="utf-8") as f: | ||
| 6040 | - for i, line in enumerate(f): | ||
| 6041 | - self.assertIn(f'testing1 {i}', line) | ||
| 6042 | - | ||
| 6043 | - os.utime(self.fn, (time.time() - 1,)*2) | ||
| 6044 | - for i in range(2): | ||
| 6045 | - fh = logging.handlers.TimedRotatingFileHandler( | ||
| 6046 | - self.fn, encoding="utf-8", when='MIDNIGHT', atTime=atTime) | ||
| 6047 | - fh.setFormatter(fmt) | ||
| 6048 | - r2 = logging.makeLogRecord({'msg': f'testing2 {i}'}) | ||
| 6049 | - fh.emit(r2) | ||
| 6050 | - fh.close() | ||
| 6051 | - rolloverDate = datetime.datetime.now() - datetime.timedelta(days=1) | ||
| 6052 | - otherfn = f'{self.fn}.{rolloverDate:%Y-%m-%d}' | ||
| 6053 | - self.assertLogFile(otherfn) | ||
| 6054 | - with open(self.fn, encoding="utf-8") as f: | ||
| 6055 | - for i, line in enumerate(f): | ||
| 6056 | - self.assertIn(f'testing2 {i}', line) | ||
| 6057 | - with open(otherfn, encoding="utf-8") as f: | ||
| 6058 | - for i, line in enumerate(f): | ||
| 6059 | - self.assertIn(f'testing1 {i}', line) | ||
| 6060 | - | ||
| 6061 | - def test_rollover_at_weekday(self): | ||
| 6028 | + def test_rollover_at_midnight(self, weekly=False): | ||
| 6029 | + os_helper.unlink(self.fn) | ||
| 6062 | 6030 | now = datetime.datetime.now() | |
| 6063 | 6031 | atTime = now.time() | |
| 6032 | + if not 0.1 < atTime.microsecond/1e6 < 0.9: | ||
| 6033 | + # The test requires all records to be emitted within | ||
| 6034 | + # the range of the same whole second. | ||
| 6035 | + time.sleep((0.1 - atTime.microsecond/1e6) % 1.0) | ||
| 6036 | + now = datetime.datetime.now() | ||
| 6037 | + atTime = now.time() | ||
| 6038 | + atTime = atTime.replace(microsecond=0) | ||
| 6064 | 6039 | fmt = logging.Formatter('%(asctime)s %(message)s') | |
| 6040 | + when = f'W{now.weekday()}' if weekly else 'MIDNIGHT' | ||
| 6065 | 6041 | for i in range(3): | |
| 6066 | 6042 | fh = logging.handlers.TimedRotatingFileHandler( | |
| 6067 | - self.fn, encoding="utf-8", when=f'W{now.weekday()}', atTime=atTime) | ||
| 6043 | + self.fn, encoding="utf-8", when=when, atTime=atTime) | ||
| 6068 | 6044 | fh.setFormatter(fmt) | |
| 6069 | 6045 | r2 = logging.makeLogRecord({'msg': f'testing1 {i}'}) | |
| 6070 | 6046 | fh.emit(r2) | |
@@ -6074,15 +6050,15 @@ def test_rollover_at_weekday(self): | |||
| 6074 | 6050 | for i, line in enumerate(f): | |
| 6075 | 6051 | self.assertIn(f'testing1 {i}', line) | |
| 6076 | 6052 | ||
| 6077 | - os.utime(self.fn, (time.time() - 1,)*2) | ||
| 6053 | + os.utime(self.fn, (now.timestamp() - 1,)*2) | ||
| 6078 | 6054 | for i in range(2): | |
| 6079 | 6055 | fh = logging.handlers.TimedRotatingFileHandler( | |
| 6080 | - self.fn, encoding="utf-8", when=f'W{now.weekday()}', atTime=atTime) | ||
| 6056 | + self.fn, encoding="utf-8", when=when, atTime=atTime) | ||
| 6081 | 6057 | fh.setFormatter(fmt) | |
| 6082 | 6058 | r2 = logging.makeLogRecord({'msg': f'testing2 {i}'}) | |
| 6083 | 6059 | fh.emit(r2) | |
| 6084 | 6060 | fh.close() | |
| 6085 | - rolloverDate = datetime.datetime.now() - datetime.timedelta(days=7) | ||
| 6061 | + rolloverDate = now - datetime.timedelta(days=7 if weekly else 1) | ||
| 6086 | 6062 | otherfn = f'{self.fn}.{rolloverDate:%Y-%m-%d}' | |
| 6087 | 6063 | self.assertLogFile(otherfn) | |
| 6088 | 6064 | with open(self.fn, encoding="utf-8") as f: | |
@@ -6092,6 +6068,9 @@ def test_rollover_at_weekday(self): | |||
| 6092 | 6068 | for i, line in enumerate(f): | |
| 6093 | 6069 | self.assertIn(f'testing1 {i}', line) | |
| 6094 | 6070 | ||
| 6071 | + def test_rollover_at_weekday(self): | ||
| 6072 | + self.test_rollover_at_midnight(weekly=True) | ||
| 6073 | + | ||
| 6095 | 6074 | def test_invalid(self): | |
| 6096 | 6075 | assertRaises = self.assertRaises | |
| 6097 | 6076 | assertRaises(ValueError, logging.handlers.TimedRotatingFileHandler, | |
| Back | FazBrowse Home | New Git URL |
0 commit comments