1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-02-15 04:32:24 +00:00
cde/bin/shtests
Martijn Dekker 2e7602da2a Add bin/shtests, convenient wrapper for regression tests
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)
2020-06-12 01:45:13 +02:00

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 "$@"