aboutsummaryrefslogtreecommitdiffstats
path: root/Lisp/asdf/test/test3.script
diff options
context:
space:
mode:
Diffstat (limited to 'Lisp/asdf/test/test3.script')
-rw-r--r--Lisp/asdf/test/test3.script23
1 files changed, 23 insertions, 0 deletions
diff --git a/Lisp/asdf/test/test3.script b/Lisp/asdf/test/test3.script
new file mode 100644
index 0000000..170d4c5
--- /dev/null
+++ b/Lisp/asdf/test/test3.script
@@ -0,0 +1,23 @@
+;;; -*- Lisp -*-
+#+(or f1 f2)
+ (error "This test cannot run if :f1 or :f2 are on *features*")
+(load "../asdf")
+(asdf:run-shell-command "rm ~A ~A"
+ (namestring (compile-file-pathname "file1"))
+ (namestring (compile-file-pathname "file2")))
+(setf asdf:*central-registry* '(*default-pathname-defaults*))
+(in-package :asdf)
+(handler-case
+ (asdf:oos 'asdf:load-op 'test3)
+ (asdf:missing-dependency (c)
+ (format t "first test failed as expected: - ~%~A~%" c))
+ (:no-error (c) (error "should have failed, oops")))
+(pushnew :f1 *features*)
+(asdf:oos 'asdf:load-op 'test3)
+(assert (probe-file (compile-file-pathname "file1")))
+(assert (not (probe-file (compile-file-pathname "file2"))))
+(run-shell-command "rm ~A" (namestring (compile-file-pathname "file1")))
+(setf *features* (cons :f2 (cdr *features*)))
+(asdf:oos 'asdf:load-op 'test3)
+(assert (probe-file (compile-file-pathname "file2")))
+(assert (not (probe-file (compile-file-pathname "file1"))))