1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-02-15 04:32:24 +00:00

github: Re-disable Mac CI runner (re: 5c389035)

The Mac runner is still broken: intermittent pipe- and
signal-related regressions that do not occur on any real Mac.
https://github.com/ksh93/ksh/runs/1892358749

.github/workflows/ci.yml:
- Remove the macOS runner.

src/cmd/ksh93/tests/pty.sh:
- Do not skip pty tests if there is no tty. (On FreeBSD with no
  tty, the tty builtin would need to be enabled in builtins.c.)

src/cmd/ksh93/tests/bracket.sh:
- Don't be noisy when skipping unavailable locales.
This commit is contained in:
Martijn Dekker 2021-02-13 06:58:30 +00:00
parent 5c389035d8
commit 9ad9a1de44
3 changed files with 10 additions and 36 deletions

View file

@ -30,30 +30,3 @@ jobs:
bin/package make &&
: default regression tests with SHOPTs disabled &&
bin/shtests
MacOS:
name: macOS
runs-on: macos-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Build
run: bin/package make
- name: Regression tests
run: |
PS4="$PS4[ci.yml] "
set -o xtrace
export TZ=UTC
ulimit -n 1024
: default regression tests &&
bin/shtests &&
: regression tests with OS-provided UTF-8 locales &&
LANG=nl_NL.UTF-8 bin/shtests --locale --nocompile &&
LANG=ja_JP.UTF-8 bin/shtests --locale --nocompile &&
: disable most SHOPTs, rebuild ksh &&
sed -E -i.orig \
'/^SHOPT (2DMATCH|AUDIT|BGX|BRACEPAT|DYNAMIC|EDPREDICT|ESH|FIXEDARRAY|HISTEXPAND|MULTIBYTE|NAMESPACE|OPTIMIZE|SUID_EXEC|STATS|VSH)=/ s/=1/=0/' \
src/cmd/ksh93/SHOPT.sh &&
bin/package make &&
: default regression tests with SHOPTs disabled &&
bin/shtests

View file

@ -265,11 +265,9 @@ test '(' = ')' && err_exit '"test ( = )" should not be true'
[[ $($SHELL -c "case Q in ~(Fi)q | \$'\E') print ok;;esac" 2> /dev/null) == ok ]] || err_exit '~(Fi)q | \E not working in case command'
locales=$'\n'$(command -p locale -a 2>/dev/null)$'\n'
for l in C en_US.ISO8859-1 en_US.ISO8859-15 en_US.UTF-8
do if [[ ! $locales == *$'\n'"${l}"$'\n'* ]] ||
[[ $("$SHELL" -c "LC_COLLATE=${l}" 2>&1) ]]
then print -u2 "\t${Command}[$LINENO]: warning: cannot test unavailable locale: ${l}"
continue
for l in C C.UTF-8 en_US.ISO8859-1 en_US.ISO8859-15 en_US.UTF-8
do if [[ $l != C* && ( $locales != *$'\n'"${l}"$'\n'* || -n $("$SHELL" -c "LC_COLLATE=${l}" 2>&1) ) ]]
then continue
fi
export LC_COLLATE=$l
set -- \

View file

@ -46,11 +46,14 @@ integer Errors=0 lineno=1
[[ -d $tmp && -w $tmp && $tmp == "$PWD" ]] || { err\_exit "$LINENO" '$tmp not set; run this from shtests. Aborting.'; exit 1; }
whence -q pty || { err\_exit "$LINENO" "pty command not found -- tests skipped"; exit 0; }
# On FreeBSD, the stty command does not appear to work correctly on a pty pseudoterminal.
# On FreeBSD, the OS-provided stty command does not appear to work correctly on a pty pseudoterminal.
# To avoid a couple of false regressions, we have to set 'erase' and 'kill' on the real terminal.
stty_restore=$(stty -g) || { err\_exit "$LINENO" "could not save terminal state -- tests skipped"; exit 0; }
trap 'stty "$stty_restore"' EXIT # note: on ksh, the EXIT trap is also triggered for termination due to a signal
stty erase ^H kill ^X
if builtin stty 2>/dev/null
then PATH=/opt/ast/bin:$PATH
elif test -t 1 2>/dev/null 1>/dev/tty && stty_restore=$(stty -g)
then trap 'stty "$stty_restore"' EXIT # note: on ksh, the EXIT trap is also triggered for termination due to a signal
stty erase ^H kill ^X
fi
bintrue=$(whence -p true)