Files
linuxcncAllWasm/tests/halcompile/personalities_mod/test.sh
2026-08-20 06:17:39 +08:00

36 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
set -e
${SUDO} halcompile --personalities=2 --install lincurve_test.comp
${SUDO} halcompile --personalities=2 --install logic_test.comp
${SUDO} halcompile --personalities=2 --install bitslice_test.comp
# This tells us the expected filename extension ${MODULE_EXT} of realtime
# modules.
if [[ -f "${EMC2_HOME}/scripts/rtapi.conf" ]]; then
source "${EMC2_HOME}/scripts/rtapi.conf"
else
source "/etc/linuxcnc/rtapi.conf"
fi
for INSTALLED_FILE in "${RTLIB_DIR}"/{lincurve_test,logic_test,bitslice_test}"${MODULE_EXT}"; do
if [[ ! -f "${INSTALLED_FILE}" ]]; then
echo "'halcompile --install' did not install '${INSTALLED_FILE}'"
exit 1
fi
MODE=$(stat --printf '%#03a\n' "${INSTALLED_FILE}")
if [[ $((MODE & 0111)) != '0' ]]; then
echo "installed file '${INSTALLED_FILE}' has incorrect permissions"
echo "expected no execute bits, got ${MODE}"
exit 1
fi
done
for HAL in *.hal; do
echo "testing '$HAL'"
BASE=$(basename "$HAL" .hal)
# use -s to avoid different user assignments in show output
halrun -s "$HAL" >| "$BASE".result
done