diff options
author | Alexander Batischev <eual.jp@gmail.com> | 2021-07-27 21:47:37 +0300 |
---|---|---|
committer | Alexander Batischev <eual.jp@gmail.com> | 2021-07-31 17:27:06 +0300 |
commit | 9f8e448153b9b35a36063c5a2a659c139ff0e31d (patch) | |
tree | 2a9ff556764494a80c3c4ff02031bca23e522a1a /subplot | |
parent | 4c6206a2cb1f8c1efba9fd08a4d6b4fa7d09a6dc (diff) | |
download | obnam2-9f8e448153b9b35a36063c5a2a659c139ff0e31d.tar.gz |
feat: configure log verbosity with OBNAM_SERVER_LOG envvar
Fixes #117.
Diffstat (limited to 'subplot')
-rw-r--r-- | subplot/server.py | 30 | ||||
-rw-r--r-- | subplot/server.yaml | 10 |
2 files changed, 37 insertions, 3 deletions
diff --git a/subplot/server.py b/subplot/server.py index cfe91ab..52ad8f4 100644 --- a/subplot/server.py +++ b/subplot/server.py @@ -12,7 +12,7 @@ import yaml urllib3.disable_warnings() -def start_chunk_server(ctx): +def start_chunk_server(ctx, env=None): daemon_start_on_port = globals()["daemon_start_on_port"] srcdir = globals()["srcdir"] @@ -44,11 +44,12 @@ def start_chunk_server(ctx): ctx["server_url"] = f"https://{config['address']}" daemon_start_on_port( - ctx, name="obnam-server", path=server_binary, args=filename, port=port + ctx, name="obnam-server", path=server_binary, args=filename, port=port, + env=env ) -def stop_chunk_server(ctx): +def stop_chunk_server(ctx, env=None): logging.debug("Stopping obnam-server") daemon_stop = globals()["daemon_stop"] daemon_stop(ctx, name="obnam-server") @@ -145,6 +146,16 @@ def server_has_n_chunks(ctx, n=None): assert_eq(n, len(files)) +def server_stderr_contains(ctx, wanted=None): + assert_eq = globals()["assert_eq"] + assert_eq(_server_stderr_contains(ctx, wanted), True) + + +def server_stderr_doesnt_contain(ctx, wanted=None): + assert_eq = globals()["assert_eq"] + assert_eq(_server_stderr_contains(ctx, wanted), False) + + def find_files(root): for dirname, _, names in os.walk(root): for name in names: @@ -190,3 +201,16 @@ def _expand_vars(ctx, s): result.append(value) s = s[m.end() :] return "".join(result) + +def _server_stderr_contains(ctx, wanted): + daemon_get_stderr = globals()["daemon_get_stderr"] + + wanted = _expand_vars(ctx, wanted) + + stderr = daemon_get_stderr(ctx, "obnam-server") + + logging.debug(f"_server_stderr_contains:") + logging.debug(f" wanted: {wanted}") + logging.debug(f" stderr: {stderr}") + + return wanted in stderr diff --git a/subplot/server.yaml b/subplot/server.yaml index 5b8a242..fad749a 100644 --- a/subplot/server.yaml +++ b/subplot/server.yaml @@ -2,6 +2,10 @@ function: start_chunk_server cleanup: stop_chunk_server +- given: "a running chunk server with environment {env:text}" + function: start_chunk_server + cleanup: stop_chunk_server + - when: "the chunk server is stopped" function: stop_chunk_server @@ -46,3 +50,9 @@ - then: "server has {n:int} chunks" function: server_has_n_chunks + +- then: chunk server's stderr contains "{wanted:text}" + function: server_stderr_contains + +- then: chunk server's stderr doesn't contain "{wanted:text}" + function: server_stderr_doesnt_contain |