(load "~/quicklisp/setup.lisp") (ql:register-local-projects) (ql:quickload :cl-tty :silent t) ;; Load all test files (dolist (f '("backend/tests.lisp" "backend/modern-tests.lisp" "layout/tests.lisp" "src/components/box-tests.lisp" "src/components/dirty-tests.lisp" "src/components/render-tests.lisp" "src/components/theme-tests.lisp" "src/components/input-tests.lisp" "tests/scrollbox-tabbar-tests.lisp" "tests/select-tests.lisp" "tests/markdown-tests.lisp" "tests/dialog-tests.lisp" "tests/mouse-tests.lisp" "tests/slot-tests.lisp")) (load f)) ;; Run all test suites (dolist (suite '((:cl-tty-backend-test "BACKEND-SUITE") (:cl-tty-box-test "BOX-SUITE") (:cl-tty-input-test "INPUT-SUITE") (:cl-tty-scrollbox-test "SCROLLBOX-SUITE") (:cl-tty-select-test "SELECT-SUITE") (:cl-tty-markdown-test :cl-tty-markdown-test) (:cl-tty-dialog-test "DIALOG-SUITE") (:cl-tty-mouse-test "MOUSE-SUITE") (:cl-tty-slot-test "SLOT-SUITE"))) (let* ((pkg (find-package (first suite))) (suite-name (second suite)) (s (etypecase suite-name (keyword (find-symbol (string suite-name) pkg)) (string (find-symbol suite-name pkg))))) (format t "~&=== ~a ===~%" (first suite)) (if s (fiveam:explain! (fiveam:run s)) (format t "Suite not found~%")))) (uiop:quit 0)