diff options
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | rva.asd | 27 | ||||
-rw-r--r-- | src/lex.lisp | 6 | ||||
-rw-r--r-- | src/main.lisp (renamed from src/rva.lisp) | 5 | ||||
-rw-r--r-- | src/package.lisp | 7 | ||||
-rw-r--r-- | t/main.lisp | 14 | ||||
-rw-r--r-- | t/package.lisp | 5 |
8 files changed, 57 insertions, 14 deletions
@@ -12,5 +12,11 @@ all: run: @ ./bin/$(BIN) +test: + $(LISP) --non-interactive \ + --eval '(require "asdf")' \ + --eval '(asdf:load-asd (merge-pathnames "rva.asd" (uiop:getcwd)))' \ + --eval '(asdf:test-system :rva/tests)' + clean: rm -f ./bin/$(BIN) @@ -4,6 +4,7 @@ - SBCL - ASDF +- fiveam ## To compile @@ -1,21 +1,38 @@ -(defsystem "rva" +#.(unless (or #+asdf3.1 (version<= "3.1" (asdf-version))) + (error "You need ASDF >= 3.1 to load this system correctly.")) + +(asdf:defsystem #:rva ;; :author "" ;; :license "" :version "0.1" :homepage "https://github.com/bdunahu/rva" + :description "Assembler for the RISC-V[ECTOR] mini-ISA." :source-control (:git "git@github.com:bdunahu/rva.git") :depends-on ("uiop") :components ((:module "src" - :serial t - :components ((:file "lex") - (:file "rva")))) + :serial t + :components ((:file "package") + (:file "lex") + (:file "main")))) :long-description #.(uiop:read-file-string (uiop:subpathname *load-pathname* "README.md")) :in-order-to ((test-op (test-op "rva/tests"))) :build-operation "program-op" :build-pathname "bin/rva" - :entry-point "rva::main") + :entry-point "rva:main") + +(asdf:defsystem #:rva/tests + ;; :author "" + ;; :license "" + :description "rva's test suite" + :depends-on (:rva + :fiveam) + :components ((:module "t" + :serial t + :components ((:file "package") + (:file "main")))) + :perform (test-op (o s) (uiop:symbol-call :rva-tests :test-rva))) (defmethod asdf:perform ((o asdf:image-op) (c asdf:system)) (uiop:dump-image (asdf:output-file o c) diff --git a/src/lex.lisp b/src/lex.lisp index 2f89bb5..5b9c957 100644 --- a/src/lex.lisp +++ b/src/lex.lisp @@ -1,8 +1,4 @@ -(defpackage :lex - (:use :cl) - (:export :stub)) - -(in-package :lex) +(in-package #:lex) (defun stub () (format t "Hello, world!~%")) diff --git a/src/rva.lisp b/src/main.lisp index 83b0fe1..c22d869 100644 --- a/src/rva.lisp +++ b/src/main.lisp @@ -1,7 +1,4 @@ -(defpackage :rva - (:use :cl)) - -(in-package :rva) +(in-package #:rva) (defparameter *version* "v0.1") diff --git a/src/package.lisp b/src/package.lisp new file mode 100644 index 0000000..cb337b7 --- /dev/null +++ b/src/package.lisp @@ -0,0 +1,7 @@ +(defpackage #:rva + (:use #:cl) + (:export #:main)) + +(defpackage #:lex + (:use #:cl) + (:export #:stub)) diff --git a/t/main.lisp b/t/main.lisp new file mode 100644 index 0000000..11646b3 --- /dev/null +++ b/t/main.lisp @@ -0,0 +1,14 @@ +(in-package #:rva-tests) + +(def-suite all-tests + :description "The master suite of rva tests.") + +(in-suite all-tests) + +(defun test-rva () + (run! 'all-tests)) + +(test dummy-tests + "Just a placeholder." + (is (listp (list 1 2))) + (is (= 5 (+ 2 3)))) diff --git a/t/package.lisp b/t/package.lisp new file mode 100644 index 0000000..3581978 --- /dev/null +++ b/t/package.lisp @@ -0,0 +1,5 @@ +(defpackage #:rva-tests + (:use #:cl #:fiveam) + (:export #:run! + #:test-rva + #:all-tests)) |