mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +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.
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 &&
|
bin/package make &&
|
||||||
: default regression tests with SHOPTs disabled &&
|
: default regression tests with SHOPTs disabled &&
|
||||||
bin/shtests
|
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'
|
[[ $($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'
|
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
|
for l in C C.UTF-8 en_US.ISO8859-1 en_US.ISO8859-15 en_US.UTF-8
|
||||||
do if [[ ! $locales == *$'\n'"${l}"$'\n'* ]] ||
|
do if [[ $l != C* && ( $locales != *$'\n'"${l}"$'\n'* || -n $("$SHELL" -c "LC_COLLATE=${l}" 2>&1) ) ]]
|
||||||
[[ $("$SHELL" -c "LC_COLLATE=${l}" 2>&1) ]]
|
then continue
|
||||||
then print -u2 "\t${Command}[$LINENO]: warning: cannot test unavailable locale: ${l}"
|
|
||||||
continue
|
|
||||||
fi
|
fi
|
||||||
export LC_COLLATE=$l
|
export LC_COLLATE=$l
|
||||||
set -- \
|
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; }
|
[[ -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; }
|
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.
|
# 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; }
|
if builtin stty 2>/dev/null
|
||||||
trap 'stty "$stty_restore"' EXIT # note: on ksh, the EXIT trap is also triggered for termination due to a signal
|
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
|
stty erase ^H kill ^X
|
||||||
|
fi
|
||||||
|
|
||||||
bintrue=$(whence -p true)
|
bintrue=$(whence -p true)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue