guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] 10/13: tests: Fix spawn if file not found with Gnulib.


From: Ludovic Courtès
Subject: [Guile-commits] 10/13: tests: Fix spawn if file not found with Gnulib.
Date: Sun, 20 Oct 2024 15:23:23 -0400 (EDT)

civodul pushed a commit to branch main
in repository guile.

commit 58a722d8837c25397820b41bcfa18bc931fa8440
Author: Tomas Volf <~@wolfsden.cz>
AuthorDate: Sat Aug 10 00:54:33 2024 +0200

    tests: Fix spawn if file not found with Gnulib.
    
    On Darwin posix_spawnp is not considered secured and therefore we
    fallback to Gnulib's version.  That one however does not return ENOENT
    when the file does not exist, but PID of the child process.  This seems
    to be allowed by the standard.
    
    * test-suite/tests/posix.test (skip-on-darwin): New procedure.
    ("spawn")["file not file"]: Skip on Darwin.
    
    Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 test-suite/tests/posix.test | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/test-suite/tests/posix.test b/test-suite/tests/posix.test
index ac5a3b289..310f3ac7c 100644
--- a/test-suite/tests/posix.test
+++ b/test-suite/tests/posix.test
@@ -22,6 +22,9 @@
   #:use-module (test-suite lib)
   #:use-module ((rnrs io ports) #:select (get-string-all)))
 
+(define (skip-on-darwin)
+  (when (string-ci=? "darwin" (utsname:sysname (uname)))
+    (throw 'untested)))
 
 ;; FIXME: The following exec tests are disabled since on an i386 debian with
 ;; glibc 2.3.2 they seem to interact badly with threads.test, the latter
@@ -475,6 +478,11 @@
 
   (pass-if-equal "file not found"
       ENOENT
+    ;; Actually "skip-if-posix_spawn-replaced" would be preferred, since the
+    ;; behavior below is not implemented in gnulib, but I do not know how to
+    ;; write such test.  However due to posix_spawnp being buggy on macOS it is
+    ;; always replaced, so whatever.
+    (skip-on-darwin)
     (catch 'system-error
       (lambda ()
         (spawn "this-does-not-exist" '("nope")



reply via email to

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