Cygwin: CI: Run cygserver for tests

Note that cygserver must be run using the same cygwin1.DLL as test
programs, as they communicate over a named pipe whose name contains the
'installation key' (which is a hash of the cygwin1.dll's path).

We run cygserver via 'cmd' to avoid the special code which handles a
cygwin parent process starting a cygwin child process, which assumes the
same version of cygwin in both.
This commit is contained in:
Jon Turney 2022-09-01 14:07:26 +01:00
parent 0965454822
commit 6072dcfc34
No known key found for this signature in database
GPG Key ID: C7C86F0370285C81
1 changed files with 13 additions and 3 deletions

View File

@ -52,7 +52,8 @@ jobs:
fail-fast: false
matrix:
include:
- pkgarch: x86_64
- target: x86_64-pc-cygwin
pkgarch: x86_64
name: Windows native ${{ matrix.pkgarch }}
steps:
@ -105,6 +106,15 @@ jobs:
make &&
make install &&
(cd */newlib; make info man) &&
(cd */newlib; make install-info install-man) &&
(cd */winsup; make check || true)
(cd */newlib; make install-info install-man)
shell: C:\cygwin\bin\bash.exe --noprofile --norc -eo pipefail '{0}'
# test
- name: Test Cygwin
run: >-
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) &) &&
(cd ${{ matrix.target }}/winsup; make check || true)
shell: C:\cygwin\bin\bash.exe --noprofile --norc -eo pipefail '{0}'