mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-02-15 04:32:24 +00:00
This new wrapper script sets up the correct environment for running the ksh93 regression test suite. It allows running the tests without AST nmake, which is not maintained in this repository. An alternative ksh to test may be passed in the $KSH env var. bin/shtests: - Added. Sets up environment before passing control to 'src/cmd/ksh93/tests/shtest'. Passes on any options given. NEWS: - Updated. (cherry picked from commit 14ced94ed83991687c645a09bd2e45a5c2ffe8dc)
40 lines
1.2 KiB
Bash
Executable file
40 lines
1.2 KiB
Bash
Executable file
#! /bin/sh
|
|
# Wrapper script to run the ksh93 regression tests without requiring nmake.
|
|
# By Martijn Dekker <martijn@inlv.org> 2020-05-14
|
|
# Public domain. http://creativecommons.org/publicdomain/zero/1.0/
|
|
#
|
|
# The manual: bin/shtests --man
|
|
# Brief help: bin/shtests --help
|
|
#
|
|
# By default, this runs your compiled arch/*/bin/ksh.
|
|
# To use another ksh, run: KSH=path/to/ksh bin/shtests
|
|
|
|
# Find root dir of ksh source
|
|
mydir=$(dirname "$0") \
|
|
&& mydir=$(CDPATH='' cd -P -- "$mydir/.." && printf '%sX' "$PWD") \
|
|
&& mydir=${mydir%X} \
|
|
|| exit
|
|
|
|
# Check if there is a ksh to test.
|
|
case ${KSH+set} in
|
|
( '' ) myarch=$("$mydir/bin/package" host) || exit
|
|
KSH=$mydir/arch/$myarch/bin/ksh ;;
|
|
esac
|
|
if ! test -x "$KSH" || ! test -f "$KSH"; then
|
|
printf '%s: shell not found: %s\n' "${0##*/}" "$KSH" >&2
|
|
printf 'Specify a shell like: KSH=path/to/ksh bin/shtests\n' >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Ensure absolute path to ksh
|
|
KSH=$(CDPATH='' cd -P -- "$(dirname "$KSH")" \
|
|
&& printf '%s/%sX' "$PWD" "${KSH##*/}") \
|
|
&& KSH=${KSH%X}
|
|
|
|
# Run the test suite
|
|
CDPATH='' cd -P -- "$mydir/src/cmd/ksh93/tests" || exit
|
|
SHELL=$KSH
|
|
export SHELL
|
|
unset -v KSH
|
|
printf '#### Regression-testing %s ####\n' "$SHELL"
|
|
exec "$SHELL" shtests "$@"
|