summaryrefslogtreecommitdiff
path: root/subplot
diff options
context:
space:
mode:
authorAlexander Batischev <eual.jp@gmail.com>2021-07-27 21:47:37 +0300
committerAlexander Batischev <eual.jp@gmail.com>2021-07-31 17:27:06 +0300
commit9f8e448153b9b35a36063c5a2a659c139ff0e31d (patch)
tree2a9ff556764494a80c3c4ff02031bca23e522a1a /subplot
parent4c6206a2cb1f8c1efba9fd08a4d6b4fa7d09a6dc (diff)
downloadobnam2-9f8e448153b9b35a36063c5a2a659c139ff0e31d.tar.gz
feat: configure log verbosity with OBNAM_SERVER_LOG envvar
Fixes #117.
Diffstat (limited to 'subplot')
-rw-r--r--subplot/server.py30
-rw-r--r--subplot/server.yaml10
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