Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
asdf
asdf
Commits
cd16a497
Commit
cd16a497
authored
Apr 15, 2010
by
Francois-Rene Rideau
Browse files
Merge branch 'master' of
http://common-lisp.net/project/asdf/asdf
parents
3a1b88bb
9fcec4c2
Changes
2
Hide whitespace changes
Inline
Side-by-side
test/test-missing-lisp-file.asd
0 → 100644
View file @
cd16a497
;;; -*- Lisp -*-
(
asdf:defsystem
test-missing-lisp-file
:components
((
:file
"file2"
:in-order-to
((
compile-op
(
load-op
"fileMissing"
))))
(
:file
"fileMissing"
)))
test/test-missing-lisp-file.script
0 → 100644
View file @
cd16a497
;;; -*- Lisp -*-
;;;---------------------------------------------------------------------------
;;; This is supposed to verify that if a lisp file is lost, then any attempt to
;;; make the system will fail. I.e., we verify that we won't just load a stale
;;; fasl when the source file is lost.
;;;---------------------------------------------------------------------------
(load "script-support")
(load-asdf)
(quit-on-error
(setf asdf:*central-registry* '(*default-pathname-defaults*))
(let ((missing-name (namestring
(make-pathname :name "fileMissing"
:type "lisp"
:defaults
*default-pathname-defaults*)))
(template-file (namestring
(make-pathname :name "file1"
:type "lisp"
:defaults
*default-pathname-defaults*))))
(asdf::run-shell-command
(format nil "cp ~a ~a" template-file missing-name))
(unless (probe-file missing-name)
(format t "File copy failed.~%"))
(asdf:operate 'asdf:load-op 'test-missing-lisp-file)
;; test that it compiled
(let* ((file1 (asdf:compile-file-pathname* "file2"))
(file2 (asdf:compile-file-pathname* "fileMissing"))
(file1-date (file-write-date file1)))
(assert file1-date)
(assert (file-write-date file2))
;; and loaded
(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))
;; we shouldn't be able to find the input-file for the compile-op, and that
;; should be an error.
(multiple-value-bind (retval err)
(ignore-errors
(asdf:operate 'asdf:load-op 'test-missing-lisp-file))
(assert err)))))
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment