From 8de6b180c8338404d617ae48e80afc88b69d34e0 Mon Sep 17 00:00:00 2001 From: Jon Turney Date: Mon, 9 Nov 2020 13:48:38 +0000 Subject: [PATCH] Cygwin: Fix testsuite tmpdir creation with non-default cygdrive prefix --- winsup/testsuite/Makefile.in | 10 ++++++---- winsup/testsuite/winsup.api/winsup.exp | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/winsup/testsuite/Makefile.in b/winsup/testsuite/Makefile.in index 3b5a251b2..4948a0bc7 100644 --- a/winsup/testsuite/Makefile.in +++ b/winsup/testsuite/Makefile.in @@ -124,10 +124,11 @@ $(RUNTIME) : $(cygwin_build)/Makefile # Set to $(target_alias)/ for cross. target_subdir = @target_subdir@ -# temporary directory to be used for files created by tests (as an absolute, -# /cygdrive path, so it can be understood by the test DLL, which will have -# different mount table) -tmpdir = $(shell cygpath -ma $(objdir)/testsuite/tmp/ | sed -e 's#^\([A-Z]\):#/cygdrive/\L\1#') +# a temporary directory, to be used for files created by tests +tmpdir = $(abspath $(objdir)/testsuite/tmp/) +# the same temporary directory, as an absolute, /cygdrive path (so it can be +# understood by the test DLL, which will have a different mount table) +testdll_tmpdir = $(shell cygpath -ma $(tmpdir) | sed -e 's#^\([A-Z]\):#/cygdrive/\L\1#') site.exp: ./config.status Makefile @echo "Making a new config file..." @@ -149,6 +150,7 @@ site.exp: ./config.status Makefile @echo "set CFLAGS \"$(ALL_CFLAGS)\"" >> ./tmp0 @echo "set MINGW_CXX \"$(MINGW_CXX)\"" >> ./tmp0 @echo "set tmpdir $(tmpdir)" >> ./tmp0 + @echo "set testdll_tmpdir $(testdll_tmpdir)" >> ./tmp0 @echo "set ltp_includes \"$(realpath $(libltp_srcdir))/include\"" >> ./tmp0 @echo "## All variables above are generated by configure. Do Not Edit ##" >> ./tmp0 @cat ./tmp0 > site.exp diff --git a/winsup/testsuite/winsup.api/winsup.exp b/winsup/testsuite/winsup.api/winsup.exp index cd5964d47..4978136a1 100644 --- a/winsup/testsuite/winsup.api/winsup.exp +++ b/winsup/testsuite/winsup.api/winsup.exp @@ -69,7 +69,7 @@ foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.c $srcdir/$subdir/*/*.{cc set redirect_output /dev/null } file mkdir $tmpdir/$base - ws_spawn "$rootme/cygrun ./$base.exe $tmpdir/$base > $redirect_output" + ws_spawn "$rootme/cygrun ./$base.exe $testdll_tmpdir/$base > $redirect_output" file delete -force $tmpdir/$base if { $rv } { fail "$testcase (execute)"