commit - 86df5ff4055857a4a9b024f7ed84c86ddff46016
commit + 001dad0e6901d683c4abfd226c939b5ba1e8f43b
blob - 5022c3d3462d8b03b9368b8a92ba335b0323a9f7
blob + 3d1c1e3ff9660d28b13aa5e8a120f742ccfa4939
--- regress/lisp/9p-test/kami-tests.lisp
+++ regress/lisp/9p-test/kami-tests.lisp
(assert-equality #'=
amount
(length (read-a-tiny-amount-of-data *remote-test-path-huge* amount)))))
+
+(defun read-data-exceeding-msize (path buffer-size &optional (root "/"))
+ (with-open-ssl-stream (stream
+ socket
+ *host*
+ *port*
+ *client-certificate*
+ *certificate-key*)
+ (let* ((*messages-sent* ())
+ (*buffer-size* buffer-size)
+ (root-fid (mount stream root))
+ (path-fid (open-path stream root-fid path))
+ (results nil))
+ (9p-read stream
+ path-fid
+ 0
+ (* 2 buffer-size)
+ :callback (lambda (x reply)
+ (declare (ignore x))
+ (let ((data (decode-read-reply reply nil)))
+ (setf results data))))
+ (read-all-pending-message stream)
+ results)))
+
+(deftest test-read-a-tiny-amount-of-data ((kami-suite) (test-write-huge-file))
+ (let ((buffer-size 256))
+ (assert-equality #'=
+ buffer-size
+ (length (read-data-exceeding-msize *remote-test-path-huge* buffer-size)))))