From 7c035009902aad6455ea405eed6f89feef6089fc Mon Sep 17 00:00:00 2001 From: Gary Houston Date: Wed, 4 Aug 1999 19:00:34 +0000 Subject: [PATCH] 1999-08-04 Gary Houston * tests/ports.test: tests for buffered and unbuffered input/output fports with seeking. --- test-suite/ChangeLog | 5 +++++ test-suite/tests/ports.test | 40 +++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/test-suite/ChangeLog b/test-suite/ChangeLog index e37654190..3f964f131 100644 --- a/test-suite/ChangeLog +++ b/test-suite/ChangeLog @@ -1,3 +1,8 @@ +1999-08-04 Gary Houston + + * tests/ports.test: tests for buffered and unbuffered input/output + fports with seeking. + 1999-08-01 Jim Blandy * tests/r4rs.test (SECTION 3 4): Each element of type-matrix diff --git a/test-suite/tests/ports.test b/test-suite/tests/ports.test index 7cc727d00..1f34c9b39 100644 --- a/test-suite/tests/ports.test +++ b/test-suite/tests/ports.test @@ -75,6 +75,46 @@ (equal? string in-string))) (delete-file filename))) +;;; Buffered input/output port with seeking. +(catch-test-errors + (let* ((filename (test-file)) + (port (open-file filename "w+"))) + (display "J'Accuse" port) + (lseek port -1 SEEK_CUR) + (pass-if "file: r/w 1" + (char=? (read-char port) #\e)) + (pass-if "file: r/w 2" + (eof-object? (read-char port))) + (lseek port -1 SEEK_CUR) + (write-char #\x port) + (lseek port 7 SEEK_SET) + (pass-if "file: r/w 3" + (char=? (read-char port) #\x)) + (lseek port -2 SEEK_END) + (pass-if "file: r/w 4" + (char=? (read-char port) #\s)) + (delete-file filename))) + +;;; Unbuffered input/output port with seeking. +(catch-test-errors + (let* ((filename (test-file)) + (port (open-file filename "w+0"))) + (display "J'Accuse" port) + (lseek port -1 SEEK_CUR) + (pass-if "file: ub r/w 1" + (char=? (read-char port) #\e)) + (pass-if "file: ub r/w 2" + (eof-object? (read-char port))) + (lseek port -1 SEEK_CUR) + (write-char #\x port) + (lseek port 7 SEEK_SET) + (pass-if "file: ub r/w 3" + (char=? (read-char port) #\x)) + (lseek port -2 SEEK_END) + (pass-if "file: ub r/w 4" + (char=? (read-char port) #\s)) + (delete-file filename))) + ;;;; Pipe ports. -- 2.20.1