@@ -1451,6 +1451,49 @@ def test_logger_disabling(self): |
|
|
1451 |
1451 |
self.apply_config(self.disable_test, disable_existing_loggers=False) |
1452 |
1452 |
self.assertFalse(logger.disabled) |
1453 |
1453 |
|
|
1454 |
+def test_defaults_do_no_interpolation(self): |
|
1455 |
+"""bpo-33802 defaults should not get interpolated""" |
|
1456 |
+ini = textwrap.dedent(""" |
|
1457 |
+ [formatters] |
|
1458 |
+ keys=default |
|
1459 |
+ |
|
1460 |
+ [formatter_default] |
|
1461 |
+ |
|
1462 |
+ [handlers] |
|
1463 |
+ keys=console |
|
1464 |
+ |
|
1465 |
+ [handler_console] |
|
1466 |
+ class=logging.StreamHandler |
|
1467 |
+ args=tuple() |
|
1468 |
+ |
|
1469 |
+ [loggers] |
|
1470 |
+ keys=root |
|
1471 |
+ |
|
1472 |
+ [logger_root] |
|
1473 |
+ formatter=default |
|
1474 |
+ handlers=console |
|
1475 |
+ """).strip() |
|
1476 |
+fd, fn = tempfile.mkstemp(prefix='test_logging_', suffix='.ini') |
|
1477 |
+try: |
|
1478 |
+os.write(fd, ini.encode('ascii')) |
|
1479 |
+os.close(fd) |
|
1480 |
+logging.config.fileConfig( |
|
1481 |
+fn, |
|
1482 |
+defaults=dict( |
|
1483 |
+version=1, |
|
1484 |
+disable_existing_loggers=False, |
|
1485 |
+formatters={ |
|
1486 |
+"generic": { |
|
1487 |
+"format": "%(asctime)s [%(process)d] [%(levelname)s] %(message)s", |
|
1488 |
+"datefmt": "[%Y-%m-%d %H:%M:%S %z]", |
|
1489 |
+"class": "logging.Formatter" |
|
1490 |
+ }, |
|
1491 |
+ }, |
|
1492 |
+ ) |
|
1493 |
+ ) |
|
1494 |
+finally: |
|
1495 |
+os.unlink(fn) |
|
1496 |
+ |
1454 |
1497 |
|
1455 |
1498 |
class SocketHandlerTest(BaseTest): |
1456 |
1499 |
|