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:
parent
5c389035d8
commit
9ad9a1de44
3 changed files with 10 additions and 36 deletions
27
.github/workflows/ci.yml
vendored
27
.github/workflows/ci.yml
vendored
|
@ -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
|
||||
|
|
|
@ -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 -- \
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
Loading…
Reference in a new issue