GNU bug report logs -
#71980
[3.0.10] posix.test uses depcrecated tmpnam
Previous Next
To reply to this bug, email your comments to 71980 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guile <at> gnu.org
:
bug#71980
; Package
guile
.
(Sun, 07 Jul 2024 16:28:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Matt Wette <matt.wette <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-guile <at> gnu.org
.
(Sun, 07 Jul 2024 16:28:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
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, attachment)]
Information forwarded
to
bug-guile <at> gnu.org
:
bug#71980
; Package
guile
.
(Sun, 07 Jul 2024 16:47:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 71980 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On 2024-07-07 09:27:14 -0700, Matt Wette wrote:
> With `--disable-tmpnam' argument to configure, posix.test fails: missing
> `tmpnam`.
>
> patch attached
There also is #71796 as a possible patch (since June 27th), which is arguably
bit smaller (albeit I am biased since I am the author over there ^_^ ).
>
> --- 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))))
Interesting. Does this clean up the temporary file somehow or will it stay
around?
>
> (pass-if-equal "https://bugs.gnu.org/63024"
> 0
> --- 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
Have a nice day,
Tomas Volf
--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
bug-guile <at> gnu.org
:
bug#71980
; Package
guile
.
(Sun, 07 Jul 2024 17:02:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 71980 <at> debbugs.gnu.org (full text, mbox):
See also bug #71796, which has smaller delta.
Information forwarded
to
bug-guile <at> gnu.org
:
bug#71980
; Package
guile
.
(Sun, 07 Jul 2024 17:08:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 71980 <at> debbugs.gnu.org (full text, mbox):
close
Information forwarded
to
bug-guile <at> gnu.org
:
bug#71980
; Package
guile
.
(Sun, 07 Jul 2024 17:15:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 71980 <at> debbugs.gnu.org (full text, mbox):
close 71980
This bug report was last modified 102 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.