diff options
author | Michael Gran <spk121@yahoo.com> | 2021-01-21 10:41:10 -0800 |
---|---|---|
committer | Michael Gran <spk121@yahoo.com> | 2021-01-21 10:41:10 -0800 |
commit | 1a6eaba4364bcc7897876166931df802ca7cbb9a (patch) | |
tree | bade622e69ff6b21cc05128fb7c2765d459b7528 | |
parent | 32bf48e4b799a36276198a70b8ce48740100634e (diff) | |
download | guile-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.test | 24 |
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 |