From eeac67dc0a7724ef4ca9003b7e734f546e62c0ae Mon Sep 17 00:00:00 2001 From: Antoine Poinsot Date: Wed, 10 Aug 2022 19:04:40 +0200 Subject: [PATCH] qa: shut down the daemon via the JSONRPC interface at teardown --- src/jsonrpc/server.rs | 1 + tests/test_framework/minisafed.py | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/src/jsonrpc/server.rs b/src/jsonrpc/server.rs index b94d7150..4100f990 100644 --- a/src/jsonrpc/server.rs +++ b/src/jsonrpc/server.rs @@ -101,6 +101,7 @@ fn connection_handler( let req_id = req.id.clone(); if &req.method == "stop" { shutdown.store(true, atomic::Ordering::Relaxed); + log::info!("Stopping the minisafe daemon."); } log::trace!("JSONRPC request: {:?}", serde_json::to_string(&req)); diff --git a/tests/test_framework/minisafed.py b/tests/test_framework/minisafed.py index 7e365746..05e36658 100644 --- a/tests/test_framework/minisafed.py +++ b/tests/test_framework/minisafed.py @@ -1,3 +1,4 @@ +import logging import os from test_framework.utils import ( @@ -52,6 +53,14 @@ class Minisafed(TailableProc): ) def stop(self, timeout=5): + try: + self.rpc.stop() + self.wait_for_log( + "Stopping the minisafe daemon.", + ) + self.proc.wait(timeout) + except Exception as e: + logging.error(f"{self.prefix} : error when calling stop: '{e}'") return TailableProc.stop(self) def cleanup(self):