mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 23:46:13 -05:00
8134dc1f74
* gnu/packages/patches/guile-repl-server-test.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/guile.scm (guile-2.0.13)[source]: Use it.
48 lines
1.8 KiB
Diff
48 lines
1.8 KiB
Diff
commit 8d6209ea56241bb1890c142539927c9ef3fb5a13
|
|
Author: Ludovic Courtès <ludo@gnu.org>
|
|
Date: Fri Nov 4 22:44:32 2016 +0100
|
|
|
|
tests: Throw 'unresolved when the REPL server is too slow.
|
|
|
|
commit 2fbde7f02adb8c6585e9baf6e293ee49cd23d4c4
|
|
Author: Ludovic Courtès <ludo@gnu.org>
|
|
Date: Fri Nov 4 22:45:51 2016 +0100
|
|
|
|
tests: Avoid race condition in REPL server test.
|
|
|
|
index ca389ba..4b5ec0c 100644
|
|
--- a/test-suite/tests/00-repl-server.test
|
|
+++ b/test-suite/tests/00-repl-server.test
|
|
@@ -61,10 +61,11 @@ socket connected to that server."
|
|
(lambda ()
|
|
(connect client-socket sockaddr))
|
|
(lambda args
|
|
- (when (and (memv (system-error-errno args)
|
|
- (list ENOENT ECONNREFUSED))
|
|
- (< tries 3))
|
|
- (sleep 1)
|
|
+ (when (memv (system-error-errno args)
|
|
+ (list ENOENT ECONNREFUSED))
|
|
+ (when (> tries 30)
|
|
+ (throw 'unresolved))
|
|
+ (usleep 100)
|
|
(loop (+ tries 1))))))
|
|
|
|
(proc client-socket))
|
|
@@ -104,8 +105,14 @@ reached."
|
|
"scheme@(repl-server)> $1 = 42\n"
|
|
(with-repl-server socket
|
|
(read-until-prompt socket %last-line-before-prompt)
|
|
- (display "(+ 40 2)\n(quit)\n" socket)
|
|
- (read-string socket)))
|
|
+
|
|
+ ;; Wait until 'repl-reader' in boot-9 has written the prompt.
|
|
+ ;; Otherwise, if we write too quickly, 'repl-reader' checks for
|
|
+ ;; 'char-ready?' and doesn't print the prompt.
|
|
+ (match (select (list socket) '() (list socket) 3)
|
|
+ (((_) () ())
|
|
+ (display "(+ 40 2)\n(quit)\n" socket)
|
|
+ (read-string socket)))))
|
|
|
|
(pass-if "HTTP inter-protocol attack" ;CVE-2016-8606
|
|
(with-repl-server socket
|