bug#71980: [3.0.10] posix.test uses depcrecated tmpnam
Matt Wette <[email protected]>
| Newsgroups | gmane.lisp.guile.bugs |
|---|---|
| Message-ID | <[email protected]> |
With `--disable-tmpnam' argument to configure, posix.test fails: missing `tmpnam`. patch attached --- test-suite/tests/posix.test-orig 2024-07-03 15:45:16.352132881 -0700 +++ test-suite/tests/posix.test 2024-07-07 09:21:53.342855356 -0700 @@ -361,20 +361,21 @@ (status:exit-val (system* "something-that-does-not-exist")))) (pass-if-equal "https://bugs.gnu.org/52835" - "bong\n" - (let ((file (tmpnam))) + "bong\n" + (let ((port (mkstemp "T-XXXXXX"))) ;; Redirect stdout and stderr to FILE. (define status - (call-with-output-file file - (lambda (port) - (with-output-to-port port + (with-output-to-port port + (lambda () + (with-error-to-port port (lambda () - (with-error-to-port port - (lambda () - (system* "sh" "-c" "echo bong >&2")))))))) + (system* "sh" "-c" "echo bong >&2")))))) (and (zero? (status:exit-val status)) - (call-with-input-file file get-string-all)))) + (zero? (seek port 0 SEEK_SET)) + (let ((contents (get-string-all port))) + (close-port port) + contents)))) (pass-if-equal "https://bugs.gnu.org/63024" 0
PATCH
(text/plain, 1.2 KB)
--- test-suite/tests/posix.test-orig 2024-07-03 15:45:16.352132881 -0700
+++ test-suite/tests/posix.test 2024-07-07 09:21:53.342855356 -0700
@@ -361,20 +361,21 @@
(status:exit-val (system* "something-that-does-not-exist"))))
(pass-if-equal "https://bugs.gnu.org/52835"
- "bong\n"
- (let ((file (tmpnam)))
+ "bong\n"
+ (let ((port (mkstemp "T-XXXXXX")))
;; Redirect stdout and stderr to FILE.
(define status
- (call-with-output-file file
- (lambda (port)
- (with-output-to-port port
+ (with-output-to-port port
+ (lambda ()
+ (with-error-to-port port
(lambda ()
- (with-error-to-port port
- (lambda ()
- (system* "sh" "-c" "echo bong >&2"))))))))
+ (system* "sh" "-c" "echo bong >&2"))))))
(and (zero? (status:exit-val status))
- (call-with-input-file file get-string-all))))
+ (zero? (seek port 0 SEEK_SET))
+ (let ((contents (get-string-all port)))
+ (close-port port)
+ contents))))
(pass-if-equal "https://bugs.gnu.org/63024"
0