commit 001dad0e6901d683c4abfd226c939b5ba1e8f43b from: cage date: Sun Jan 02 14:53:43 2022 UTC - [regress-extra] added test 'read-data-exceeding-msize'. commit - 86df5ff4055857a4a9b024f7ed84c86ddff46016 commit + 001dad0e6901d683c4abfd226c939b5ba1e8f43b blob - 5022c3d3462d8b03b9368b8a92ba335b0323a9f7 blob + 3d1c1e3ff9660d28b13aa5e8a120f742ccfa4939 --- regress/lisp/9p-test/kami-tests.lisp +++ regress/lisp/9p-test/kami-tests.lisp @@ -499,3 +499,32 @@ (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)))))