summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Gran <spk121@yahoo.com>2021-01-21 10:41:10 -0800
committerMichael Gran <spk121@yahoo.com>2021-01-21 10:41:10 -0800
commit1a6eaba4364bcc7897876166931df802ca7cbb9a (patch)
treebade622e69ff6b21cc05128fb7c2765d459b7528
parent32bf48e4b799a36276198a70b8ce48740100634e (diff)
downloadguile-1a6eaba4364bcc7897876166931df802ca7cbb9a.tar.gz
Use mkdtemp to simplify repl server test
* test-suite/tests/00-repl-server.test (make-tempdir): removed (call-with-repl-server): use mkdtemp instead of make-tempdir
-rw-r--r--test-suite/tests/00-repl-server.test24
1 files changed, 6 insertions, 18 deletions
diff --git a/test-suite/tests/00-repl-server.test b/test-suite/tests/00-repl-server.test
index 8c5713f4a..433181ee6 100644
--- a/test-suite/tests/00-repl-server.test
+++ b/test-suite/tests/00-repl-server.test
@@ -1,6 +1,6 @@
;;;; 00-repl-server.test --- REPL server. -*- mode: scheme; coding: utf-8; -*-
;;;;
-;;;; Copyright (C) 2016, 2017 Free Software Foundation, Inc.
+;;;; Copyright (C) 2016, 2017, 2021 Free Software Foundation, Inc.
;;;;
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
@@ -24,30 +24,18 @@
#: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* ((tmpdir (make-tempdir))
+ ;; The REPL server requires thread. The test requires fork.
+ (unless (and (provided? 'threads) (provided? 'fork) (defined? 'mkdtemp))
+ (throw 'unsupported))
+
+ (let* ((tmpdir (mkdtemp "/tmp/repl-server-test-XXXXXX"))
(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)))
- ;; The REPL server requires thread. The test requires fork.
- (unless (and (provided? 'threads) (provided? 'fork))
- (throw 'unsupported))
-
(match (primitive-fork)
(0
(dynamic-wind