diff --git a/test/test-encodings.script b/test/test-encodings.script index cd975c10db622c42d8c39450b00ce45634c3ae38..79e8ed6a032420bfb1309a71dfe69c4d61814e51 100644 --- a/test/test-encodings.script +++ b/test/test-encodings.script @@ -43,7 +43,9 @@ (defsystem :test-encoding-explicit-u8 :components ((:file "lambda" :encoding :utf-8)))) - #+(and asdf-unicode (or clozure sbcl)) + ;; NB: recent clozure can autodetect without asdf-encodings with :default (!) + + #+(and asdf-unicode sbcl) (progn #+clozure (setf ccl:*default-external-format* :latin3) #+sbcl (setf sb-impl::*default-external-format* :latin-3) diff --git a/test/test-force.script b/test/test-force.script index 7f12c5f5ec0834e7c1638aa38faa664eaa4ce25f..50f18c4e97724becc59cfe363f958705bf384262 100644 --- a/test/test-force.script +++ b/test/test-force.script @@ -15,8 +15,8 @@ (assert file1-date) ;; unforced, date should stay same - (touch-file "file1.lisp" date1) - (touch-file file1 date2) + (touch-file "file1.lisp" :timestamp date1) + (touch-file file1 :timestamp date2) (asdf:operate 'asdf:load-op 'test-force) (assert (equal (file-write-date file1) date2)) diff --git a/test/test-missing-lisp-file.asd b/test/test-missing-lisp-file.asd deleted file mode 100644 index 605b4fcf443f5b48a34bcb8412ed920230f7fade..0000000000000000000000000000000000000000 --- a/test/test-missing-lisp-file.asd +++ /dev/null @@ -1,5 +0,0 @@ -;;; -*- Lisp -*- -(asdf:defsystem test-missing-lisp-file - :components ((:file "file2" :in-order-to ((compile-op (load-op "fileMissing")) - (load-op (load-op "fileMissing")))) - (:file "fileMissing"))) diff --git a/test/test-missing-lisp-file.script b/test/test-missing-lisp-file.script index ea4e48f9ff7592253dc037673867eee80a85deaf..41067190d07e987e26f46773fc0e5a69adc08428 100644 --- a/test/test-missing-lisp-file.script +++ b/test/test-missing-lisp-file.script @@ -10,7 +10,10 @@ (load-asdf) (quit-on-error - (setf asdf:*central-registry* '(*default-pathname-defaults*)) + (asdf:defsystem test-missing-lisp-file + :components ((:file "file2" :in-order-to ((compile-op (load-op "fileMissing")) + (load-op (load-op "fileMissing")))) + (:file "fileMissing"))) (let ((missing-name (namestring (make-pathname :name "fileMissing" :type "lisp" @@ -21,8 +24,7 @@ :type "lisp" :defaults *default-pathname-defaults*)))) - (asdf::run-shell-command - (format nil "cp ~a ~a" template-file missing-name)) + (asdf::concatenate-files (list template-file) missing-name) (unless (probe-file missing-name) (format t "File copy failed.~%")) (asdf:operate 'asdf:load-op 'test-missing-lisp-file) @@ -38,9 +40,8 @@ (assert (symbol-value (find-symbol (symbol-name :*file1*) :test-package))) ;; now remove the lisp file we created, and wait for an error - (sleep 1) ; mtime has 1-second granularity, so pause here for fast machines - (asdf::run-shell-command (format nil "rm -f ~A" missing-name)) + (asdf::delete-file-if-exists missing-name) ;; we shouldn't be able to find the input-file for the compile-op, and that ;; should be an error. (let ((err (nth-value 1 (ignore-errors (asdf:operate 'asdf:load-op 'test-missing-lisp-file))))) diff --git a/test/test-static-and-serial.script b/test/test-static-and-serial.script index a362bcd52be9ea110f69c9f1c128f11958e14866..97d7221e6b43a993ebfd70cede97a7aa28d8cb82 100644 --- a/test/test-static-and-serial.script +++ b/test/test-static-and-serial.script @@ -23,8 +23,8 @@ ;; date should stay same (asdf:clear-system 'static-and-serial) - (touch-file "file2.lisp" date1) - (touch-file "file1.lisp" date2) - (touch-file file1 date3) + (touch-file "file2.lisp" :timestamp date1) + (touch-file "file1.lisp" :timestamp date2) + (touch-file file1 :timestamp date3) (asdf:operate 'asdf:load-op 'static-and-serial) (assert (equal (file-write-date file1) date3)))) diff --git a/test/test-touch-system-1.script b/test/test-touch-system-1.script index 70d5b490eac7e68e2255c3e509c87c836e1380e0..518f16a3855466b4711d446235270251e6974502 100644 --- a/test/test-touch-system-1.script +++ b/test/test-touch-system-1.script @@ -10,17 +10,20 @@ (let ((data (asdf::system-registered-p name))) (when data (car data))))) - (setf asdf:*central-registry* '(*default-pathname-defaults*)) - (asdf:find-system :test1) - (let ((date1 (system-load-time :test1)) - (file (namestring (merge-pathnames "test1.asd")))) - (assert date1) - (assert file) - (sleep 1) - (touch-file file) + (let* ((file "test1.asd") + (date1 (file-write-date file)) + (date2 (- date1 600)) + (date3 (- date1 300))) + (touch-file file :timestamp date2) (asdf:find-system :test1) - (let ((date2 (system-load-time :test1))) - (print (list date1 date2)) - (assert date2) - (assert (> date2 date1)))))) - + (let ((date4 (file-write-date (asdf::compile-file-pathname* "file1.lisp"))) + (date5 (system-load-time :test1))) + (DBG :blah date2 date3 date4 date5) + (assert-equal date2 date5) + (assert (>= date4 date3)) + (sleep 1) + (touch-file file) + (asdf:find-system :test1) + (let ((date6 (system-load-time :test1))) + (assert (> date6 date4))))))) + \ No newline at end of file diff --git a/test/test1.script b/test/test1.script index 9cdf96e00a99d32349aaf7f7f5242409b56eb64d..6a8b8199832bbdf532abec7bad6a0d3e376c50a2 100644 --- a/test/test1.script +++ b/test/test1.script @@ -10,24 +10,27 @@ (let* ((file1 (asdf:compile-file-pathname* "file1")) (file2 (asdf:compile-file-pathname* "file2")) (file1-date (file-write-date file1)) - (file2-date (file-write-date file2))) + (file2-date (file-write-date file1))) (DBG "test that it compiled" file1 file1-date) (assert file1-date) (assert file2-date) + (touch-file file1 :timestamp (- file1-date 200)) + (touch-file file2 :timestamp (- file1-date 100)) (DBG "and loaded") (assert (symbol-value (find-symbol (symbol-name :*file1*) :test-package))) (DBG "now remove file2 that depends-on file1" file1-date (- file1-date 120)) - (touch-file file1 :timestamp (- file1-date 120)) ;; move file1.fasl two minutes ago. - (assert-equal (- file1-date 120) (file-write-date file1)) + (touch-file file1 :timestamp (- file1-date 150)) ;; move file1.fasl two minutes ago. + (assert-equal (- file1-date 150) (file-write-date file1)) (asdf::delete-file-if-exists file2) + (DBG "load again") (asdf:clear-system 'test1) (asdf:load-system 'test1) (DBG "check that file1 is _not_ recompiled, but file2 is" (file-write-date file1)) - (assert-equal (- file1-date 120) (file-write-date file1)) + (assert-equal (- file1-date 150) (file-write-date file1)) (assert (<= file2-date (file-write-date file2))) (DBG "now touch file1 and check that file2 _is_ also recompiled")