aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMaxime Devos <maximedevos@telenet.be>2021-09-08 16:03:27 +0200
committerMaxime Devos <maximedevos@telenet.be>2021-09-21 12:20:59 +0200
commitdd8fd583a378486a93661e1d4cc4c1e112526fe7 (patch)
tree3d843a0ccd7186f581b79495063fc42d7452456d /tests
parentbe00f18f729acc6c73fb245ea3a61107392d8703 (diff)
downloadgnunet-scheme-dd8fd583a378486a93661e1d4cc4c1e112526fe7.tar.gz
gnunet-scheme-dd8fd583a378486a93661e1d4cc4c1e112526fe7.zip
mq-impl/stream: Eliminate 'return' argument of 'handle-input!'.
* gnu/gnunet/mq-impl/stream.scm (handle-input!): Remove 'return' argument. Return errors from 'add-from-port!' instead of injecting them. (prepare-port-message-queue)[start-reader!]: Remove #:return argument. * tests/mq-stream.scm (handle-input*): New procedure. ("messages + eof are injected in-order") ("overly small message is detected (--> stop)") ("premature eof is detected (--> stop)"): Use new procedure.
Diffstat (limited to 'tests')
-rw-r--r--tests/mq-stream.scm14
1 files changed, 10 insertions, 4 deletions
diff --git a/tests/mq-stream.scm b/tests/mq-stream.scm
index 6b1850a..360e41a 100644
--- a/tests/mq-stream.scm
+++ b/tests/mq-stream.scm
@@ -76,6 +76,12 @@
76;; writing to a broken pipe. 76;; writing to a broken pipe.
77(sigaction SIGPIPE SIG_IGN) 77(sigaction SIGPIPE SIG_IGN)
78 78
79(define (handle-input*! mq input)
80 (call-with-values (lambda () (handle-input! mq input))
81 (lambda e
82 (apply inject-error! mq e)
83 (values))))
84
79(test-assert "messages + eof are injected in-order" 85(test-assert "messages + eof are injected in-order"
80 (let^ ((! input/bv #vu8(0 4 0 1 ; Message type 1, size 4 86 (let^ ((! input/bv #vu8(0 4 0 1 ; Message type 1, size 4
81 0 5 0 2 1 ; Message type 2, size 6 87 0 5 0 2 1 ; Message type 2, size 6
@@ -99,9 +105,9 @@
99 (assert (equal? arguments '(input:regular-end-of-file))) 105 (assert (equal? arguments '(input:regular-end-of-file)))
100 (set! received 'end-of-file)) 106 (set! received 'end-of-file))
101 (! mq (make-message-queue handlers error-handler no-sender)) 107 (! mq (make-message-queue handlers error-handler no-sender))
102 (<-- () (handle-input! mq input))) 108 (<-- () (handle-input*! mq input)))
103 ;; TODO: should the port be closed? 109 ;; TODO: should the port be closed?
104 (assert (equal? received 'end-of-file)))) 110 (assert (equal? received 'end-of-file)))
105 111
106(test-assert "overly small message is detected (--> stop)" 112(test-assert "overly small message is detected (--> stop)"
107 (let^ ((! input/bv #vu8(0 4 0 0 ; Message type 0, size 4 113 (let^ ((! input/bv #vu8(0 4 0 0 ; Message type 0, size 4
@@ -128,7 +134,7 @@
128 (assert (equal? arguments `(input:overly-small ,(* 256 9) 3))) 134 (assert (equal? arguments `(input:overly-small ,(* 256 9) 3)))
129 (set! received 'overly-small)) 135 (set! received 'overly-small))
130 (! mq (make-message-queue handlers error-handler no-sender)) 136 (! mq (make-message-queue handlers error-handler no-sender))
131 (<-- () (handle-input! mq input))) 137 (<-- () (handle-input*! mq input)))
132 (assert (equal? received 'overly-small)))) 138 (assert (equal? received 'overly-small))))
133 139
134(test-assert "premature eof is detected (--> stop)" 140(test-assert "premature eof is detected (--> stop)"
@@ -140,7 +146,7 @@
140 (assert (equal? arguments '(input:premature-end-of-file))) 146 (assert (equal? arguments '(input:premature-end-of-file)))
141 (set! received #t)) 147 (set! received #t))
142 (! mq (make-message-queue no-handlers error-handler no-sender)) 148 (! mq (make-message-queue no-handlers error-handler no-sender))
143 (<-- () (handle-input! mq input))) 149 (<-- () (handle-input*! mq input)))
144 (assert (equal? received #t)))) 150 (assert (equal? received #t))))
145 151
146(test-equal "envelopes are written (no blocking)" 152(test-equal "envelopes are written (no blocking)"