prole/tests/shellspec/.vendor/shellspec-0.28.1/libexec/shellspec-prechecker.sh
chrisfu 909e92109e Refactor shell layout; add shellspec + authority
- Introduce lib/shell helpers and keep etc/* scripts thin via compatibility shims

- Move Kerberos validation to scripts/validation/check_kerberos.sh and update callers

- Add deterministic shellspec unit tests under tests/shellspec/ and wire Maven to run them

- Add minimal Spring Boot authority module with startup + /health endpoint and Maven wiring

- Document the new layout in docs/layout.md

Co-authored-by: Junie <junie@jetbrains.com>
2026-03-13 09:19:56 -07:00

61 lines
1.9 KiB
Bash
Executable File

#!/bin/sh
# shellcheck disable=SC1090,SC2016,SC2034,SC2064
. "${SHELLSPEC_LIB:-./lib}/libexec/prechecker.sh"
warn_fd=2 status_file=""
while [ $# -gt 0 ]; do
case ${1:-} in
--warn-fd=*) warn_fd=${1#*\=} ;;
--status-file=*) status_file=${1#*\=} ;;
*) break ;;
esac
shift
done
: > "$status_file"
work="$status_file'" && status_file=''
while [ "$work" ]; do
status_file="$status_file${work%%\'*}'\''"
work=${work#*\'}
done
status_file=${status_file%????}
code='xs=${xs:-$?} mod=${1:-"<module>"};'
code="${code}if [ \"\${loaded:-}\" ]; then"
code="${code} echo \"\$xs\" > '${status_file:-/dev/null}';"
code="${code}else"
code="${code} \"\${SHELLSPEC_SLEEP:-sleep}\" 0;"
code="${code} echo \"Skip precheck because an error (\$xs) occurred when loading the module '\$mod'\";"
code="${code} echo \"Since ShellSpec 0.28.0, modules are loaded earlier, so it is no longer possible\";"
code="${code} echo \"to call shellspec's internal functions from the top level of the module.\";"
code="${code} echo \"If the module worked in an earlier ShellSpec version, move those codes to\";"
code="${code} echo \"the function \${mod}_loaded or \${mod}_configure (recommended).\";"
code="${code} echo \"The process will continue for compatibility, but will abort here in the future.\";"
# TODO abort here in the future
# code="${code} echo \"\$xs\" > '${status_file:-/dev/null}';"
code="${code}fi >&$warn_fd"
trap "$code" EXIT
unset code warn_fd status_file work
{
while [ $# -gt 0 ] && [ "${xs:-0}" -eq 0 ]; do
set -- "${1##*/}" "$@"
set -- "${1%%.*}" "$@"
unset success xs loaded ||:
eval "$1_precheck() { :; }"
. "$3"
unset success xs loaded ||:
set +e
{ success=$( set -eu; eval "$1_precheck" >&7; xs=$?; [ "$xs" -eq 0 ] || exit "$xs"; echo 1 ); } 7>&1
xs=$? loaded=1
unset -f "$1_precheck"
[ "$success" ] || break
[ "$xs" -eq 0 ] || break
shift 3
done
[ "$success" ] && trap - EXIT
exit "$xs"
}