Fix OPEN with :io and :if-does-not-exist nil.
[sbcl.git] / tests / filesys.pure.lisp
index 554fa07..0dc72a7 100644 (file)
 ;;;                                                    (:error :error))
 ;;;             collect (list 'do-open exist if-exists if-does-not-exist)))
 (with-test (:name :open-never-openning)
-  (flet ((do-open (existing if-exists if-does-not-exist)
+  (flet ((do-open (existing if-exists if-does-not-exist
+                   &optional (direction :output))
            (open (if existing
                      #.(or *compile-file-truename* *load-truename*)
                      "a-really-non-existing-file")
-                 :direction :output
+                 :direction direction
                  :if-exists if-exists :if-does-not-exist if-does-not-exist)))
     (assert (raises-error?
              (do-open nil nil :error)))
              (do-open nil :error :error)))
     (assert (not
              (do-open t nil nil)))
-    (assert (raises-error? (do-open t :error :error)))))
+    (assert (raises-error? (do-open t :error :error)))
+
+    (assert (raises-error?
+             (do-open nil nil :error :io)))
+    (assert (not
+             (do-open nil :error nil :io)))
+    (assert (not
+             (do-open t nil :error :io)))
+    (assert (raises-error?
+             (do-open t :error nil :io)))
+    (assert (not
+             (do-open nil nil nil :io)))
+    (assert (raises-error?
+             (do-open nil :error :error :io)))
+    (assert (not
+             (do-open t nil nil :io)))
+    (assert (raises-error? (do-open t :error :error :io)))))