]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
tst-freopen4: Remove temporary directory from warning message
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 5 Aug 2025 23:17:42 +0000 (16:17 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 6 Aug 2025 00:58:55 +0000 (17:58 -0700)
tst-freopen4-main.c issues a warning message:

warning: could not remove temporary file: /tmp/tst-freopen4potgti: No such file or directory

since chroot makes generated temporary directories inaccessible.  Add
special rules for tst-freopen4.out and tst-freopen64-4.out to remove
the temporary directory in warning message from tst-freopen4 and
tst-freopen64-4.

This partially fixes BZ #33182.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Reviewed-by: Sam James <sam@gentoo.org>
stdio-common/Makefile

index 64b3575acba3163830f82f587a41265d55e6188f..ae2b90c2ad53429bf291202766176680d603326e 100644 (file)
@@ -759,6 +759,30 @@ CFLAGS-tst-scanf-binary-gnu89.c += -std=gnu89 -DOBJPFX=\"$(objpfx)\"
 
 CPPFLAGS += $(libio-mtsafe)
 
+make-tst-freopen4-out = \
+  $(run-program-prefix-before-env) \
+  $(run-program-env) \
+  MALLOC_TRACE=$(@:.out=.mtrace) \
+  LD_PRELOAD=$(common-objpfx)malloc/libc_malloc_debug.so \
+  $(run-program-prefix-after-env) $<
+
+freopen4-temp-dir-before = warning: could not remove temporary file:
+freopen4-temp-dir-after = : No such file or directory
+
+$(objpfx)tst-freopen4.out: $(objpfx)tst-freopen4
+       $(make-tst-freopen4-out) > $@ && \
+         grep "$(freopen4-temp-dir-before)" $@ \
+         | sed -e "s/$(freopen4-temp-dir-before)//; s/$(freopen4-temp-dir-after)//" \
+         | xargs rm -rf; \
+       $(evaluate-test)
+
+$(objpfx)tst-freopen64-4.out: $(objpfx)tst-freopen64-4
+       $(make-tst-freopen4-out) > $@ && \
+         grep "$(freopen4-temp-dir-before)" $@ \
+         | sed -e "s/$(freopen4-temp-dir-before)//; s/$(freopen4-temp-dir-after)//" \
+         | xargs rm -rf; \
+       $(evaluate-test)
+
 $(objpfx)tst-setvbuf1.out: /dev/null $(objpfx)tst-setvbuf1
        $(test-program-cmd) > $@ 2>&1; \
        $(evaluate-test)