X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/bf090e021a5c20da452a4841cdfb8eb78e29544e..ed00691544c3b6d4ad15b1c7ef975964ea72b0b6:/src/sod-test.asd diff --git a/src/sod-test.asd b/src/sod-test.asd index b8646a3..b3024dc 100644 --- a/src/sod-test.asd +++ b/src/sod-test.asd @@ -51,27 +51,25 @@ ;; Test the parser edifice. (:module "parser" :depends-on ("test-base") :components - ((:file "test-parser") - (:file "test-scanner-charbuf"))) + ((:file "parser-test") + (:file "scanner-charbuf-test"))) ;; The actual tests. - (:file "test-c-types" :depends-on ("test-base")) - (:file "test-codegen" :depends-on ("test-base")) - (:file "test-lexer" :depends-on ("test-base")))) + (:file "c-types-test" :depends-on ("test-base")) + (:file "codegen-test" :depends-on ("test-base")) + (:file "lexer-test" :depends-on ("test-base")))) ;;;-------------------------------------------------------------------------- ;;; Testing. (defmethod perform ((op test-op) (system (eql (find-system "sod-test")))) - (operate 'load-op system) - (funcall (find-symbol "RUN-TESTS" "SOD-TEST"))) - -;;;-------------------------------------------------------------------------- -;;; Hacks. - -(defmethod perform :around - ((op compile-op) (component (eql (find-system "sod-test")))) - (let ((*compile-file-failure-behaviour* :warn)) - (call-next-method))) + (handler-bind (((or warning style-warning) + (lambda (cond) + (declare (ignore cond)) + (invoke-restart 'muffle-warning)))) + (operate 'load-op system) + (let ((result (funcall (find-symbol "RUN-TESTS" "SOD-TEST")))) + (unless (funcall (find-symbol "WAS-SUCCESSFUL" "XLUNIT") result) + (error "Failed test"))))) ;;;----- That's all, folks --------------------------------------------------