#!/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