X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Ffilesys.pure.lisp;h=00382ab3e92b83c75233de2bc585b34542141dbe;hb=a189a69454ef7635149319ae213b337f17c50d20;hp=554fa071d0bc1fbe8812b1c4d3e4f47188d0c2b1;hpb=f7c047cafd84b556398014c4932c90dba55a5c0d;p=sbcl.git diff --git a/tests/filesys.pure.lisp b/tests/filesys.pure.lisp index 554fa07..00382ab 100644 --- a/tests/filesys.pure.lisp +++ b/tests/filesys.pure.lisp @@ -201,11 +201,12 @@ ;;; (: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))) @@ -221,4 +222,31 @@ (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))))) + +(with-test (:name :open-new-version) + (multiple-value-bind (value error) + (ignore-errors (open #.(or *compile-file-truename* *load-truename*) + :direction :output + :if-exists :new-version)) + (assert (not value)) + (assert error) + (assert (equal (simple-condition-format-control error) + "OPEN :IF-EXISTS :NEW-VERSION is not supported ~ + when a new version must be created."))))