diff --git a/test/test-system-pathnames.asd b/test/test-system-pathnames.asd new file mode 100644 index 0000000000000000000000000000000000000000..37f6973e33fcb2d3c21d1d349ab6deca7db4dbf0 --- /dev/null +++ b/test/test-system-pathnames.asd @@ -0,0 +1,9 @@ +;;; -*- Lisp -*- + +(defsystem :test-system-pathnames + :pathname "sources/level1/" + :components + ((:file "file1") + (:file "file2" :pathname "level2/file2") + (:static-file "level2/static.file") + (:static-file "test-tmp.cl"))) diff --git a/test/test-system-pathnames.script b/test/test-system-pathnames.script new file mode 100644 index 0000000000000000000000000000000000000000..9d2355fa57246cd85bdd537f18df75429af64d64 --- /dev/null +++ b/test/test-system-pathnames.script @@ -0,0 +1,57 @@ +;;; -*- Lisp -*- +(load "script-support") +(load-asdf) + +(quit-on-error + (setf asdf:*central-registry* '(*default-pathname-defaults*)) + (trace asdf:perform) + (asdf:load-system 'test-system-pathnames) + (flet ((submodule (module name) + (find name (asdf:module-components module) + :key #'asdf:component-name :test #'equal)) + (pathname-foo (x) + (list (pathname-directory x) (pathname-name x) (pathname-type x)))) + (let* ((system (asdf:find-system "test-module-pathnames")) + (level1 (submodule system "sources/level1")) + (static (submodule level1 "level2/static.file")) + (test-tmp (submodule level1 "test-tmp.cl"))) + (assert (member (pathname-foo (asdf:component-relative-pathname test-tmp)) + '(((:relative) "test-tmp" "cl") + (nil "test-tmp" "cl")) :test 'equal) + () "Didn't get the name of test-tmp.cl right") + (assert (equal + (pathname-foo (asdf:component-relative-pathname static)) + '((:relative "level2") "static" "file")) + () "Didn't get the name of static.file right"))) + (assert (find-package :test-package) + () "package test-package not found") + (assert (find-symbol (symbol-name '*file-tmp*) :test-package) + () "symbol `*file-tmp*` not found") + (assert (symbol-value (find-symbol (symbol-name '*file-tmp*) :test-package)) + () "symbol `*file-tmp*` has wrong value") + +#| ; must be adapted to ABL + (assert (probe-file (merge-pathnames + (make-pathname + :name "file1" + :type (pathname-type (compile-file-pathname "x")) + :directory '(:relative "sources" "level1")))) + nil "compiled file not found") +|# + + (assert (find-symbol (symbol-name '*file-tmp2*) :test-package) nil + "symbol `*file-tmp2*` not found") + (assert (symbol-value (find-symbol (symbol-name '*file-tmp2*) :test-package)) + nil "symbol `*file-tmp2*` has wrong value") + +#| ; must be adapted to ABL + + (assert (probe-file (merge-pathnames + (make-pathname + :name "file2" + :type (pathname-type (compile-file-pathname "x")) + :directory '(:relative "sources" "level1" "level2")))) + nil "compiled file not found") +|# + +)