guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] branch master updated: 00-repl-server.test: don't use fi


From: Rob Browning
Subject: [Guile-commits] branch master updated: 00-repl-server.test: don't use fixed path for socket
Date: Thu, 23 Jan 2020 21:00:00 -0500

This is an automated email from the git hooks/post-receive script.

rlb pushed a commit to branch master
in repository guile.

The following commit(s) were added to refs/heads/master by this push:
     new ddcab06  00-repl-server.test: don't use fixed path for socket
ddcab06 is described below

commit ddcab06f20525d975503d8d9611e02021fb0dff1
Author: Rob Browning <address@hidden>
AuthorDate: Wed Jan 22 21:23:16 2020 -0600

    00-repl-server.test: don't use fixed path for socket
    
    * test-suite/tests/00-repl-server.test (make-tempdir): Add.
    (call-with-repl-server): Store socket in a make-tempdir dir.
---
 test-suite/tests/00-repl-server.test | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/test-suite/tests/00-repl-server.test 
b/test-suite/tests/00-repl-server.test
index 54f518a..ebc2cad 100644
--- a/test-suite/tests/00-repl-server.test
+++ b/test-suite/tests/00-repl-server.test
@@ -24,13 +24,26 @@
   #:use-module (web request)
   #:use-module (test-suite lib))
 
+;; FIXME: replace with mkdtemp! (or equivalent) when available
+(define (make-tempdir)
+  (let loop ((try 0)
+             (n (random:uniform)))
+    (let* ((path (string-append "/tmp/repl-server-test-" (number->string n)))
+           (dir (false-if-exception (mkdir path #o700))))
+      (cond
+       (dir path)
+       ((> try 10)
+        (error "Unable to create directory in /tmp for 00-repl-server.test"))
+       (else (loop (1+ try) (random:uniform)))))))
+
 (define (call-with-repl-server proc)
   "Set up a REPL server in a separate process and call PROC with a
 socket connected to that server."
-  (let ((sockaddr      (make-socket-address AF_UNIX "/tmp/repl-server"))
-        (client-socket (socket AF_UNIX SOCK_STREAM 0)))
-    (false-if-exception
-     (delete-file (sockaddr:path sockaddr)))
+  (let* ((tmpdir (make-tempdir))
+         (sockaddr (make-socket-address AF_UNIX (string-append tmpdir 
"/repl-server")))
+         (client-socket (socket AF_UNIX SOCK_STREAM 0)))
+    (false-if-exception (delete-file (sockaddr:path sockaddr)))
+    (false-if-exception (rmdir tmpdir))
 
     ;; The REPL server requires thread. The test requires fork.
     (unless (and (provided? 'threads) (provided? 'fork))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]