From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Rob Browning Newsgroups: gmane.lisp.guile.bugs Subject: bug#39211: [PATCH 1/1] 00-repl-server.test: don't use fixed path for socket Date: Mon, 20 Jan 2020 21:22:14 -0600 Message-ID: <20200121032214.1908896-1-rlb@defaultvalue.org> Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="12234"; mail-complaints-to="usenet@ciao.gmane.io" To: 39211@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Tue Jan 21 04:22:10 2020 Return-path: Envelope-to: guile-bugs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1itk7F-00035K-33 for guile-bugs@m.gmane-mx.org; Tue, 21 Jan 2020 04:22:09 +0100 Original-Received: from localhost ([::1]:47596 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1itk7D-00060h-OR for guile-bugs@m.gmane-mx.org; Mon, 20 Jan 2020 22:22:07 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:54011) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1itk79-00060W-2Q for bug-guile@gnu.org; Mon, 20 Jan 2020 22:22:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1itk78-0008P6-1s for bug-guile@gnu.org; Mon, 20 Jan 2020 22:22:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:40386) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1itk77-0008Ox-VE for bug-guile@gnu.org; Mon, 20 Jan 2020 22:22:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1itk77-0001Y2-Q2 for bug-guile@gnu.org; Mon, 20 Jan 2020 22:22:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Rob Browning Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Tue, 21 Jan 2020 03:22:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 39211 X-GNU-PR-Package: guile X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-guile@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.15795769175938 (code B ref -1); Tue, 21 Jan 2020 03:22:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 21 Jan 2020 03:21:57 +0000 Original-Received: from localhost ([127.0.0.1]:46359 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itk73-0001Xh-Br for submit@debbugs.gnu.org; Mon, 20 Jan 2020 22:21:57 -0500 Original-Received: from lists.gnu.org ([209.51.188.17]:59276) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1itk71-0001XZ-9B for submit@debbugs.gnu.org; Mon, 20 Jan 2020 22:21:55 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:54000) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1itk70-0005xf-5n for bug-guile@gnu.org; Mon, 20 Jan 2020 22:21:55 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1itk6z-0008Jp-5A for bug-guile@gnu.org; Mon, 20 Jan 2020 22:21:54 -0500 Original-Received: from defaultvalue.org ([45.33.119.55]:58108) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1itk6z-0008Iv-0o for bug-guile@gnu.org; Mon, 20 Jan 2020 22:21:53 -0500 Original-Received: from trouble.defaultvalue.org (localhost [127.0.0.1]) (Authenticated sender: rlb@defaultvalue.org) by defaultvalue.org (Postfix) with ESMTPSA id 5963D2009C for ; Mon, 20 Jan 2020 21:21:51 -0600 (CST) Original-Received: by trouble.defaultvalue.org (Postfix, from userid 1000) id 1BF8214E071; Mon, 20 Jan 2020 21:22:14 -0600 (CST) X-Mailer: git-send-email 2.24.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Original-Sender: "bug-guile" Xref: news.gmane.io gmane.lisp.guile.bugs:9531 Archived-At: Even setting aside any security concerns, this caused tests to fail if you ran them as a given user and then ran them again as another user. --- It didn't look like we have anything like mkdtemp or I'd have used it instead. And it looks like this might apply to, and it would be nice to have something like it on stable-2.2 as well. test-suite/tests/00-repl-server.test | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/test-suite/tests/00-repl-server.test b/test-suite/tests/00-r= epl-server.test index 54f518a66..4324f7371 100644 --- a/test-suite/tests/00-repl-server.test +++ b/test-suite/tests/00-repl-server.test @@ -24,13 +24,25 @@ #:use-module (web request) #:use-module (test-suite lib)) =20 +(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.te= st")) + (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)) =20 ;; The REPL server requires thread. The test requires fork. (unless (and (provided? 'threads) (provided? 'fork)) --=20 2.24.0