diff options
author | Julian Graham <julian.graham@aya.yale.edu> | 2010-03-21 19:26:48 -0400 |
---|---|---|
committer | Julian Graham <julian.graham@aya.yale.edu> | 2010-05-20 21:18:03 -0400 |
commit | 0113507eee0cc8e6250958470ab4b21f32c42bcd (patch) | |
tree | d8fe397f57466f5cbec09e854f88d476195b9341 /test-suite/tests/r6rs-files.test | |
parent | 805b4179bfe44506e6dcd3e62c6868659ffdafb6 (diff) | |
download | guile-0113507eee0cc8e6250958470ab4b21f32c42bcd.tar.gz |
Implementation and test cases for R6RS (rnrs files) library.
* module/Makefile.am: Add rnrs/6/files.scm to RNRS_SOURCES.
* module/rnrs/6/conditions.scm (define-condition-type): Use specified
accessor name to create accessor binding. Add internally-visible
&i/o-* condition types.
* module/rnrs/6/files.scm: New file.
* module/rnrs/io/6/simple.scm: Export &i/o-* condition types clandestinely
imported from (rnrs conditions).
* test-suite/Makefile.am: Add tests/r6rs-files.test to SCM_TESTS.
* test-suite/test/r6rs-files.test: New file.
Diffstat (limited to 'test-suite/tests/r6rs-files.test')
-rw-r--r-- | test-suite/tests/r6rs-files.test | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test-suite/tests/r6rs-files.test b/test-suite/tests/r6rs-files.test new file mode 100644 index 000000000..df5dd22e2 --- /dev/null +++ b/test-suite/tests/r6rs-files.test @@ -0,0 +1,40 @@ +;;; r6rs-files.test --- Test suite for R6RS (rnrs unicode) + +;; Copyright (C) 2010 Free Software Foundation, Inc. +;; +;; This library is free software; you can redistribute it and/or +;; modify it under the terms of the GNU Lesser General Public +;; License as published by the Free Software Foundation; either +;; version 3 of the License, or (at your option) any later version. +;; +;; This library is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; Lesser General Public License for more details. +;; +;; You should have received a copy of the GNU Lesser General Public +;; License along with this library; if not, write to the Free Software +;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + +(define-module (test-suite test-rnrs-files) + :use-module ((rnrs exceptions) :version (6)) + :use-module ((rnrs files) :version (6)) + :use-module (test-suite lib)) + +(with-test-prefix "delete-file" + (pass-if "delete-file deletes file" + (let ((filename (port-filename (mkstemp! "T-XXXXXX")))) + (delete-file filename) + (not (file-exists? filename)))) + + (pass-if "delete-file raises &i/o-filename on error" + (let ((success #f)) + (call/cc + (lambda (continuation) + (with-exception-handler + (lambda (condition) + (set! success (i/o-filename-error? condition)) + (continuation)) + (lambda () (delete-file ""))))) + success))) |