tests: Use unbuffered input ports when decompressing from 'guix publish'.
Fixes <http://bugs.gnu.org/24060>. Reported by Chris Marusich <cmmarusich@gmail.com>. * tests/publish.scm (http-get-port): Explicitly call 'open-socket-for-uri' and add calls to 'setvbuf'.
This commit is contained in:
parent
688ec13c45
commit
37402ecb43
|
@ -58,8 +58,16 @@
|
||||||
(lambda (response body) body)))
|
(lambda (response body) body)))
|
||||||
|
|
||||||
(define (http-get-port uri)
|
(define (http-get-port uri)
|
||||||
(call-with-values (lambda () (http-get uri #:streaming? #t))
|
(let ((socket (open-socket-for-uri uri)))
|
||||||
(lambda (response port) port)))
|
;; Make sure to use an unbuffered port so that we can then peek at the
|
||||||
|
;; underlying file descriptor via 'call-with-gzip-input-port'.
|
||||||
|
(setvbuf socket _IONBF)
|
||||||
|
(call-with-values
|
||||||
|
(lambda ()
|
||||||
|
(http-get uri #:port socket #:streaming? #t))
|
||||||
|
(lambda (response port)
|
||||||
|
(setvbuf port _IONBF)
|
||||||
|
port))))
|
||||||
|
|
||||||
(define (publish-uri route)
|
(define (publish-uri route)
|
||||||
(string-append "http://localhost:6789" route))
|
(string-append "http://localhost:6789" route))
|
||||||
|
|
Loading…
Reference in New Issue