def test_use_config_file(loop): with new_config_file(tls_only_config()): with popen(['dask-scheduler', '--no-bokeh', '--host', 'tls://']) as s: with popen(['dask-worker', '--no-bokeh', 'tls://127.0.0.1:8786']) as w: with Client('tls://127.0.0.1:8786', loop=loop, security=tls_security()) as c: wait_for_cores(c)
def test_logging_extended(): """ Test extended ("new-style") logging configuration. """ c = { "logging": { "version": "1", "formatters": { "simple": {"format": "%(levelname)s: %(name)s: %(message)s"} }, "handlers": { "console": { "class": "logging.StreamHandler", "stream": "ext://sys.stderr", "formatter": "simple", } }, "loggers": { "distributed.foo": { "level": "INFO", #'handlers': ['console'], }, "distributed.foo.bar": { "level": "ERROR", #'handlers': ['console'], }, }, "root": {"level": "WARNING", "handlers": ["console"]}, } } # Must test using a subprocess to avoid wrecking pre-existing configuration with new_config_file(c): code = """if 1: import logging from distributed.utils_test import captured_handler root = logging.getLogger() d = logging.getLogger('distributed') df = logging.getLogger('distributed.foo') dfb = logging.getLogger('distributed.foo.bar') with captured_handler(root.handlers[0]) as root_log: df.info("1: info") dfb.warning("2: warning") dfb.error("3: error") d.info("4: info") d.warning("5: warning") root_log = root_log.getvalue().splitlines() print(root_log) assert root_log == [ "INFO: distributed.foo: 1: info", "ERROR: distributed.foo.bar: 3: error", "WARNING: distributed: 5: warning", ] """ subprocess.check_call([sys.executable, "-c", code])
def test_logging_simple(): """ Test simple ("old-style") logging configuration. """ c = {"logging": {"distributed.foo": "info", "distributed.foo.bar": "error"}} # Must test using a subprocess to avoid wrecking pre-existing configuration with new_config_file(c): code = """if 1: import logging import dask from distributed.utils_test import captured_handler d = logging.getLogger('distributed') assert len(d.handlers) == 1 assert isinstance(d.handlers[0], logging.StreamHandler) df = logging.getLogger('distributed.foo') dfb = logging.getLogger('distributed.foo.bar') with captured_handler(d.handlers[0]) as distributed_log: df.info("1: info") dfb.warning("2: warning") dfb.error("3: error") distributed_log = distributed_log.getvalue().splitlines() assert distributed_log == [ "distributed.foo - INFO - 1: info", "distributed.foo.bar - ERROR - 3: error", ], (dask.config.config, distributed_log) """ subprocess.check_call([sys.executable, "-c", code])
def test_use_config_file(loop): with new_config_file(tls_only_config()): with popen(["dask-scheduler", "--no-dashboard", "--host", "tls://"]) as s: with popen(["dask-worker", "--no-dashboard", "tls://127.0.0.1:8786"]) as w: with Client( "tls://127.0.0.1:8786", loop=loop, security=tls_security() ) as c: wait_for_cores(c)
def test_logging_file_config(): """ Test `logging-file-config` logging configuration """ logging_config_contents = """ [handlers] keys=console [formatters] keys=simple [loggers] keys=root, foo, foo_bar [handler_console] class=StreamHandler level=INFO formatter=simple args=(sys.stdout,) [formatter_simple] format=%(levelname)s: %(name)s: %(message)s [logger_root] level=WARNING handlers=console [logger_foo] level=INFO handlers=console qualname=foo [logger_foo_bar] level=ERROR handlers=console qualname=foo.bar """ with tempfile.NamedTemporaryFile(mode='w', delete=False) as logging_config: logging_config.write(logging_config_contents) dask_config = {'logging-file-config': logging_config.name} with new_config_file(dask_config): code = """if 1: import logging from distributed import config foo = logging.getLogger('foo') bar = logging.getLogger('foo.bar') assert logging.INFO == foo.getEffectiveLevel() assert logging.ERROR == bar.getEffectiveLevel() """ subprocess.check_call([sys.executable, "-c", code]) os.remove(logging_config.name)
def test_logging_simple(): """ Test simple ("old-style") logging configuration. """ c = { 'logging': { 'distributed.foo': 'info', 'distributed.foo.bar': 'error', } } # Must test using a subprocess to avoid wrecking pre-existing configuration with new_config_file(c): code = """if 1: import logging import dask from distributed.utils_test import captured_handler d = logging.getLogger('distributed') assert len(d.handlers) == 1 assert isinstance(d.handlers[0], logging.StreamHandler) df = logging.getLogger('distributed.foo') dfb = logging.getLogger('distributed.foo.bar') with captured_handler(d.handlers[0]) as distributed_log: df.info("1: info") dfb.warning("2: warning") dfb.error("3: error") distributed_log = distributed_log.getvalue().splitlines() assert distributed_log == [ "distributed.foo - INFO - 1: info", "distributed.foo.bar - ERROR - 3: error", ], (dask.config.config, distributed_log) """ subprocess.check_call([sys.executable, "-c", code])
def test_logging_extended(): """ Test extended ("new-style") logging configuration. """ c = { 'logging': { 'version': '1', 'formatters': { 'simple': { 'format': '%(levelname)s: %(name)s: %(message)s', }, }, 'handlers': { 'console': { 'class': 'logging.StreamHandler', 'stream': 'ext://sys.stderr', 'formatter': 'simple', }, }, 'loggers': { 'distributed.foo': { 'level': 'INFO', #'handlers': ['console'], }, 'distributed.foo.bar': { 'level': 'ERROR', #'handlers': ['console'], }, }, 'root': { 'level': 'WARNING', 'handlers': ['console'], }, }, } # Must test using a subprocess to avoid wrecking pre-existing configuration with new_config_file(c): code = """if 1: import logging from distributed.utils_test import captured_handler root = logging.getLogger() d = logging.getLogger('distributed') df = logging.getLogger('distributed.foo') dfb = logging.getLogger('distributed.foo.bar') with captured_handler(root.handlers[0]) as root_log: df.info("1: info") dfb.warning("2: warning") dfb.error("3: error") d.info("4: info") d.warning("5: warning") root_log = root_log.getvalue().splitlines() print(root_log) assert root_log == [ "INFO: distributed.foo: 1: info", "ERROR: distributed.foo.bar: 3: error", "WARNING: distributed: 5: warning", ] """ subprocess.check_call([sys.executable, "-c", code])