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
Description: PGP signature