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)))