https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=11873f3b1ef94db95b7d3da634471e7e05a86278

commit 11873f3b1ef94db95b7d3da634471e7e05a86278
Author: Jon Turney <[email protected]>
Date:   Tue Jul 4 13:59:14 2023 +0100

    Cygwin: testsuite: setup test installation
    
    Do some set up in the Cygwin 'installation' at testsuite/testinst/ to
    provide things which tests need to work:

Diff:
---
 .github/workflows/cygwin.yml |  2 +-
 winsup/cygwin/Makefile.am    |  4 ++--
 winsup/testsuite/Makefile.am | 14 +++++++++++++-
 3 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/cygwin.yml b/.github/workflows/cygwin.yml
index 575ff1fdc..d1b32f823 100644
--- a/.github/workflows/cygwin.yml
+++ b/.github/workflows/cygwin.yml
@@ -116,6 +116,6 @@ jobs:
         export PATH=/usr/bin:$(cygpath ${SYSTEMROOT})/system32 &&
         export MAKEFLAGS=-j$(nproc) &&
         cd build &&
-        (export PATH=${{ matrix.target }}/winsup/testsuite/runtime:${PATH} && 
cmd /c $(cygpath -wa ${{ matrix.target }}/winsup/cygserver/cygserver) &) &&
+        (export PATH=${{ matrix.target 
}}/winsup/testsuite/testinst/bin:${PATH} && cmd /c $(cygpath -wa ${{ 
matrix.target }}/winsup/cygserver/cygserver) &) &&
         (cd ${{ matrix.target }}/winsup; make check || true)
       shell: C:\cygwin\bin\bash.exe --noprofile --norc -eo pipefail '{0}'
diff --git a/winsup/cygwin/Makefile.am b/winsup/cygwin/Makefile.am
index c34ca6ddc..bfb5ead10 100644
--- a/winsup/cygwin/Makefile.am
+++ b/winsup/cygwin/Makefile.am
@@ -602,8 +602,8 @@ $(NEW_DLL_NAME): $(LDSCRIPT) libdll.a $(VERSION_OFILES) 
$(LIBSERVER)\
        $(newlib_build)/libm.a \
        $(newlib_build)/libc.a \
        -lgcc -lkernel32 -lntdll -Wl,-Map,cygwin.map
-       @$(MKDIR_P) ${target_builddir}/winsup/testsuite/runtime/
-       $(AM_V_at)$(INSTALL_PROGRAM) $(NEW_DLL_NAME) 
${target_builddir}/winsup/testsuite/runtime/$(DLL_NAME)
+       @$(MKDIR_P) ${target_builddir}/winsup/testsuite/testinst/bin/
+       $(AM_V_at)$(INSTALL_PROGRAM) $(NEW_DLL_NAME) 
${target_builddir}/winsup/testsuite/testinst/bin/$(DLL_NAME)
 
 # cygwin import library
 toolopts=--cpu=@target_cpu@ --ar=@AR@ --as=@AS@ --nm=@NM@ --objcopy=@OBJCOPY@
diff --git a/winsup/testsuite/Makefile.am b/winsup/testsuite/Makefile.am
index 7853d98e8..577c32370 100644
--- a/winsup/testsuite/Makefile.am
+++ b/winsup/testsuite/Makefile.am
@@ -339,7 +339,7 @@ testdll_tmpdir = $(shell cygpath -ma $(tmpdir) | sed -e 
's#^\([A-Z]\):#/cygdrive
 
 site-extra.exp: ../config.status Makefile
        @rm -f ./tmp0
-       @echo "set runtime_root \"`pwd`/runtime\"" >> ./tmp0
+       @echo "set runtime_root \"`pwd`/testinst/bin\"" >> ./tmp0
        @echo "set tmpdir $(tmpdir)" >> ./tmp0
        @echo "set testdll_tmpdir $(testdll_tmpdir)" >> ./tmp0
        @echo "set cygrun \"`pwd`/mingw/cygrun\"" >> ./tmp0
@@ -347,6 +347,18 @@ site-extra.exp: ../config.status Makefile
 
 EXTRA_DEJAGNU_SITE_CONFIG = site-extra.exp
 
+# Set up things in the Cygwin 'installation' at testsuite/testinst/ to provide
+# things which tests need to work
+#
+# * Create /tmp
+# * Ensure there is a /usr/bin/sh for tests which use system()
+# * Ensure there is a /usr/bin/sleep for tests which use system('sleep 10')
+#
+check-local:
+       $(MKDIR_P) ${builddir}/testinst/tmp
+       cd ${builddir}/testinst/bin && ln -sf /usr/bin/dash.exe sh.exe
+       cd ${builddir}/testinst/bin && ln -sf /usr/bin/sleep.exe sleep.exe
+
 # target to build all the programs needed by check, without running check
 check_programs: $(check_PROGRAMS)

Reply via email to