From 10948ef009c20c8f36ec173d5abfbc071a7e3d11 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Tue, 25 Jun 2024 18:41:56 +0200 Subject: [PATCH] web/server: stop server via shutdown, using unwind-protect --- test/test-web.lisp | 20 +++++++++++--------- web/server.lisp | 1 + 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/test/test-web.lisp b/test/test-web.lisp index 794a754..13642dc 100644 --- a/test/test-web.lisp +++ b/test/test-web.lisp @@ -19,15 +19,17 @@ (let ((t:*test-suite* (t:test-suite "web")) (*config* nil)) (load (t:test-path "config-web" "etc")) - (core:setup-services *config*) - (let ((server (core:find-service :server)) - (client (core:find-service :client))) - (test-server-config server) - (sleep 0.1) - (test-fileserver client) - (test-message client) - (sleep 0.1) - (server:stop (core:find-service :server)) + (unwind-protect + (progn + (core:setup-services *config*) + (let ((server (core:find-service :server)) + (client (core:find-service :client))) + (test-server-config server) + (sleep 0.1) + (test-fileserver client) + (test-message client) + (sleep 0.1))) + (core:shutdown) (t:show-result)))) (deftest test-server-config (server) diff --git a/web/server.lisp b/web/server.lisp index 8a9490c..9b5230a 100644 --- a/web/server.lisp +++ b/web/server.lisp @@ -14,6 +14,7 @@ (defclass config (config:base) ((config:env-slots :initform '(address port)) (config:setup :initform #'setup) + (config:shutdown :initform #'stop) (address :reader address :initarg :address :initform "localhost") (port :reader port :initarg :port :initform "8888") (routes :reader routes :initarg :routes :initform nil)))